You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
org.enso.interpreter.dsl.MethodProcessor generates code for every builtin method in such a way that it removes all the warnings from all the arguments, except for self, and then reattaches these gathered warnings to the result. It does that by checking if (arg instanceof WithWarnings) which is incorrect, it should be replaced by WarningsLibrary.hasWarnings(arg). Moreover, the lack of warnings removal from the self argument is suspicious, since you have to take care of the warnings in the builtin method manually.
This might cause problems especially for vectors, for which, if one of the elements has a warning attached, it is propagated to the whole vector and sometimes duplicated across other elements.
The content you are editing has changed. Please copy your edits and refresh the page.
Regarding warnings on self. I think that part will have to stay in order to be able to do dispatch on Warning correctly. This was for example needed for #6176.
org.enso.interpreter.dsl.MethodProcessor
generates code for every builtin method in such a way that it removes all the warnings from all the arguments, except forself
, and then reattaches these gathered warnings to the result. It does that by checkingif (arg instanceof WithWarnings)
which is incorrect, it should be replaced byWarningsLibrary.hasWarnings(arg)
. Moreover, the lack of warnings removal from theself
argument is suspicious, since you have to take care of the warnings in the builtin method manually.This might cause problems especially for vectors, for which, if one of the elements has a warning attached, it is propagated to the whole vector and sometimes duplicated across other elements.
Tasks
Related:
The text was updated successfully, but these errors were encountered: