[#106355] [Ruby master Bug#18373] RBS build failure: '/include/x86_64-linux/ruby/config.h', needed by 'constants.o'. — "vo.x (Vit Ondruch)" <noreply@...>
Issue #18373 has been reported by vo.x (Vit Ondruch).
28 messages
2021/12/01
[ruby-core:106495] [Ruby master Bug#18389] `binding.irb` can fail in some classes that implement `context` and `print` methods.
From:
"ioquatix (Samuel Williams)" <noreply@...>
Date:
2021-12-05 22:15:49 UTC
List:
ruby-core #106495
Issue #18389 has been reported by ioquatix (Samuel Williams).
----------------------------------------
Bug #18389: `binding.irb` can fail in some classes that implement `context` and `print` methods.
https://bugs.ruby-lang.org/issues/18389
* Author: ioquatix (Samuel Williams)
* Status: Open
* Priority: Normal
* Assignee: aycabta (aycabta .)
* Backport: 2.6: UNKNOWN, 2.7: UNKNOWN, 3.0: UNKNOWN
----------------------------------------
```ruby
class Foo
def boop
binding.irb
end
def context
end
def print
end
end
Foo.new.boop
```
It fails with:
```
> ruby ./test.rb
From: ./test.rb @ line 3 :
1: class Foo
2: def boop
=> 3: binding.irb
4: end
5:
6: def context
7: end
8:
./test.rb:9:in `print': wrong number of arguments (given 1, expected 0) (ArgumentError)
from /Users/samuel/.gem/ruby/3.0.3/gems/irb-1.3.7/lib/irb/extend-command.rb:238:in `install_alias_method'
from /Users/samuel/.gem/ruby/3.0.3/gems/irb-1.3.7/lib/irb/extend-command.rb:252:in `block in extend_object'
from /Users/samuel/.gem/ruby/3.0.3/gems/irb-1.3.7/lib/irb/extend-command.rb:251:in `each'
from /Users/samuel/.gem/ruby/3.0.3/gems/irb-1.3.7/lib/irb/extend-command.rb:251:in `extend_object'
from /Users/samuel/.gem/ruby/3.0.3/gems/irb-1.3.7/lib/irb.rb:466:in `extend'
from /Users/samuel/.gem/ruby/3.0.3/gems/irb-1.3.7/lib/irb.rb:466:in `initialize'
from /Users/samuel/.gem/ruby/3.0.3/gems/irb-1.3.7/lib/irb.rb:959:in `new'
from /Users/samuel/.gem/ruby/3.0.3/gems/irb-1.3.7/lib/irb.rb:959:in `irb'
from <internal:prelude>:5:in `irb'
from ./test.rb:3:in `boop'
from ./test.rb:13:in `<main>'
```
I suggest that `binding.irb` should be a little bit less invasive to avoid these kinds of issues.
--
https://bugs.ruby-lang.org/
Unsubscribe: <mailto:ruby-core-request@ruby-lang.org?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>