diff options
author | Matthieu Sozeau <mattam@mattam.org> | 2015-10-07 13:11:52 +0200 |
---|---|---|
committer | Matthieu Sozeau <mattam@mattam.org> | 2015-10-07 13:17:11 +0200 |
commit | d37aab528dca587127b9f9944e1521e4fc3d9cc7 (patch) | |
tree | 3d8db828b3e6644c924a75592dded2a168fbeb59 /test-suite/bugs/closed/4299.v | |
parent | 840155eafd9607c7656c80770de1e2819fe56a13 (diff) |
Univs: add Strict Universe Declaration option (on by default)
This option disallows "declare at first use" semantics for universe
variables (in @{}), forcing the declaration of _all_ universes appearing
in a definition when introducing it with syntax Definition/Inductive
foo@{i j k} .. The bound universes at the end of a definition/inductive
must be exactly those ones, no extras allowed currently.
Test-suite files using the old semantics just disable the option.
Diffstat (limited to 'test-suite/bugs/closed/4299.v')
-rw-r--r-- | test-suite/bugs/closed/4299.v | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/test-suite/bugs/closed/4299.v b/test-suite/bugs/closed/4299.v new file mode 100644 index 000000000..955c3017d --- /dev/null +++ b/test-suite/bugs/closed/4299.v @@ -0,0 +1,12 @@ +Unset Strict Universe Declaration. +Set Universe Polymorphism. + +Module Type Foo. + Definition U := Type : Type. + Parameter eq : Type = U. +End Foo. + +Module M : Foo with Definition U := Type : Type. + Definition U := let X := Type in Type. + Definition eq : Type = U := eq_refl. +Fail End M.
\ No newline at end of file |