Module Specialization.Pulse

module Aliases : sig ... end
module DynamicTypes : sig ... end
type t = {
  1. aliases : Aliases.t option;
  2. dynamic_types : DynamicTypes.t;
}

currently aliases=None means we did not detect any alias when applying the previous summary and this specialization will not introduce any alias assumption.

aliases=Some [] means something went wrong... We have detected some aliases when applying the last summary, but we were not able to phrase it in term of parameters equalities.

include Ppx_compare_lib.Equal.S with type t := t
val equal : t Base__Ppx_compare_lib.equal
include Ppx_compare_lib.Comparable.S with type t := t
val compare : t Base__Ppx_compare_lib.compare
val bottom : t
val is_empty : t -> bool
val pp : F.formatter -> t -> unit
module Map : IStdlib.PrettyPrintable.PPMap with type key = t
module Set : IStdlib.PrettyPrintable.PPSet with type elt = t
val is_pulse_specialization_limit_not_reached : 'a Map.t -> bool
val has_type_in_specialization : t -> Typ.name -> bool