aboutsummaryrefslogtreecommitdiff
path: root/test-suite
diff options
context:
space:
mode:
authorHugo Herbelin2018-12-30 20:49:34 +0100
committerHugo Herbelin2018-12-30 22:10:22 +0100
commit9d0c0a903aa8ed6514dbc363ff4571d7cad70687 (patch)
treec22a4b59b960f06cd41137e5fd6161aa8aa525b2 /test-suite
parentf41c48c98836d0e825e8923a8ae4da5b872d46b3 (diff)
Fixing an interpretation bug of the "in" clause of "match".
- The head of "in" was wrongly considered binding - Aliases in the "in" pattern were not taken into account
Diffstat (limited to 'test-suite')
-rw-r--r--test-suite/success/Cases.v9
1 files changed, 9 insertions, 0 deletions
diff --git a/test-suite/success/Cases.v b/test-suite/success/Cases.v
index 52fe98ac07..232ac17cbf 100644
--- a/test-suite/success/Cases.v
+++ b/test-suite/success/Cases.v
@@ -1873,3 +1873,12 @@ Check match niln in listn O return O=O with niln => eq_refl end.
(* (was failing up to May 2017) *)
Check fun x => match x with (y,z) as t as w => (y+z,t) = (0,w) end.
+
+(* A test about binding variables of "in" clause of "match" *)
+(* (was failing from 8.5 to Dec 2018) *)
+
+Check match O in nat return nat with O => O | _ => O end.
+
+(* Checking that aliases are substituted in the correct order *)
+
+Check match eq_refl (1,0) in _ = (y as z, y' as z) return z = z with eq_refl => eq_refl end : 0=0.