diff options
| author | Pierre-Marie Pédrot | 2016-02-19 14:27:31 +0100 |
|---|---|---|
| committer | Pierre-Marie Pédrot | 2016-02-19 14:29:59 +0100 |
| commit | 924d2833644735a9fa8289ffaa9bac9fbc43982c (patch) | |
| tree | 417e27f2cb630d8a16cc0bb527fd957c83df2c2f | |
| parent | d3012c8ac308b18272ddaa90c4eae7e517b63c7c (diff) | |
Fixing bug #4580: [Set Refine Instance Mode] also used for Program Instance.
| -rw-r--r-- | test-suite/bugs/closed/4580.v | 6 | ||||
| -rw-r--r-- | toplevel/classes.ml | 2 |
2 files changed, 7 insertions, 1 deletions
diff --git a/test-suite/bugs/closed/4580.v b/test-suite/bugs/closed/4580.v new file mode 100644 index 0000000000..4ffd5f0f4b --- /dev/null +++ b/test-suite/bugs/closed/4580.v @@ -0,0 +1,6 @@ +Require Import Program. + +Class Foo (A : Type) := foo : A. + +Unset Refine Instance Mode. +Program Instance f1 : Foo nat := S _. diff --git a/toplevel/classes.ml b/toplevel/classes.ml index f73dd5a2e6..5f73b70a2e 100644 --- a/toplevel/classes.ml +++ b/toplevel/classes.ml @@ -290,7 +290,7 @@ let new_instance ?(abstract=false) ?(global=false) poly ctx (instid, bk, cl) pro if not (Evd.has_undefined evm) && not (Option.is_empty term) then declare_instance_constant k pri global imps ?hook id pl poly evm (Option.get term) termtype - else if !refine_instance || Option.is_empty term then begin + else if Flags.is_program_mode () || !refine_instance || Option.is_empty term then begin let kind = Decl_kinds.Global, poly, Decl_kinds.DefinitionBody Decl_kinds.Instance in if Flags.is_program_mode () then let hook vis gr _ = |
