pub trait DemandReporter<Var, Aux = ()> {
type UsePosition: Copy;
type IntroducePosition: Copy;
// Provided methods
fn drop_aux(
&mut self,
position: Self::IntroducePosition,
var: Var,
_aux: Aux
) { ... }
fn drop(&mut self, _position: Self::IntroducePosition, _var: Var) { ... }
fn dup(
&mut self,
_position: Self::UsePosition,
_var: Var,
_next_usage_position: Self::UsePosition
) { ... }
fn last_use(&mut self, _position: Self::UsePosition, _var: Var) { ... }
fn unused_mapped_var(&mut self, _var: Var) { ... }
}
Expand description
A reporting trait that reports each variables dup, drop and last_use positions.
Required Associated Types§
type UsePosition: Copy
type IntroducePosition: Copy
Provided Methods§
fn drop_aux(&mut self, position: Self::IntroducePosition, var: Var, _aux: Aux)
fn drop(&mut self, _position: Self::IntroducePosition, _var: Var)
fn dup( &mut self, _position: Self::UsePosition, _var: Var, _next_usage_position: Self::UsePosition )
fn last_use(&mut self, _position: Self::UsePosition, _var: Var)
fn unused_mapped_var(&mut self, _var: Var)
Implementors§
source§impl DemandReporter<Id<Variable>> for CancelOpsContext<'_>
impl DemandReporter<Id<Variable>> for CancelOpsContext<'_>
Demand reporter for cancel ops.
use sites are reported using dup
and last_use
.