pub struct Solution { /* private fields */ }Expand description
The result of solving a graph under one policy.
Implementations§
Source§impl Solution
impl Solution
Sourcepub fn enabled(&self, id: FuncId) -> CategorySet
pub fn enabled(&self, id: FuncId) -> CategorySet
The categories a function can raise under the solved policy.
Sourcepub fn unwinds(&self, id: FuncId) -> bool
pub fn unwinds(&self, id: FuncId) -> bool
Whether a function can unwind under the solved policy.
Sourcepub fn through(&self, call: &CallSite, callee: FuncId) -> CategorySet
pub fn through(&self, call: &CallSite, callee: FuncId) -> CategorySet
The categories of a callee that are visible through a call.
A barrier call contains the callee’s unwinding panics, so only the aborting ones are seen through it.
Sourcepub fn is_clean(&self, id: FuncId) -> bool
pub fn is_clean(&self, id: FuncId) -> bool
Whether a function raises nothing the user asked to see.
Sourcepub fn activity(&self, graph: &Graph, id: FuncId) -> Activity
pub fn activity(&self, graph: &Graph, id: FuncId) -> Activity
Which sites and calls of a function are reachable under the policy.
Sourcepub fn cleared_by_suppression(
&self,
graph: &Graph,
selection: Selection,
) -> Result<usize>
pub fn cleared_by_suppression( &self, graph: &Graph, selection: Selection, ) -> Result<usize>
How many functions the selection shows are clean only because of the policy.
A function that raises nothing whatever is assumed is not one the suppression cleared, so the answer is the difference between two solutions rather than a count of the clean ones. That costs a second fixpoint over the graph, which is why callers ask for it only when they are about to say something about it. Functions are counted by the names the report prints.
§Errors
Returns an error if the second fixpoint does not converge.