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) |
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.
Notes
Notes:
Merged: https://github.com/ruby/ruby/pull/3419
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; |