-
Notifications
You must be signed in to change notification settings - Fork 323
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
Equality does not swallow errors #9560
Conversation
@@ -82,8 +81,7 @@ public static EqualsNode getUncached() { | |||
* @param other the other object | |||
* @return {@code true} if {@code self} and {@code that} seem equal | |||
*/ | |||
public boolean execute( | |||
VirtualFrame frame, @AcceptsError Object self, @AcceptsError Object other) { | |||
public boolean execute(VirtualFrame frame, Object self, Object other) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If a builtin method does not handle DataflowError
itself, it should not annotate parameters with @AcceptsError
. In other words, if @AcceptsError
annotation is used, there should be a specialization that handles DataflowErrors.
Could you please also remove the workaround that was added because of the bug? It should be enough to revert this commit: 32f876d |
Pavel Marek reports a new STANDUP for today (2024-03-27): Progress: - Turns out I forgot to add the
|
Fixes #9283
Pull Request Description
42 == (Error.throw "foo")
now correctly returns anError
rather than FalseImportant Notes
The error was in the wrong usage of the
org.enso.interpreter.dsl.AcceptsError
DSL annotation.Checklist
Please ensure that the following checklist has been satisfied before submitting the PR:
Scala,
Java,
and
Rust
style guides. In case you are using a language not listed above, follow the Rust style guide.
./run ide build
.