aboutsummaryrefslogtreecommitdiffstats
path: root/enumerator.c
diff options
context:
space:
mode:
author卜部昌平 <shyouhei@ruby-lang.org>2020-08-14 14:45:23 +0900
committer卜部昌平 <shyouhei@ruby-lang.org>2020-08-15 12:09:26 +0900
commitff30358d13d24d8202f2717c43700be70bdd49d3 (patch)
tree32757f4895a67fefcfb4830e40e2206a7ac388f7 /enumerator.c
parent72d0f2f0e0546a4c7c3b9ec85d3f67a36e9c5038 (diff)
downloadruby-ff30358d13d24d8202f2717c43700be70bdd49d3.tar.gz
RARRAY_AREF: convert into an inline function
RARRAY_AREF has been a macro for reasons. We might not be able to change that for public APIs, but why not relax the situation internally to make it an inline function.
Diffstat (limited to 'enumerator.c')
-rw-r--r--enumerator.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/enumerator.c b/enumerator.c
index 77cf565eec..3ea308a7cd 100644
--- a/enumerator.c
+++ b/enumerator.c
@@ -2087,7 +2087,8 @@ lazy_flat_map_proc(VALUE proc_entry, struct MEMO *result, VALUE memos, long memo
long i;
LAZY_MEMO_RESET_BREAK(result);
for (i = 0; i + 1 < RARRAY_LEN(ary); i++) {
- lazy_yielder_yield(result, proc_index, 1, &RARRAY_AREF(ary, i));
+ const VALUE argv = RARRAY_AREF(ary, i);
+ lazy_yielder_yield(result, proc_index, 1, &argv);
}
if (break_p) LAZY_MEMO_SET_BREAK(result);
if (i >= RARRAY_LEN(ary)) return 0;