Skip to content

Local variable not updated in closure state #5439

@yamam

Description

@yamam

Environment

jruby 9.2.3.0 (2.5.0) 2018-11-09 5833e2d Java HotSpot(TM) 64-Bit Server VM 25.191-b12 on 1.8.0_191-b12 +jit [mswin32-x86_64]

Expected Behavior

test.rb

var = 0

pr = proc do |v|
    puts "pr is called"
    if var == 0
        puts "ERROR!"
    end
end

def foo(&proc)
  proc.call
end

foo do
    begin
        var = 1
        puts "call pr"
        pr.call
    ensure
      var = 0
      puts "ensure end"
    end
end
jruby-9.2.0.0/bin/jruby test.rb
call pr
pr is called
ensure end

Actual Behavior

jruby-9.2.3.0/bin/jruby test.rb
call pr
pr is called
ERROR!
ensure end

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions