Ocaml_typing.Typedeclval transl_type_decl :
Env.t ->
Ocaml_parsing.Asttypes.rec_flag ->
Ocaml_parsing.Parsetree.type_declaration list ->
Typedtree.type_declaration list * Env.t * Shape.t listval transl_exception :
Env.t ->
Ocaml_parsing.Parsetree.extension_constructor ->
Typedtree.extension_constructor * Env.t * Shape.tval transl_type_exception :
Env.t ->
Ocaml_parsing.Parsetree.type_exception ->
Typedtree.type_exception * Env.t * Shape.tval transl_type_extension :
bool ->
Env.t ->
Ocaml_parsing.Location.t ->
Ocaml_parsing.Parsetree.type_extension ->
Typedtree.type_extension * Env.t * Shape.t listtype transl_value_decl_modal = | Str_primitiveA primitive in structure, in which case the modality syntax is treated as modes, and the returned value description will have empty modalities.
*)| Sig_value of Mode.Value.l * Mode.Modality.Const.tA value description in a signature, in which case we require the mode of the structure that the value lives in, as well as the default modalities of the signature.
*)val transl_value_decl :
Env.t ->
modal:transl_value_decl_modal ->
why:Jkind.History.concrete_creation_reason ->
Ocaml_parsing.Location.t ->
Ocaml_parsing.Parsetree.value_description ->
Typedtree.value_description * Mode.Value.l * Env.tReturns a value description and the mode that the VD is based on, and a new environment that contains the VD at the mode.
val transl_with_constraint :
Ident.t ->
?fixed_row_path:Path.t ->
sig_env:Env.t ->
sig_decl:Types.type_declaration ->
outer_env:Env.t ->
Ocaml_parsing.Parsetree.type_declaration ->
Typedtree.type_declarationval transl_package_constraint :
loc:Ocaml_parsing.Location.t ->
Types.type_expr ->
Types.type_declarationval abstract_type_decl :
injective:bool ->
jkind:Types.jkind_l ->
params:Types.jkind_lr list ->
Types.type_declarationval approx_type_decl :
Ocaml_parsing.Parsetree.type_declaration list ->
(Ident.t * Types.type_declaration) listval check_recmod_typedecl :
Env.t ->
Ocaml_parsing.Location.t ->
Ident.t list ->
Path.t ->
Types.type_declaration ->
unitval check_coherence :
Env.t ->
Ocaml_parsing.Location.t ->
Path.t ->
Types.type_declaration ->
unitval is_fixed_type : Ocaml_parsing.Parsetree.type_declaration -> boolval mixed_block_element :
Env.t ->
Types.type_expr ->
_ Types.jkind ->
Types.mixed_block_elementtype reaching_type_path = reaching_type_step listand reaching_type_step = | Expands_to of Types.type_expr * Types.type_expr| Contains of Types.type_expr * Types.type_exprmodule Mixed_product_kind : sig ... endval assert_mixed_product_support :
Ocaml_utils.Warnings.loc ->
Mixed_product_kind.t ->
value_prefix_len:int ->
unittype mixed_product_violation = | Runtime_support_not_enabled of Mixed_product_kind.t| Extension_constructor| Value_prefix_too_long of {value_prefix_len : int;max_value_prefix_len : int;mixed_product_kind : Mixed_product_kind.t;}| Insufficient_level of {required_layouts_level : Ocaml_parsing.Language_extension.maturity;mixed_product_kind : Mixed_product_kind.t;}type error = | Repeated_parameter| Duplicate_constructor of string| Too_many_constructors| Duplicate_label of string| Unboxed_mutable_label| Recursive_abbrev of string * Env.t * reaching_type_path| Cycle_in_def of string * Env.t * reaching_type_path| Unboxed_recursion of string * Env.t * reaching_type_path| Definition_mismatch of Types.type_expr
* Env.t
* Includecore.type_mismatch option| Constraint_failed of Env.t * Errortrace.unification_error| Inconsistent_constraint of Env.t * Errortrace.unification_error| Type_clash of Env.t * Errortrace.unification_error| Non_regular of {definition : Path.t;used_as : Types.type_expr;defined_as : Types.type_expr;reaching_path : reaching_type_path;}| Null_arity_external| Missing_native_external| Unbound_type_var of Types.type_expr * Types.type_declaration| Cannot_extend_private_type of Path.t| Not_extensible_type of Path.t| Extension_mismatch of Path.t * Env.t * Includecore.type_mismatch| Rebind_wrong_type of Ocaml_parsing.Longident.t
* Env.t
* Errortrace.unification_error| Rebind_mismatch of Ocaml_parsing.Longident.t * Path.t * Path.t| Rebind_private of Ocaml_parsing.Longident.t| Variance of Typedecl_variance.error| Unbound_type_var_ext of Types.type_expr * Types.extension_constructor| Val_in_structure| Multiple_native_repr_attributes| Cannot_unbox_or_untag_type of native_repr_kind| Deep_unbox_or_untag_attribute of native_repr_kind| Jkind_mismatch_of_type of Types.type_expr * Jkind.Violation.t| Jkind_mismatch_of_path of Path.t * Jkind.Violation.t| Jkind_mismatch_due_to_bad_inference of Types.type_expr
* Jkind.Violation.t
* bad_jkind_inference_location| Jkind_sort of {kloc : jkind_sort_loc;typ : Types.type_expr;err : Jkind.Violation.t;}| Jkind_empty_record| Non_representable_in_module of Jkind.Violation.t * Types.type_expr| Invalid_jkind_in_block of Types.type_expr * Jkind.Sort.Const.t * jkind_sort_loc| Illegal_mixed_product of mixed_product_violation| Separability of Typedecl_separability.error| Bad_unboxed_attribute of string| Boxed_and_unboxed| Nonrec_gadt| Invalid_private_row_declaration of Types.type_expr| Local_not_enabled| Unexpected_layout_any_in_primitive of string| Useless_layout_poly| Zero_alloc_attr_unsupported of Ocaml_parsing.Builtin_attributes.zero_alloc_attribute| Zero_alloc_attr_non_function| Zero_alloc_attr_bad_user_arity| Invalid_reexport of {}| Non_abstract_reexport of Path.t| Unsafe_mode_crossing_on_invalid_type_kind| Illegal_baggage of Types.jkind_l| No_unboxed_version of Path.t| Atomic_field_must_be_mutable of string| Constructor_submode_failed of Mode.Value.error| Atomic_field_in_mixed_block| Non_value_atomic_fieldexception Error of Ocaml_parsing.Location.t * errorval report_error : Format.formatter -> error -> unit