diff options
| author | Hugo Herbelin | 2018-12-30 20:49:34 +0100 |
|---|---|---|
| committer | Hugo Herbelin | 2018-12-30 22:10:22 +0100 |
| commit | 9d0c0a903aa8ed6514dbc363ff4571d7cad70687 (patch) | |
| tree | c22a4b59b960f06cd41137e5fd6161aa8aa525b2 /test-suite | |
| parent | f41c48c98836d0e825e8923a8ae4da5b872d46b3 (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.v | 9 |
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. |
