• C
    Explicitly unpack the expanded args to avoid execution order diff. · 5f382d41
    Charles Oliver Nutter 提交于
    In https://bugs.ruby-lang.org/issues/12860 I argue that MRI's
    execution order here is incorrect. The splatting of the 'c' args
    should happen before the shift, but it happens after. On JRuby, it
    behaves the way you would expect, leading to the 'c' args splat
    still containing the block and producing an error like "cannot
    convert proc to symbol" when the send attempts to coerce
    it.
    
    This patch makes the unpacking order explicit with a multi-assign,
    which behaves properly on all implementations I tested.
    5f382d41
callbacks.rb 28.7 KB