diff options
| author | Guillaume Melquiond | 2016-05-04 10:36:43 +0200 |
|---|---|---|
| committer | Guillaume Melquiond | 2016-05-04 10:36:53 +0200 |
| commit | dd7cf3a8086fa8a08a421314caec8543ba62226b (patch) | |
| tree | d5657a668e9c5ee456813ebc4f90f5e402e9f883 | |
| parent | 1dd8d826592507046b35128800578149021dab4c (diff) | |
Handle primitive projections inside types when extracting (bug #4616).
Note that extracting terms containing primitive projections is still
utterly broken, so don't use them.
| -rw-r--r-- | plugins/extraction/extraction.ml | 2 | ||||
| -rw-r--r-- | test-suite/bugs/closed/4616.v | 4 |
2 files changed, 5 insertions, 1 deletions
diff --git a/plugins/extraction/extraction.ml b/plugins/extraction/extraction.ml index 10644da25d..667721e670 100644 --- a/plugins/extraction/extraction.ml +++ b/plugins/extraction/extraction.ml @@ -285,7 +285,7 @@ let rec extract_type env db j c args = | Ind ((kn,i),u) -> let s = (extract_ind env kn).ind_packets.(i).ip_sign in extract_type_app env db (IndRef (kn,i),s) args - | Case _ | Fix _ | CoFix _ -> Tunknown + | Case _ | Fix _ | CoFix _ | Proj _ -> Tunknown | _ -> assert false (*s Auxiliary function dealing with type application. diff --git a/test-suite/bugs/closed/4616.v b/test-suite/bugs/closed/4616.v new file mode 100644 index 0000000000..c862f82067 --- /dev/null +++ b/test-suite/bugs/closed/4616.v @@ -0,0 +1,4 @@ +Set Primitive Projections. +Record Foo' := Foo { foo : Type }. +Axiom f : forall t : Foo', foo t. +Extraction f. |
