Enumerators created by methods that normally take blocks does not preserve keyword argument status. Generally the keyword status passed in callInfo is handled at the time of call, but when it is passed in, cleared, and then an Enumerator is produced, it needs to also carry with it the original arguments and kwarg status.
Leads to issues like test/mri/pathname/test_pathname.rb's test_each_line_opts which creates an Enumerator from Pathname#each_line and passes in kwargs. These kwargs get captured for the Enumerator, but the keyword status is lost.
Enumerators created by methods that normally take blocks does not preserve keyword argument status. Generally the keyword status passed in
callInfois handled at the time of call, but when it is passed in, cleared, and then an Enumerator is produced, it needs to also carry with it the original arguments and kwarg status.Leads to issues like test/mri/pathname/test_pathname.rb's
test_each_line_optswhich creates an Enumerator from Pathname#each_line and passes in kwargs. These kwargs get captured for the Enumerator, but the keyword status is lost.