Actions
Bug #13074
closedWhen executing instance_exec with symbol.to_proc, it ignores first argument.
Description
Is this intentional?
# Ruby 2.3.3
« instance_exec(1) { |i| i.itself }
=> 1
« instance_exec(1, &:itself)
=> 1
# Ruby 2.4.0
« instance_exec(1) { |i| i.itself }
=> 1
« instance_exec(1, &:itself)
=> main
Updated by alpaca-tc (Hiroyuki Ishii) almost 8 years ago
- Subject changed from When execute instance_exec with symbol.to_proc, it ignores first argument. to When executing instance_exec with symbol.to_proc, it ignores first argument.
Updated by nobu (Nobuyoshi Nakada) almost 8 years ago
- Status changed from Open to Closed
Applied in changeset r57194.
vm_eval.c: Symbol#to_proc and instance_exec
- vm_eval.c (yield_under): should evaluate the proc on the first
argument. [ruby-core:78839] [Bug #13074]
Updated by nobu (Nobuyoshi Nakada) almost 8 years ago
- Has duplicate Bug #13087: Regression of instance_exec behaviour in ruby 2.4 added
Updated by naruse (Yui NARUSE) almost 8 years ago
- Backport changed from 2.1: UNKNOWN, 2.2: UNKNOWN, 2.3: UNKNOWN, 2.4: UNKNOWN to 2.1: DONTNEED, 2.2: DONTNEED, 2.3: DONTNEED, 2.4: REQUIRED
Updated by naruse (Yui NARUSE) almost 8 years ago
- Backport changed from 2.1: DONTNEED, 2.2: DONTNEED, 2.3: DONTNEED, 2.4: REQUIRED to 2.1: DONTNEED, 2.2: DONTNEED, 2.3: DONTNEED, 2.4: DONE
ruby_2_4 r57834 merged revision(s) 57194.
Updated by nobu (Nobuyoshi Nakada) over 7 years ago
- Related to Bug #13370: instance_exec occurs "no receiver given (ArgumentError)" added
Actions
Like0
Like0Like0Like0Like0Like0Like0