summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoralainfrisch <alain@frisch.fr>2017-10-11 11:01:29 +0200
committeralainfrisch <alain@frisch.fr>2017-10-11 11:01:59 +0200
commita975dca5dc73ea0ec82030b2e19175d5858d11ea (patch)
tree3b7c5450d4f7beac746ef42bb8eb26499e80b8be
parent241c5bd30e1e9a3b6f5dcdd589dafd2a5c670240 (diff)
downloadocaml-a975dca5dc73ea0ec82030b2e19175d5858d11ea.tar.gz
Add test.
-rwxr-xr-xtestsuite/tests/basic/pr7657.ml13
-rw-r--r--testsuite/tests/basic/pr7657.reference3
2 files changed, 16 insertions, 0 deletions
diff --git a/testsuite/tests/basic/pr7657.ml b/testsuite/tests/basic/pr7657.ml
new file mode 100755
index 0000000000..8803cf3428
--- /dev/null
+++ b/testsuite/tests/basic/pr7657.ml
@@ -0,0 +1,13 @@
+[@@@ocaml.warning "-21-5"]
+
+let foo g () = g 1; ()
+let f1 ?x y = print_endline "f1"
+let f2 ?x y = print_endline "f2"
+
+let () =
+ try foo (raise Exit; f1); print_endline "FAIL"
+ with Exit -> print_endline "OK"
+
+let r : (?x:unit -> int -> unit) ref = ref f1
+let h = foo r.contents
+let () = h (); r := f2; h ()
diff --git a/testsuite/tests/basic/pr7657.reference b/testsuite/tests/basic/pr7657.reference
new file mode 100644
index 0000000000..2268fbef8d
--- /dev/null
+++ b/testsuite/tests/basic/pr7657.reference
@@ -0,0 +1,3 @@
+OK
+f1
+f1