Benoit Daloze
Benoit Daloze
Yes, we should be compatible there. IIRC the logic CRuby in CRuby for which part of the path to expand symlinks changed quite a bit over time, possibly we don't...
Does this issue happen in practice? It seems a change from 3.2, so I guess it would behave the same as TruffleRuby on CRuby 3.1 and before. cc @nirvdrum
FWIW, somewhat related: https://bugs.ruby-lang.org/issues/15554 > warning: use yield in eval will not be supported in Ruby 3. (although that's not the exact warning on CRuby master)
I'm a bit curious how IRB uses that method. I wish there would be no `Encoding::Converter`, only `String#encode`, but maybe that's not enough?
Found it: https://github.com/ruby/irb/blob/fd49135607e25eb3532f3464e7c59345b4001881/lib/irb.rb#L614-L634 Could that be done with `String#encode`'s various options? Maybe with a :fallback Proc? If it's possible, that seems a lot simpler.
FYI @ioquatix From a quick look the `sus` gem doesn't use TracePoints itself: https://github.com/search?q=repo%3Aioquatix%2Fsus%20TracePoint&type=code I'll try to investigate this when I have some time.
Related: https://github.com/oracle/truffleruby/issues/2371 Which might solve this, but we should understand why it doesn't work currently first.
Thank you for the report. Right, including the mixin in Base before Metal (with Base < Metal) is what allows the mixin to be twice in the ancestors, and that...
With: `gem install bcrypt` ```ruby require "bcrypt" require "benchmark" 100.times { |i| puts Benchmark.realtime { BCrypt::Password.create("test#{i}", cost: 5) } } ``` (all on Native) On `truffleruby 23.1.0-dev-9a349526, like ruby 3.1.3,...
Note that #3118 would address the compilation time because it wouldn't be runtime-compiled at all.