-
-
Notifications
You must be signed in to change notification settings - Fork 933
Closed
Milestone
Description
Environment
- JRuby version: jruby 9.2.8.0 (2.5.3) 2019-08-12 a1ac7ff OpenJDK 64-Bit Server VM 25.232-b09 on 1.8.0_232-b09 +jit [linux-x86_64]
- Operating system and platform: Linux c2e6ee70592c 4.9.125-linuxkit break script engine #1 SMP Fri Sep 7 08:20:28 UTC 2018 x86_64 GNU/Linux
Expected Behavior
Expected this script to behave the same way as in MRI 2.6.5:
# test.rb
using(Module.new do
refine String do
def foo
"bar"
end
end
end)
eval "\n#{<<~'END_of_GUARD'}", binding, __FILE__, __LINE__
p "foo".foo
END_of_GUARD$ ruby -v
ruby 2.6.5p114 (2019-10-01 revision 67812) [x86_64-darwin18]
$ ruby test.rb
"bar"Actual Behavior
$ ruby -v
jruby 9.2.8.0 (2.5.3) 2019-08-12 a1ac7ff OpenJDK 64-Bit Server VM 25.232-b09 on 1.8.0_232-b09 +jit [linux-x86_64]
$ ruby test.rb
NoMethodError: undefined method `foo' for "foo":String
Did you mean? fork
<main> at tmp/eval_refine.rb:10
eval at org/jruby/RubyKernel.java:1061
<main> at tmp/eval_refine.rb:9Moving using into eval resolves the issue.
Metadata
Metadata
Assignees
Labels
No labels