aboutsummaryrefslogtreecommitdiff
path: root/tests/disabled/not-representable/pos/t8111.scala
diff options
context:
space:
mode:
Diffstat (limited to 'tests/disabled/not-representable/pos/t8111.scala')
-rw-r--r--tests/disabled/not-representable/pos/t8111.scala25
1 files changed, 25 insertions, 0 deletions
diff --git a/tests/disabled/not-representable/pos/t8111.scala b/tests/disabled/not-representable/pos/t8111.scala
new file mode 100644
index 000000000..04a8e20de
--- /dev/null
+++ b/tests/disabled/not-representable/pos/t8111.scala
@@ -0,0 +1,25 @@
+// structural types, cannot represent
+trait T {
+
+ def crashy(ma: Any): Unit = {
+ // okay
+ val f1 = (u: Unit) => ma
+ foo(f1)()
+ foo((u: Unit) => ma)
+ foo(0, (u: Any) => ma) apply ()
+
+ // crash due to side effects on the onwer of the symbol in the
+ // qualifier or arguments of the application during an abandoned
+ // names/defaults transform. The code type checkes because of
+ // autp-tupling which promotes and empty parmater list to `(): Unit`
+ foo((u: Any) => ma)()
+
+ {{(u: Any) => ma}; this}.foo(0)()
+
+ foo({def foo = ma; 0})()
+
+ {def foo = ma; this}.foo(0)()
+ }
+
+ def foo(f: Any): Any => Any
+}