Melange_compiler_libs.Persistent_env
type error =
| Illegal_renaming(Misc.modname, Misc.modname, Misc.filepath)
| Inconsistent_import(Misc.modname, Misc.filepath, Misc.filepath)
| Need_recursive_types(Misc.modname)
;
exception Error(error);
let report_error: Stdlib.Format.formatter => error => unit;
module Persistent_signature: { ... };
let empty: unit => t('a);
let clear: t('a) => unit;
let clear_missing: t('a) => unit;
let fold: t('a) => (Misc.modname => 'a => 'b => 'b) => 'b => 'b;
let read:
t('a) =>
(Persistent_signature.t => 'a) =>
Unit_info.Artifact.t =>
'a;
let find:
allow_hidden:bool =>
t('a) =>
(Persistent_signature.t => 'a) =>
Misc.modname =>
'a;
let find_in_cache: t('a) => Misc.modname => option('a);
let check:
allow_hidden:bool =>
t('a) =>
(Persistent_signature.t => 'a) =>
loc:Location.t =>
Misc.modname =>
unit;
let looked_up: t('a) => Misc.modname => bool;
let is_imported: t('a) => Misc.modname => bool;
let is_imported_opaque: t('a) => Misc.modname => bool;
let register_import_as_opaque: t('a) => Misc.modname => unit;
let make_cmi:
t('a) =>
Misc.modname =>
Types.signature =>
Misc.alerts =>
Cmi_format.cmi_infos;
let save_cmi:
?check_exists:unit =>
t('a) =>
Persistent_signature.t =>
'a =>
unit;
let can_load_cmis: t('a) => can_load_cmis;
let set_can_load_cmis: t('a) => can_load_cmis => unit;
let without_cmis: t('a) => ('b => 'c) => 'b => 'c;
let import_crcs: t('a) => source:Misc.filepath => Misc.crcs => unit;
let crc_of_unit:
t('a) =>
(Persistent_signature.t => 'a) =>
Misc.modname =>
Stdlib.Digest.t;