<htmlxmlns="http://www.w3.org/1999/xhtml"><head><title>PulseDiagnostic (infer.Pulselib.PulseDiagnostic)</title><linkrel="stylesheet"href="../../../odoc.css"/><metacharset="utf-8"/><metaname="generator"content="odoc 1.5.1"/><metaname="viewport"content="width=device-width,initial-scale=1.0"/><scriptsrc="../../../highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body><divclass="content"><header><nav><ahref="../index.html">Up</a>–<ahref="../../index.html">infer</a>»<ahref="../index.html">Pulselib</a>» PulseDiagnostic</nav><h1>Module <code>Pulselib.PulseDiagnostic</code></h1></header><divclass="spec module"id="module-CallEvent"><ahref="#module-CallEvent"class="anchor"></a><code><spanclass="keyword">module</span> CallEvent = <ahref="../index.html#module-PulseCallEvent">PulseCallEvent</a></code></div><divclass="spec module"id="module-Invalidation"><ahref="#module-Invalidation"class="anchor"></a><code><spanclass="keyword">module</span> Invalidation = <ahref="../index.html#module-PulseInvalidation">PulseInvalidation</a></code></div><divclass="spec module"id="module-Trace"><ahref="#module-Trace"class="anchor"></a><code><spanclass="keyword">module</span> Trace = <ahref="../index.html#module-PulseTrace">PulseTrace</a></code></div><divclass="spec module"id="module-ValueHistory"><ahref="#module-ValueHistory"class="anchor"></a><code><spanclass="keyword">module</span> ValueHistory = <ahref="../index.html#module-PulseValueHistory">PulseValueHistory</a></code></div><dl><dtclass="spec type"id="type-access_to_invalid_address"><ahref="#type-access_to_invalid_address"class="anchor"></a><code><spanclass="keyword">type</span> access_to_invalid_address</code><code> = </code><code>{</code><tableclass="record"><trid="type-access_to_invalid_address.calling_context"class="anchored"><tdclass="def field"><ahref="#type-access_to_invalid_address.calling_context"class="anchor"></a><code>calling_context : <span><span>(<ahref="../PulseCallEvent/index.html#type-t">CallEvent.t</a> * <ahref="../../IBase/Location/index.html#type-t">IBase.Location.t</a>)</span> list</span>;</code></td><tdclass="doc"><p>the list of function calls leading to the issue being realised, in outermost-to-innermost order, which is an additional common prefix to the traces in the record</p></td></tr><trid="type-access_to_invalid_address.invalidation"class="anchored"><tdclass="def field"><ahref="#type-access_to_invalid_address.invalidation"class="anchor"></a><code>invalidation : <ahref="../PulseInvalidation/index.html#type-t">Invalidation.t</a>;</code></td></tr><trid="type-access_to_invalid_address.invalidation_trace"class="anchored"><tdclass="def field"><ahref="#type-access_to_invalid_address.invalidation_trace"class="anchor"></a><code>invalidation_trace : <ahref="../PulseTrace/index.html#type-t">Trace.t</a>;</code></td><tdclass="doc"><p>assuming we are in the calling context, the trace leads to <code>invalidation</code> without further assumptions</p></td></tr><trid="type-access_to_invalid_address.access_trace"class="anchored"><tdclass="def field"><ahref="#type-access_to_invalid_address.access_trace"class="anchor"></a><code>access_trace : <ahref="../PulseTrace/index.html#type-t">Trace.t</a>;</code></td><tdclass="doc"><p>assuming we are in the calling context, the trace leads to an access to the value invalidated in <code>invalidation_trace</code> without further assumptions</p></td></tr><trid="type-access_to_invalid_address.must_be_valid_reason"class="anchored"><tdclass="def field"><ahref="#type-access_to_invalid_address.must_be_valid_reason"class="anchor"></a><code>must_be_valid_reason : <span><ahref="../PulseInvalidation/index.html#type-must_be_valid_reason">Invalidation.must_be_valid_reason</a> option</span>;</code></td></tr></table><code>}</code></dt></dl><div><divclass="spec include"><divclass="doc"><dl><dtclass="spec value"id="val-compare_access_to_invalid_address"><ahref="#val-compare_access_to_invalid_address"class="anchor"></a><code><spancl