From 07620386b3c1b535ee7e43306a6345f015a318f0 Mon Sep 17 00:00:00 2001 From: Hugo Herbelin Date: Mon, 31 Aug 2015 20:53:45 +0200 Subject: Fixing #1225: we now skip the canonically built binding contexts of the return clause and of the branches in a "match", computing them automatically when using the "at" clause of pattern, destruct, ... In principle, this is a source of incompatibilities in the numbering, since the internal binders of a "match" are now skipped. We shall deal with that later on. --- test-suite/bugs/closed/1225.v | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 test-suite/bugs/closed/1225.v (limited to 'test-suite') diff --git a/test-suite/bugs/closed/1225.v b/test-suite/bugs/closed/1225.v new file mode 100644 index 0000000000..a7799b35fe --- /dev/null +++ b/test-suite/bugs/closed/1225.v @@ -0,0 +1,12 @@ +(* Taking automatically into account internal dependencies of a |match] *) + +Let a n := @exist nat _ _ (refl_equal (n + 1)). +Goal let (n, _) := a 3 in n = 4. +pattern 3 at 1. +Abort. + +Goal match refl_equal 0 in _ = n return n = 0 with + | refl_equal => refl_equal 0 + end = refl_equal 0. +pattern 0 at 1 2 3 4 5 6. +Abort. -- cgit v1.2.3