Module Type_immediacy

Immediacy status of a type

type t =
| Unknown

We don't know anything

| Always

We know for sure that values of this type are always immediate

| Always_on_64bits

We know for sure that values of this type are always immediate on 64 bit platforms. For other platforms, we know nothing.

module Violation : sig ... end
val coerce : t -> as_:t -> (unit, Violation.t) Stdlib.result

coerce t ~as_ returns Ok () iff t can be seen as type immediacy as_. For instance, Always can be seen as Always_on_64bits but the opposite is not true. Return Error _ if the coercion is not possible.

val of_attributes : Parsetree.attributes -> t

Return the immediateness of a type as indicated by the user via attributes