summaryrefslogtreecommitdiff
path: root/test-suite/bugs/closed/3289.v
diff options
context:
space:
mode:
Diffstat (limited to 'test-suite/bugs/closed/3289.v')
-rw-r--r--test-suite/bugs/closed/3289.v27
1 files changed, 27 insertions, 0 deletions
diff --git a/test-suite/bugs/closed/3289.v b/test-suite/bugs/closed/3289.v
new file mode 100644
index 00000000..4542b015
--- /dev/null
+++ b/test-suite/bugs/closed/3289.v
@@ -0,0 +1,27 @@
+(* File reduced by coq-bug-finder from original input, then from 1829 lines to 37 lines, then from 47 lines to 18 lines *)
+
+Class Contr_internal (A : Type) :=
+ BuildContr { center : A ;
+ contr : (forall y : A, True) }.
+Class Contr A := Contr_is_contr : Contr_internal A.
+Inductive Unit : Set := tt.
+Instance contr_unit : Contr Unit | 0 :=
+ let x := {|
+ center := tt;
+ contr := fun t : Unit => I
+ |} in x. (* success *)
+
+Instance contr_internal_unit' : Contr_internal Unit | 0 :=
+ {|
+ center := tt;
+ contr := fun t : Unit => I
+ |}.
+
+Instance contr_unit' : Contr Unit | 0 :=
+ {|
+ center := tt;
+ contr := fun t : Unit => I
+ |}.
+(* Error: Mismatched contexts while declaring instance:
+ Expected: (Contr_is_contr : Contr_internal _UNBOUND_REL_1)
+ Found: tt (fun t : Unit => I) *)