aboutsummaryrefslogtreecommitdiff
path: root/tests/run/t7584.scala
diff options
context:
space:
mode:
Diffstat (limited to 'tests/run/t7584.scala')
-rw-r--r--tests/run/t7584.scala14
1 files changed, 14 insertions, 0 deletions
diff --git a/tests/run/t7584.scala b/tests/run/t7584.scala
new file mode 100644
index 000000000..f134b04a5
--- /dev/null
+++ b/tests/run/t7584.scala
@@ -0,0 +1,14 @@
+// Test case added to show the behaviour of functions with
+// by-name parameters. The evaluation behaviour was already correct.
+//
+// We did flush out a spurious "pure expression does nothing in statement position"
+// warning, hence -Xfatal-warnings in the flags file.
+object Test extends dotty.runtime.LegacyApp {
+ def foo(f: (=> Int, => Int) => Unit) = f({println("a"); 0}, {println("b"); 1})
+ println("no calls")
+ foo((a, b) => ())
+ println("call A")
+ foo((a, b) => a)
+ println("call B twice")
+ foo((a, b) => {b; b})
+}