aboutsummaryrefslogtreecommitdiffhomepage
path: root/test-suite
diff options
context:
space:
mode:
authorGravatar herbelin <herbelin@85f007b7-540e-0410-9357-904b9bb8a0f7>2013-04-16 15:45:45 +0000
committerGravatar herbelin <herbelin@85f007b7-540e-0410-9357-904b9bb8a0f7>2013-04-16 15:45:45 +0000
commitfc40f3368f615e7e7faf242d2c82a39f1e08cb8c (patch)
treeb00c201b78569d59efbe0f13b8feec1892f7e3d3 /test-suite
parent3afd0028f5dac4ce551f59ba211ac8233b362af9 (diff)
Added regression test for bug #3023 which was solved by Matthieu's
commit r16134 (eta was missing in Flexible/Rigid and SemiFlexible/Rigid conversion problems). git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@16409 85f007b7-540e-0410-9357-904b9bb8a0f7
Diffstat (limited to 'test-suite')
-rw-r--r--test-suite/bugs/closed/3023.v31
1 files changed, 31 insertions, 0 deletions
diff --git a/test-suite/bugs/closed/3023.v b/test-suite/bugs/closed/3023.v
new file mode 100644
index 000000000..ed4895115
--- /dev/null
+++ b/test-suite/bugs/closed/3023.v
@@ -0,0 +1,31 @@
+(* Checking use of eta on Flexible/Rigid and SemiFlexible/Rigid unif problems *)
+
+Set Implicit Arguments.
+Generalizable All Variables.
+
+Record Category {obj : Type} :=
+ {
+ Morphism : obj -> obj -> Type;
+
+ Identity : forall x, Morphism x x;
+ Compose : forall s d d', Morphism d d' -> Morphism s d -> Morphism s d';
+ LeftIdentity : forall a b (f : Morphism a b), Compose (Identity b) f = f
+ }.
+
+
+Section DiscreteAdjoints.
+ Let C := {|
+ Morphism := (fun X Y : Type => X -> Y);
+ Identity := (fun X : Type => (fun x : X => x));
+ Compose := (fun _ _ _ f g => (fun x => f (g x)));
+ LeftIdentity := (fun X Y p => @eq_refl _ p : (fun x : X => p x) = p)
+ |}.
+ Variable ObjectFunctor : C = C.
+
+ Goal True.
+ Proof.
+ subst C.
+ revert ObjectFunctor.
+ intro ObjectFunctor.
+ simpl in ObjectFunctor.
+ revert ObjectFunctor. (* Used to failed in 8.4 up to 16 April 2013 *)