diff options
| author | Pierre-Marie Pédrot | 2020-11-05 13:09:55 +0100 |
|---|---|---|
| committer | Pierre-Marie Pédrot | 2020-11-05 13:09:55 +0100 |
| commit | 812e2fd7a62386f8128d4039f8d949486927e554 (patch) | |
| tree | b77f0307bc3ce91753e9fedc8a32fbd70115e6ef /vernac | |
| parent | 5af74f736d5d621e3934be17d25c69b4ed3c0edf (diff) | |
| parent | ffebade4b474be2b14117fe92d3ca72813d2d938 (diff) | |
Merge PR #13191: Fix anomaly when importing a functor
Reviewed-by: ppedrot
Diffstat (limited to 'vernac')
| -rw-r--r-- | vernac/vernacentries.ml | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/vernac/vernacentries.ml b/vernac/vernacentries.ml index bc03994ca6..ef8631fbb6 100644 --- a/vernac/vernacentries.ml +++ b/vernac/vernacentries.ml @@ -985,9 +985,15 @@ let interp_filter_in m = function let vernac_import export refl = let import_mod (qid,f) = - let m = try Nametab.locate_module qid + let loc = qid.loc in + let m = try + let m = Nametab.locate_module qid in + let () = if Modops.is_functor (Global.lookup_module m).Declarations.mod_type + then CErrors.user_err ?loc Pp.(str "Cannot import functor " ++ pr_qualid qid ++ str".") + in + m with Not_found -> - CErrors.user_err Pp.(str "Cannot find module " ++ pr_qualid qid) + CErrors.user_err ?loc Pp.(str "Cannot find module " ++ pr_qualid qid) in let f = interp_filter_in m f in Declaremods.import_module f ~export m |
