New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Failing tests on cancancan #2418
Comments
Thanks for the report, it seems there is a
|
I am not sure what this means 😅 |
We'll investigate, probably some unusual use of |
this is the only |
Changing
We're missing the first entry in the Ruby stacktrace, but it is exteremly likely to be https://github.com/CanCanCommunity/cancancan/blob/4254891b8b29a325c7fc9ff5a8d1e31db687a963/lib/cancan/matchers.rb#L16 So Kernel.const_get(rspec_module)::Matchers.define :be_able_to do |*args|
match do |ability|
actions = args.first
if actions.is_a? Array
break false if actions.empty? the |
Simpler reproducer: define_method :foo do
break 42
end
p foo
|
It's a regression from the optimization of moving more behavior into RootNode's. truffleruby/src/main/java/org/truffleruby/core/module/ModuleNodes.java Lines 1332 to 1334 in 77fe339
But RubyLambdaRootNode does extra things (redo, break, next, the rest is the same) compared to RubyMethodRootNode and that's why we have this issue. |
@coorasse I have a fix now, it's in the merge queue. I would recommend to change the upstream code (use a natural return value instead of |
* As that causes an issue with TruffleRuby 21.2.0: oracle/truffleruby#2418
…reserve lambda semantics * Fixes oracle#2418 * Remove RubyRootNode#getBody() as it feels like an anti-pattern (it discards semantics in the RootNode and instrumentation nodes might be in between). * Make Symbol#to_proc use a RubyLambdaRootNode for consistency and simplicity.
Hi @eregon , there seems to be an issue in the latest cancancan test suite running on truffleruby: https://github.com/CanCanCommunity/cancancan/runs/3220131164?check_suite_focus=true
No big information in the log, just to report it here.
The text was updated successfully, but these errors were encountered: