diff options
| author | Hugo Herbelin | 2020-10-17 21:40:57 +0200 |
|---|---|---|
| committer | Hugo Herbelin | 2020-11-05 17:23:45 +0100 |
| commit | a9745d914c8a156b76a95cbd9f4052ca06b4a55a (patch) | |
| tree | 06a2f148fa7bba5cf070c8a7199d4c057fcefc9c | |
| parent | 7f90e6e0aa8dd27c64bac0dbc4b247ebb33d4aca (diff) | |
Fixes #13216 (use of type classes in the return clause of a match).
This was deactivated in fb1c2a017e but it seems useful (e.g. in
contribs containers).
It seems to be useful
| -rw-r--r-- | pretyping/cases.ml | 2 | ||||
| -rw-r--r-- | test-suite/bugs/closed/bug_13216.v | 4 |
2 files changed, 5 insertions, 1 deletions
diff --git a/pretyping/cases.ml b/pretyping/cases.ml index 4a29db0dcf..5de0745d17 100644 --- a/pretyping/cases.ml +++ b/pretyping/cases.ml @@ -298,7 +298,7 @@ let inductive_template env sigma tmloc ind = let ty = EConstr.of_constr ty in let ty' = substl subst ty in let sigma, e = - Evarutil.new_evar env ~src:(hole_source n) ~typeclass_candidate:false sigma ty' + Evarutil.new_evar env ~src:(hole_source n) sigma ty' in (sigma, e::subst,e::evarl,n+1) | LocalDef (na,b,ty) -> diff --git a/test-suite/bugs/closed/bug_13216.v b/test-suite/bugs/closed/bug_13216.v new file mode 100644 index 0000000000..54a28a9c53 --- /dev/null +++ b/test-suite/bugs/closed/bug_13216.v @@ -0,0 +1,4 @@ +Class A. +Declare Instance a:A. +Inductive T `(A) := C. +Definition f x := match x with C _ => 0 end. |
