Project

General

Profile

Bug #13074

When executing instance_exec with symbol.to_proc, it ignores first argument.

Added by alpaca-tc (Hiroyuki Ishii) almost 4 years ago. Updated over 3 years ago.

Status:
Closed
Priority:
Normal
Assignee:
-
Target version:
-
[ruby-core:78839]

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

Related issues

Related to Ruby master - Bug #13370: instance_exec occurs "no receiver given (ArgumentError)"RejectedActions
Has duplicate Ruby master - Bug #13087: Regression of instance_exec behaviour in ruby 2.4ClosedActions

Updated by alpaca-tc (Hiroyuki Ishii) almost 4 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.
#2

Updated by nobu (Nobuyoshi Nakada) almost 4 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]
#3

Updated by nobu (Nobuyoshi Nakada) almost 4 years ago

  • Has duplicate Bug #13087: Regression of instance_exec behaviour in ruby 2.4 added

Updated by naruse (Yui NARUSE) almost 4 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) over 3 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.

#6

Updated by nobu (Nobuyoshi Nakada) over 3 years ago

  • Related to Bug #13370: instance_exec occurs "no receiver given (ArgumentError)" added

Also available in: Atom PDF