File tree Expand file tree Collapse file tree 2 files changed +6
-2
lines changed
spec/ruby/core/refinement
src/main/ruby/truffleruby/core Expand file tree Collapse file tree 2 files changed +6
-2
lines changed Original file line number Diff line number Diff line change 11
11
Module . new do
12
12
refine c do
13
13
called = false
14
- define_method ( :extend_object ) { called = true }
15
- proc { c . extend ( self ) } . should raise_error ( TypeError )
14
+ define_method ( :extend_object ) { called = true }
15
+ -> {
16
+ c . extend ( self )
17
+ } . should raise_error ( TypeError )
16
18
called . should == false
17
19
end
18
20
end
Original file line number Diff line number Diff line change @@ -327,6 +327,8 @@ def extend(*modules)
327
327
modules . reverse_each do |mod |
328
328
if !Primitive . is_a? ( mod , Module ) or Primitive . is_a? ( mod , Class )
329
329
raise TypeError , "wrong argument type #{ Primitive . class ( mod ) } (expected Module)"
330
+ elsif Primitive . is_a? ( mod , Refinement )
331
+ raise TypeError , 'Cannot extend object with refinement'
330
332
end
331
333
332
334
mod . __send__ :extend_object , self
You can’t perform that action at this time.
0 commit comments