Module Pulselib.PulseAccessResult
module AbductiveDomain = PulseAbductiveDomaintype 'astate error=|PotentialInvalidAccess of{astate : 'astate;address : PulseBasicInterface.AbstractValue.t;must_be_valid : PulseBasicInterface.Trace.t * PulseBasicInterface.Invalidation.must_be_valid_reason option;}|PotentialInvalidAccessSummary of{astate : AbductiveDomain.summary;address : PulseBasicInterface.AbstractValue.t;must_be_valid : PulseBasicInterface.Trace.t * PulseBasicInterface.Invalidation.must_be_valid_reason option;}|ReportableError of{astate : 'astate;diagnostic : PulseBasicInterface.Diagnostic.t;}|ISLError of 'astatetype ('a, 'astate) base_t= ('a, 'astate error) IStdlib.IStd.resulttype 'a t= ('a, AbductiveDomain.t) base_ttype 'astate abductive_error=[|`ISLError of 'astate|`PotentialInvalidAccess of 'astate * PulseBasicInterface.AbstractValue.t * (PulseBasicInterface.Trace.t * PulseBasicInterface.Invalidation.must_be_valid_reason option)|`PotentialInvalidAccessSummary of AbductiveDomain.summary * PulseBasicInterface.AbstractValue.t * (PulseBasicInterface.Trace.t * PulseBasicInterface.Invalidation.must_be_valid_reason option)]Intermediate datatype since
AbductiveDomaincannot refer to this module without creating a circular dependency.
val of_abductive_error : 'astate abductive_error -> 'astate errorval of_abductive_result : ('a, 'astate abductive_error) IStdlib.IStd.result -> ('a, 'astate) base_tval of_abductive_access_result : PulseBasicInterface.Trace.t -> ('a, [ `InvalidAccess of PulseBasicInterface.Invalidation.t * PulseBasicInterface.Trace.t * 'astate | 'astate abductive_error ]) IStdlib.IStd.result -> ('a, 'astate) base_t