Ppx_template_expander.Attributesmodule Context : sig ... endA ('w, 'b) t is a handler that knows how to consume a particular attribute on 'w syntax items, and produce back 'b values. Note: if the attribute isn't present, the handler will return some default 'b, whether that be None (if 'b is _ option) or some semantic default for the given 'b.
val consume :
('w, 'b) t ->
('a, 'w) Context.t ->
'a ->
('a * 'b, Ppx_template_expander__.Syntax_error.t) resultconsume t ctx item runs the handler t in the context ctx on item. The handler t strips its corresponding attributes from item in addition to producing its output.
module Attribute_map : sig ... endA map from ('a, 'w) Context.t to ('a, 'b) Attribute.t.
module Poly : sig ... endval poly : (poly_w, Poly.t Maybe_explicit.t list) tA handler for attributes that make definitions/declarations polymorphic. Might return an Error _ if the attribute's payload is malformed. Defaults to Ok { kinds = None; modes = None }.
module Mono : sig ... endA handler for attributes that mangle identifiers to the correct monomorphized name. Defaults to { kinds = []; modes = [] }.
module Exclave_if : sig ... endval exclave_if_local :
(exclave_if_w,
(Language.Type.mode, Exclave_if.Reason.t list) Exclave_if.t option)
tA handler for attributes that optionally insert exclave_ markers. We expect to replace these attributes with mode-polymorphic tailcalls and/or unboxed types.
val exclave_if_stack :
(exclave_if_w, (Language.Type.alloc, unit) Exclave_if.t option) tLike exclave_if_local, but for allocation identifiers.
module Zero_alloc_if : sig ... endval zero_alloc_if_local :
(zero_alloc_if_w, Language.Type.mode Zero_alloc_if.t option) tA handler for attributes that optionally annotate code as zero-alloc.
val zero_alloc_if_stack :
(zero_alloc_if_w, Language.Type.alloc Zero_alloc_if.t option) tLike zero_alloc_if_local, but for allocation identifiers.
val with_ : ([ `module_type ], Astlib.Ast_500.Parsetree.signature option) tval with_attr :
(Astlib.Ast_500.Parsetree.module_type,
(Astlib.Ast_500.Parsetree.signature,
Ppx_template_expander__.Syntax_error.t)
result)
Ppxlib.Attribute.tval error_you_can_only_use_one_attribute_per_axis :
loc:Astlib.Location.t ->
(_, Ppx_template_expander__.Syntax_error.t) resultmodule Floating : sig ... end