diff options
author | 卜部昌平 <shyouhei@ruby-lang.org> | 2020-08-14 14:45:23 +0900 |
---|---|---|
committer | 卜部昌平 <shyouhei@ruby-lang.org> | 2020-08-15 12:09:26 +0900 |
commit | ff30358d13d24d8202f2717c43700be70bdd49d3 (patch) | |
tree | 32757f4895a67fefcfb4830e40e2206a7ac388f7 /enumerator.c | |
parent | 72d0f2f0e0546a4c7c3b9ec85d3f67a36e9c5038 (diff) | |
download | ruby-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.c | 3 |
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; |