summaryrefslogtreecommitdiff
path: root/chapter18/src/test
diff options
context:
space:
mode:
Diffstat (limited to 'chapter18/src/test')
-rw-r--r--chapter18/src/test/java/com/seaofnodes/simple/Chapter18Test.java12
1 files changed, 12 insertions, 0 deletions
diff --git a/chapter18/src/test/java/com/seaofnodes/simple/Chapter18Test.java b/chapter18/src/test/java/com/seaofnodes/simple/Chapter18Test.java
index 0e92c8c0..1d7abde5 100644
--- a/chapter18/src/test/java/com/seaofnodes/simple/Chapter18Test.java
+++ b/chapter18/src/test/java/com/seaofnodes/simple/Chapter18Test.java
@@ -259,6 +259,18 @@ for(;;) {
catch( Exception e ) { assertEquals("Accessing unknown field 'x' from '*S'",e.getMessage()); }
}
+ @Test
+ public void testErr5() {
+ CodeGen code = new CodeGen(
+"""
+val g = { ->
+ g();
+};
+return 0;
+""");
+ try { code.parse().opto().typeCheck(); fail(); }
+ catch( Exception e ) { assertEquals("No defined return type",e.getMessage()); }
+ }
// Mutual recursion. Fails without SCCP to lift the recursive return types.