Module Subst.Unsafe
Unsafe substitutions introduced by with constraints, local substitutions (type t := int * int) or recursive module check.
val add_modtype :
Ocaml_typing.Ident.t ->
Ocaml_typing.Types.module_type ->
'any Ocaml_typing.Subst.subst ->
Ocaml_typing.Subst.Unsafe.tReplacing a module type name S by a non-path signature is unsafe as the packed module type (module S) becomes ill-formed.
val add_modtype_path :
Ocaml_typing.Path.t ->
Ocaml_typing.Types.module_type ->
'any Ocaml_typing.Subst.subst ->
Ocaml_typing.Subst.Unsafe.tval add_type_path :
Ocaml_typing.Path.t ->
Ocaml_typing.Path.t ->
Ocaml_typing.Subst.Unsafe.t ->
Ocaml_typing.Subst.Unsafe.tDeep editing inside a module type require to retypecheck the module, for applicative functors in path and module aliases.
val add_type_function :
Ocaml_typing.Path.t ->
params:Ocaml_typing.Types.type_expr list ->
body:Ocaml_typing.Types.type_expr ->
Ocaml_typing.Subst.Unsafe.t ->
Ocaml_typing.Subst.Unsafe.tval add_module_path :
Ocaml_typing.Path.t ->
Ocaml_typing.Path.t ->
Ocaml_typing.Subst.Unsafe.t ->
Ocaml_typing.Subst.Unsafe.ttype 'a res := ('a, Ocaml_typing.Subst.Unsafe.error) Stdlib.resultval type_declaration :
Ocaml_typing.Subst.Unsafe.t ->
Ocaml_typing.Types.type_declaration ->
Ocaml_typing.Types.type_declaration Ocaml_typing.Subst.Unsafe.resval compose :
Ocaml_typing.Subst.Unsafe.t ->
Ocaml_typing.Subst.Unsafe.t ->
Ocaml_typing.Subst.Unsafe.t Ocaml_typing.Subst.Unsafe.resComposition of substitutions is eager and fails when the two substitution are incompatible, for example module type t := sig end is not compatible with module type s := sig type t=(module t) end