aboutsummaryrefslogtreecommitdiffhomepage
path: root/test-suite/bugs/closed
diff options
context:
space:
mode:
authorGravatar herbelin <herbelin@85f007b7-540e-0410-9357-904b9bb8a0f7>2013-04-17 15:00:20 +0000
committerGravatar herbelin <herbelin@85f007b7-540e-0410-9357-904b9bb8a0f7>2013-04-17 15:00:20 +0000
commitfa40a7313918a8f7f37fb5a9620b6c1354dde9e0 (patch)
tree7224648edd37a3e0f8fc79aab2c589100a172cb3 /test-suite/bugs/closed
parent977ddfd1ad41a5620fa4462ff9066f50084f06e7 (diff)
Like in r16346, do not filter local definitions (here in the
type-based second-order unification algorithm). In type-based second-order unification algorithm, protect local definitions in instances of evars to wrongly be considered as potentially flexible. Altogether, this fixes the anomaly in #3003 (even if some additional work has to be done to improve the resulting error message, see next commit). git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@16414 85f007b7-540e-0410-9357-904b9bb8a0f7
Diffstat (limited to 'test-suite/bugs/closed')
-rw-r--r--test-suite/bugs/closed/3003.v12
1 files changed, 12 insertions, 0 deletions
diff --git a/test-suite/bugs/closed/3003.v b/test-suite/bugs/closed/3003.v
new file mode 100644
index 000000000..2f8bcdae7
--- /dev/null
+++ b/test-suite/bugs/closed/3003.v
@@ -0,0 +1,12 @@
+(* This used to raise an anomaly in 8.4 and trunk up to 17 April 2013 *)
+
+Set Implicit Arguments.
+
+Inductive path (V : Type) (E : V -> V -> Type) (s : V) : V -> Type :=
+ | NoEdges : path E s s
+ | AddEdge : forall d d' : V, path E s d -> E d d' -> path E s d'.
+Inductive G_Vertex := G_v0 | G_v1.
+Inductive G_Edge : G_Vertex -> G_Vertex -> Set := G_e : G_Edge G_v0 G_v1.
+Goal forall x1 : G_Edge G_v1 G_v1, @AddEdge _ G_Edge G_v1 _ _ (NoEdges _ _) x1 = NoEdges _ _.
+intro x1.
+try destruct x1. (* now raises a typing error *)