aboutsummaryrefslogtreecommitdiffhomepage
path: root/test-suite/bugs/closed/4294.v
diff options
context:
space:
mode:
authorGravatar Matthieu Sozeau <matthieu.sozeau@inria.fr>2015-10-01 15:40:17 +0200
committerGravatar Matthieu Sozeau <mattam@mattam.org>2015-10-02 15:54:13 +0200
commitd4869e059bfb73d99e1f5ef1b0a1f0906fa27056 (patch)
tree7423c05712096bd870f3985eaad94d5daefeea72 /test-suite/bugs/closed/4294.v
parent90a2126b2fb2738a7684864e74e0d1ed3c861a98 (diff)
Univs: correct handling of with in modules
For polymorphic and non-polymorphic parameters and definitions, fixes bugs #4298, #4294
Diffstat (limited to 'test-suite/bugs/closed/4294.v')
-rw-r--r--test-suite/bugs/closed/4294.v31
1 files changed, 31 insertions, 0 deletions
diff --git a/test-suite/bugs/closed/4294.v b/test-suite/bugs/closed/4294.v
new file mode 100644
index 000000000..1d5e3c71b
--- /dev/null
+++ b/test-suite/bugs/closed/4294.v
@@ -0,0 +1,31 @@
+Require Import Hurkens.
+
+Module NonPoly.
+Module Type Foo.
+ Definition U := Type.
+ Parameter eq : Type = U.
+End Foo.
+
+Module M : Foo with Definition U := Type.
+ Definition U := Type.
+ Definition eq : Type = U := eq_refl.
+End M.
+
+Print Universes.
+Fail Definition bad : False := TypeNeqSmallType.paradox M.U M.eq.
+End NonPoly.
+
+Set Universe Polymorphism.
+
+Module Type Foo.
+ Definition U := Type.
+ Monomorphic Parameter eq : Type = U.
+End Foo.
+
+Module M : Foo with Definition U := Type.
+ Definition U := Type.
+ Monomorphic Definition eq : Type = U := eq_refl.
+End M.
+
+Fail Definition bad : False := TypeNeqSmallType.paradox Type M.eq.
+(* Print Assumptions bad. *)