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
diff --git engine/runtime-integration-tests/src/test/java/org/enso/compiler/ExecCompilerTest.java engine/runtime-integration-tests/src/test/java/org/enso/compiler/ExecCompilerTest.java
index d83891b7b5..b2ebe5bc4f 100644
--- engine/runtime-integration-tests/src/test/java/org/enso/compiler/ExecCompilerTest.java+++ engine/runtime-integration-tests/src/test/java/org/enso/compiler/ExecCompilerTest.java@@ -90,6 +90,25 @@ public class ExecCompilerTest {
}
}
+ @Test+ public void testDoubleAssignmentError() throws Exception {+ var module =+ ctx.eval(+ LanguageInfo.ID,+ """+ from Standard.Base import all++ main =+ node1 = node3 = get 3+ """);+ try {+ var run = module.invokeMember("eval_expression", "main");+ fail("Unexpected result: " + run);+ } catch (PolyglotException ex) {+ assertEquals("", ex.getMessage());+ }+ }+
@Test
public void testDesugarOperatorsLeftRight() throws Exception {
var module = ctx.eval(LanguageInfo.ID, """
it was actually pretty tricky to find the test case, as the same program yields normal compilation errors when executed from CLI. One really has to run in IDE's "non-strict errors" mode.
@kaz, the node3 = get 3 in node1 = node3 = get 3 is represented as application of function/operator named =. Is that desirable? Shouldn't = be a reserved keyword and not an operator?
The question is who should reject that syntax? parser? TreeToIr? Or some later phase in the compiler?
Add a unconnected component
And you get the above internal error and things don't work right
The text was updated successfully, but these errors were encountered: