pub struct While { /* private fields */ }
Expand description
A while is a loop structure composed of two regions: a “before” region, and an “after” region.
The “before” region’s entry block parameters correspond to the operands expected by the operation, and can be used to compute the condition that determines whether the “after” body is executed or not, or simply forwarded to the “after” region. The “before” region must terminate with a Condition operation, which will be evaluated to determine whether or not to continue the loop.
The “after” region corresponds to the loop body, and must terminate with a Yield operation, whose operands must be of the same arity and type as the “before” region’s argument list. In this way, the “after” body can feed back input to the “before” body to determine whether to continue the loop.
Implementations§
Source§impl While
Construction
impl While
Construction
Sourcepub fn create<B: ?Sized + Builder, TInits: IntoIterator<Item = ValueRef>>(
builder: &mut B,
span: SourceSpan,
inits: TInits,
) -> Result<UnsafeIntrusiveEntityRef<Self>, Report>
pub fn create<B: ?Sized + Builder, TInits: IntoIterator<Item = ValueRef>>( builder: &mut B, span: SourceSpan, inits: TInits, ) -> Result<UnsafeIntrusiveEntityRef<Self>, Report>
Manually construct a new [#op_ident]
It is generally preferable to use [::midenc_hir::Builder::create
] instead.
impl While
User-defined Fields
impl While
Attributes
impl While
Symbols
Source§impl While
Operands
impl While
Operands
Sourcepub fn inits(&self) -> OpOperandRange<'_>
pub fn inits(&self) -> OpOperandRange<'_>
Get a reference to the inits
operand group.
Sourcepub fn inits_mut(&mut self) -> OpOperandRangeMut<'_>
pub fn inits_mut(&mut self) -> OpOperandRangeMut<'_>
Get a mutable reference to the inits
operand group.
impl While
Results
Source§impl While
Regions
impl While
Regions
Sourcepub fn before_mut(&mut self) -> EntityMut<'_, Region>
pub fn before_mut(&mut self) -> EntityMut<'_, Region>
Get a mutable reference to the before
region.
impl While
Successors
Source§impl While
impl While
pub fn condition_op(&self) -> UnsafeIntrusiveEntityRef<Condition>
pub fn yield_op(&self) -> UnsafeIntrusiveEntityRef<Yield>
Trait Implementations§
Source§impl<TInits: IntoIterator<Item = ValueRef>> BuildableOp<(TInits,)> for While
impl<TInits: IntoIterator<Item = ValueRef>> BuildableOp<(TInits,)> for While
Source§impl Canonicalizable for While
impl Canonicalizable for While
Source§fn get_canonicalization_patterns(
rewrites: &mut RewritePatternSet,
context: Rc<Context>,
)
fn get_canonicalization_patterns( rewrites: &mut RewritePatternSet, context: Rc<Context>, )
rewrites
with the set of rewrite patterns that should be applied to canonicalize
this operation. Read moreSource§impl LoopLikeOpInterface for While
impl LoopLikeOpInterface for While
Source§fn get_region_iter_args(&self) -> Option<EntityRef<'_, [BlockArgumentRef]>>
fn get_region_iter_args(&self) -> Option<EntityRef<'_, [BlockArgumentRef]>>
Source§fn get_loop_header_region(&self) -> RegionRef
fn get_loop_header_region(&self) -> RegionRef
Source§fn get_loop_regions(&self) -> SmallVec<[RegionRef; 2]>
fn get_loop_regions(&self) -> SmallVec<[RegionRef; 2]>
Source§fn get_inits_mut(&mut self) -> OpOperandRangeMut<'_>
fn get_inits_mut(&mut self) -> OpOperandRangeMut<'_>
Source§fn get_yielded_values_mut(
&mut self,
) -> Option<EntityProjectionMut<'_, OpOperandRangeMut<'_>>>
fn get_yielded_values_mut( &mut self, ) -> Option<EntityProjectionMut<'_, OpOperandRangeMut<'_>>>
Source§fn is_defined_outside_of_loop(
&self,
value: RawEntityRef<dyn Value<Use = OpOperandImpl, Id = ValueId>>,
) -> bool
fn is_defined_outside_of_loop( &self, value: RawEntityRef<dyn Value<Use = OpOperandImpl, Id = ValueId>>, ) -> bool
Source§fn move_out_of_loop(&mut self, op: RawEntityRef<Operation, IntrusiveLink>)
fn move_out_of_loop(&mut self, op: RawEntityRef<Operation, IntrusiveLink>)
Source§fn promote_if_single_iteration(
&mut self,
rewriter: &mut dyn Rewriter,
) -> Result<(), ()>
fn promote_if_single_iteration( &mut self, rewriter: &mut dyn Rewriter, ) -> Result<(), ()>
Source§fn get_loop_induction_vars(
&self,
) -> Option<SmallVec<[RawEntityRef<dyn Value<Use = OpOperandImpl, Id = ValueId>>; 2]>>
fn get_loop_induction_vars( &self, ) -> Option<SmallVec<[RawEntityRef<dyn Value<Use = OpOperandImpl, Id = ValueId>>; 2]>>
Source§fn get_loop_lower_bounds(&self) -> Option<SmallVec<[OpFoldResult; 2]>>
fn get_loop_lower_bounds(&self) -> Option<SmallVec<[OpFoldResult; 2]>>
Source§fn get_loop_upper_bounds(&self) -> Option<SmallVec<[OpFoldResult; 2]>>
fn get_loop_upper_bounds(&self) -> Option<SmallVec<[OpFoldResult; 2]>>
Source§fn get_loop_steps(&self) -> Option<SmallVec<[OpFoldResult; 2]>>
fn get_loop_steps(&self) -> Option<SmallVec<[OpFoldResult; 2]>>
Source§fn get_loop_results(&self) -> Option<EntityRange<'_, RawEntityRef<OpResult>>>
fn get_loop_results(&self) -> Option<EntityRange<'_, RawEntityRef<OpResult>>>
Source§impl Op for While
impl Op for While
Source§fn name(&self) -> OperationName
fn name(&self) -> OperationName
fn as_operation(&self) -> &Operation
fn as_operation_mut(&mut self) -> &mut Operation
fn print(&self, flags: &OpPrintingFlags) -> Document
fn as_operation_ref(&self) -> RawEntityRef<Operation, IntrusiveLink>
fn set_span(&mut self, span: SourceSpan)
fn parent(&self) -> Option<RawEntityRef<Block, IntrusiveLink>>
fn parent_region(&self) -> Option<RawEntityRef<Region, IntrusiveLink>>
fn parent_op(&self) -> Option<RawEntityRef<Operation, IntrusiveLink>>
fn num_regions(&self) -> usize
fn regions(&self) -> &EntityList<Region>
fn regions_mut(&mut self) -> &mut EntityList<Region>
fn region(&self, index: usize) -> EntityRef<'_, Region>
fn region_mut(&mut self, index: usize) -> EntityMut<'_, Region>
fn has_successors(&self) -> bool
fn num_successors(&self) -> usize
fn has_operands(&self) -> bool
fn num_operands(&self) -> usize
fn operands(&self) -> &EntityStorage<RawEntityRef<OpOperandImpl, IntrusiveLink>>
fn operands_mut( &mut self, ) -> &mut EntityStorage<RawEntityRef<OpOperandImpl, IntrusiveLink>>
fn has_results(&self) -> bool
fn num_results(&self) -> usize
fn results(&self) -> &EntityStorage<RawEntityRef<OpResult>>
fn results_mut(&mut self) -> &mut EntityStorage<RawEntityRef<OpResult>>
fn successors(&self) -> &EntityStorage<SuccessorInfo, 0>
fn successors_mut(&mut self) -> &mut EntityStorage<SuccessorInfo, 0>
Source§impl OpRegistration for While
impl OpRegistration for While
Source§fn dialect_name() -> Symbol
fn dialect_name() -> Symbol
Source§impl OpVerifier for While
Generated verifier implementation via #[operation]
attribute
impl OpVerifier for While
Generated verifier implementation via #[operation]
attribute
Traits verified by this implementation:
Use cargo-expand
to view the generated code if you suspect verification is broken.
Source§impl RegionBranchOpInterface for While
impl RegionBranchOpInterface for While
Source§fn get_entry_successor_operands(
&self,
_point: RegionBranchPoint,
) -> SuccessorOperandRange<'_>
fn get_entry_successor_operands( &self, _point: RegionBranchPoint, ) -> SuccessorOperandRange<'_>
point
. point
is guaranteed to
be among the successors that are returned by get_entry_succcessor_regions
or
get_successor_regions(parent_op())
. Read moreSource§fn get_successor_regions(
&self,
point: RegionBranchPoint,
) -> RegionSuccessorIter<'_>
fn get_successor_regions( &self, point: RegionBranchPoint, ) -> RegionSuccessorIter<'_>
point
. Read moreSource§fn get_region_invocation_bounds(
&self,
_operands: &[Option<Box<dyn AttributeValue>>],
) -> SmallVec<[InvocationBounds; 1]>
fn get_region_invocation_bounds( &self, _operands: &[Option<Box<dyn AttributeValue>>], ) -> SmallVec<[InvocationBounds; 1]>
Source§fn is_repetitive_region(&self, _index: usize) -> bool
fn is_repetitive_region(&self, _index: usize) -> bool
true
if control flow originating from the region at index
may eventually branch
back to the same region, either from itself, or after passing through other regions first.Source§fn has_loop(&self) -> bool
fn has_loop(&self) -> bool
true
if there is a loop in the region branching graph. Read moreSource§fn get_entry_successor_regions(
&self,
operands: &[Option<Box<dyn AttributeValue>>],
) -> RegionSuccessorIter<'_>
fn get_entry_successor_regions( &self, operands: &[Option<Box<dyn AttributeValue>>], ) -> RegionSuccessorIter<'_>
impl HasRecursiveMemoryEffects for While
impl SingleBlock for While
Auto Trait Implementations§
impl !Freeze for While
impl !RefUnwindSafe for While
impl !Send for While
impl !Sync for While
impl Unpin for While
impl !UnwindSafe for While
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> Canonicalizable for Twhere
T: Op,
impl<T> Canonicalizable for Twhere
T: Op,
Source§default fn get_canonicalization_patterns(
_rewrites: &mut RewritePatternSet,
_context: Rc<Context>,
)
default fn get_canonicalization_patterns( _rewrites: &mut RewritePatternSet, _context: Rc<Context>, )
rewrites
with the set of rewrite patterns that should be applied to canonicalize
this operation. Read moreSource§impl<T> FmtForward for T
impl<T> FmtForward for T
Source§fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
self
to use its Binary
implementation when Debug
-formatted.Source§fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
self
to use its Display
implementation when
Debug
-formatted.Source§fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
self
to use its LowerExp
implementation when
Debug
-formatted.Source§fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
self
to use its LowerHex
implementation when
Debug
-formatted.Source§fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
self
to use its Octal
implementation when Debug
-formatted.Source§fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
self
to use its Pointer
implementation when
Debug
-formatted.Source§fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
self
to use its UpperExp
implementation when
Debug
-formatted.Source§fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
self
to use its UpperHex
implementation when
Debug
-formatted.Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> OpExt for T
impl<T> OpExt for T
Source§fn get_attribute(
&self,
name: impl Into<Symbol>,
) -> Option<&(dyn AttributeValue + 'static)>
fn get_attribute( &self, name: impl Into<Symbol>, ) -> Option<&(dyn AttributeValue + 'static)>
name
for this functionSource§fn has_attribute(&self, name: impl Into<Symbol>) -> bool
fn has_attribute(&self, name: impl Into<Symbol>) -> bool
name
Source§fn set_attribute(
&mut self,
name: impl Into<Symbol>,
value: Option<impl AttributeValue>,
)
fn set_attribute( &mut self, name: impl Into<Symbol>, value: Option<impl AttributeValue>, )
name
with value
for this function.Source§fn remove_attribute(&mut self, name: impl Into<Symbol>)
fn remove_attribute(&mut self, name: impl Into<Symbol>)
Source§fn nearest_parent_op<U>(&self) -> Option<RawEntityRef<U, IntrusiveLink>>where
U: Op,
fn nearest_parent_op<U>(&self) -> Option<RawEntityRef<U, IntrusiveLink>>where
U: Op,
T
for this operation, if it
is attached to oneSource§impl<D> OwoColorize for D
impl<D> OwoColorize for D
Source§fn fg<C>(&self) -> FgColorDisplay<'_, C, Self>where
C: Color,
fn fg<C>(&self) -> FgColorDisplay<'_, C, Self>where
C: Color,
Source§fn bg<C>(&self) -> BgColorDisplay<'_, C, Self>where
C: Color,
fn bg<C>(&self) -> BgColorDisplay<'_, C, Self>where
C: Color,
Source§fn black(&self) -> FgColorDisplay<'_, Black, Self>
fn black(&self) -> FgColorDisplay<'_, Black, Self>
Source§fn on_black(&self) -> BgColorDisplay<'_, Black, Self>
fn on_black(&self) -> BgColorDisplay<'_, Black, Self>
Source§fn red(&self) -> FgColorDisplay<'_, Red, Self>
fn red(&self) -> FgColorDisplay<'_, Red, Self>
Source§fn on_red(&self) -> BgColorDisplay<'_, Red, Self>
fn on_red(&self) -> BgColorDisplay<'_, Red, Self>
Source§fn green(&self) -> FgColorDisplay<'_, Green, Self>
fn green(&self) -> FgColorDisplay<'_, Green, Self>
Source§fn on_green(&self) -> BgColorDisplay<'_, Green, Self>
fn on_green(&self) -> BgColorDisplay<'_, Green, Self>
Source§fn yellow(&self) -> FgColorDisplay<'_, Yellow, Self>
fn yellow(&self) -> FgColorDisplay<'_, Yellow, Self>
Source§fn on_yellow(&self) -> BgColorDisplay<'_, Yellow, Self>
fn on_yellow(&self) -> BgColorDisplay<'_, Yellow, Self>
Source§fn blue(&self) -> FgColorDisplay<'_, Blue, Self>
fn blue(&self) -> FgColorDisplay<'_, Blue, Self>
Source§fn on_blue(&self) -> BgColorDisplay<'_, Blue, Self>
fn on_blue(&self) -> BgColorDisplay<'_, Blue, Self>
Source§fn magenta(&self) -> FgColorDisplay<'_, Magenta, Self>
fn magenta(&self) -> FgColorDisplay<'_, Magenta, Self>
Source§fn on_magenta(&self) -> BgColorDisplay<'_, Magenta, Self>
fn on_magenta(&self) -> BgColorDisplay<'_, Magenta, Self>
Source§fn purple(&self) -> FgColorDisplay<'_, Magenta, Self>
fn purple(&self) -> FgColorDisplay<'_, Magenta, Self>
Source§fn on_purple(&self) -> BgColorDisplay<'_, Magenta, Self>
fn on_purple(&self) -> BgColorDisplay<'_, Magenta, Self>
Source§fn cyan(&self) -> FgColorDisplay<'_, Cyan, Self>
fn cyan(&self) -> FgColorDisplay<'_, Cyan, Self>
Source§fn on_cyan(&self) -> BgColorDisplay<'_, Cyan, Self>
fn on_cyan(&self) -> BgColorDisplay<'_, Cyan, Self>
Source§fn white(&self) -> FgColorDisplay<'_, White, Self>
fn white(&self) -> FgColorDisplay<'_, White, Self>
Source§fn on_white(&self) -> BgColorDisplay<'_, White, Self>
fn on_white(&self) -> BgColorDisplay<'_, White, Self>
Source§fn default_color(&self) -> FgColorDisplay<'_, Default, Self>
fn default_color(&self) -> FgColorDisplay<'_, Default, Self>
Source§fn on_default_color(&self) -> BgColorDisplay<'_, Default, Self>
fn on_default_color(&self) -> BgColorDisplay<'_, Default, Self>
Source§fn bright_black(&self) -> FgColorDisplay<'_, BrightBlack, Self>
fn bright_black(&self) -> FgColorDisplay<'_, BrightBlack, Self>
Source§fn on_bright_black(&self) -> BgColorDisplay<'_, BrightBlack, Self>
fn on_bright_black(&self) -> BgColorDisplay<'_, BrightBlack, Self>
Source§fn bright_red(&self) -> FgColorDisplay<'_, BrightRed, Self>
fn bright_red(&self) -> FgColorDisplay<'_, BrightRed, Self>
Source§fn on_bright_red(&self) -> BgColorDisplay<'_, BrightRed, Self>
fn on_bright_red(&self) -> BgColorDisplay<'_, BrightRed, Self>
Source§fn bright_green(&self) -> FgColorDisplay<'_, BrightGreen, Self>
fn bright_green(&self) -> FgColorDisplay<'_, BrightGreen, Self>
Source§fn on_bright_green(&self) -> BgColorDisplay<'_, BrightGreen, Self>
fn on_bright_green(&self) -> BgColorDisplay<'_, BrightGreen, Self>
Source§fn bright_yellow(&self) -> FgColorDisplay<'_, BrightYellow, Self>
fn bright_yellow(&self) -> FgColorDisplay<'_, BrightYellow, Self>
Source§fn on_bright_yellow(&self) -> BgColorDisplay<'_, BrightYellow, Self>
fn on_bright_yellow(&self) -> BgColorDisplay<'_, BrightYellow, Self>
Source§fn bright_blue(&self) -> FgColorDisplay<'_, BrightBlue, Self>
fn bright_blue(&self) -> FgColorDisplay<'_, BrightBlue, Self>
Source§fn on_bright_blue(&self) -> BgColorDisplay<'_, BrightBlue, Self>
fn on_bright_blue(&self) -> BgColorDisplay<'_, BrightBlue, Self>
Source§fn bright_magenta(&self) -> FgColorDisplay<'_, BrightMagenta, Self>
fn bright_magenta(&self) -> FgColorDisplay<'_, BrightMagenta, Self>
Source§fn on_bright_magenta(&self) -> BgColorDisplay<'_, BrightMagenta, Self>
fn on_bright_magenta(&self) -> BgColorDisplay<'_, BrightMagenta, Self>
Source§fn bright_purple(&self) -> FgColorDisplay<'_, BrightMagenta, Self>
fn bright_purple(&self) -> FgColorDisplay<'_, BrightMagenta, Self>
Source§fn on_bright_purple(&self) -> BgColorDisplay<'_, BrightMagenta, Self>
fn on_bright_purple(&self) -> BgColorDisplay<'_, BrightMagenta, Self>
Source§fn bright_cyan(&self) -> FgColorDisplay<'_, BrightCyan, Self>
fn bright_cyan(&self) -> FgColorDisplay<'_, BrightCyan, Self>
Source§fn on_bright_cyan(&self) -> BgColorDisplay<'_, BrightCyan, Self>
fn on_bright_cyan(&self) -> BgColorDisplay<'_, BrightCyan, Self>
Source§fn bright_white(&self) -> FgColorDisplay<'_, BrightWhite, Self>
fn bright_white(&self) -> FgColorDisplay<'_, BrightWhite, Self>
Source§fn on_bright_white(&self) -> BgColorDisplay<'_, BrightWhite, Self>
fn on_bright_white(&self) -> BgColorDisplay<'_, BrightWhite, Self>
Source§fn bold(&self) -> BoldDisplay<'_, Self>
fn bold(&self) -> BoldDisplay<'_, Self>
Source§fn dimmed(&self) -> DimDisplay<'_, Self>
fn dimmed(&self) -> DimDisplay<'_, Self>
Source§fn italic(&self) -> ItalicDisplay<'_, Self>
fn italic(&self) -> ItalicDisplay<'_, Self>
Source§fn underline(&self) -> UnderlineDisplay<'_, Self>
fn underline(&self) -> UnderlineDisplay<'_, Self>
Source§fn blink(&self) -> BlinkDisplay<'_, Self>
fn blink(&self) -> BlinkDisplay<'_, Self>
Source§fn blink_fast(&self) -> BlinkFastDisplay<'_, Self>
fn blink_fast(&self) -> BlinkFastDisplay<'_, Self>
Source§fn reversed(&self) -> ReversedDisplay<'_, Self>
fn reversed(&self) -> ReversedDisplay<'_, Self>
Source§fn strikethrough(&self) -> StrikeThroughDisplay<'_, Self>
fn strikethrough(&self) -> StrikeThroughDisplay<'_, Self>
Source§fn color<Color>(&self, color: Color) -> FgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
fn color<Color>(&self, color: Color) -> FgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
OwoColorize::fg
or
a color-specific method, such as OwoColorize::green
, Read moreSource§fn on_color<Color>(&self, color: Color) -> BgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
fn on_color<Color>(&self, color: Color) -> BgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
OwoColorize::bg
or
a color-specific method, such as OwoColorize::on_yellow
, Read moreSource§fn fg_rgb<const R: u8, const G: u8, const B: u8>(
&self,
) -> FgColorDisplay<'_, CustomColor<R, G, B>, Self>
fn fg_rgb<const R: u8, const G: u8, const B: u8>( &self, ) -> FgColorDisplay<'_, CustomColor<R, G, B>, Self>
Source§fn bg_rgb<const R: u8, const G: u8, const B: u8>(
&self,
) -> BgColorDisplay<'_, CustomColor<R, G, B>, Self>
fn bg_rgb<const R: u8, const G: u8, const B: u8>( &self, ) -> BgColorDisplay<'_, CustomColor<R, G, B>, Self>
Source§fn truecolor(&self, r: u8, g: u8, b: u8) -> FgDynColorDisplay<'_, Rgb, Self>
fn truecolor(&self, r: u8, g: u8, b: u8) -> FgDynColorDisplay<'_, Rgb, Self>
Source§fn on_truecolor(&self, r: u8, g: u8, b: u8) -> BgDynColorDisplay<'_, Rgb, Self>
fn on_truecolor(&self, r: u8, g: u8, b: u8) -> BgDynColorDisplay<'_, Rgb, Self>
Source§impl<T> PassTarget for Twhere
T: 'static,
impl<T> PassTarget for Twhere
T: 'static,
default fn target_name(_context: &Context) -> Option<OperationName>
default fn into_target( op: &RawEntityRef<Operation, IntrusiveLink>, ) -> EntityRef<'_, T>
default fn into_target_mut( op: &mut RawEntityRef<Operation, IntrusiveLink>, ) -> EntityMut<'_, T>
Source§impl<T> Pipe for Twhere
T: ?Sized,
impl<T> Pipe for Twhere
T: ?Sized,
Source§fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
Source§fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
self
and passes that borrow into the pipe function. Read moreSource§fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
self
and passes that borrow into the pipe function. Read moreSource§fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
Source§fn pipe_borrow_mut<'a, B, R>(
&'a mut self,
func: impl FnOnce(&'a mut B) -> R,
) -> R
fn pipe_borrow_mut<'a, B, R>( &'a mut self, func: impl FnOnce(&'a mut B) -> R, ) -> R
Source§fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
self
, then passes self.as_ref()
into the pipe function.Source§fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
self
, then passes self.as_mut()
into the pipe
function.Source§fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
self
, then passes self.deref()
into the pipe function.Source§impl<T> Tap for T
impl<T> Tap for T
Source§fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
Borrow<B>
of a value. Read moreSource§fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
BorrowMut<B>
of a value. Read moreSource§fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
AsRef<R>
view of a value. Read moreSource§fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
AsMut<R>
view of a value. Read moreSource§fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
Deref::Target
of a value. Read moreSource§fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
Deref::Target
of a value. Read moreSource§fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
.tap()
only in debug builds, and is erased in release builds.Source§fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
.tap_mut()
only in debug builds, and is erased in release
builds.Source§fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
.tap_borrow()
only in debug builds, and is erased in release
builds.Source§fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
.tap_borrow_mut()
only in debug builds, and is erased in release
builds.Source§fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
.tap_ref()
only in debug builds, and is erased in release
builds.Source§fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
.tap_ref_mut()
only in debug builds, and is erased in release
builds.Source§fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
.tap_deref()
only in debug builds, and is erased in release
builds.Source§impl<T, Trait> Verifier<Trait> for Twhere
Trait: ?Sized,
impl<T, Trait> Verifier<Trait> for Twhere
Trait: ?Sized,
Source§const VACUOUS: bool = true
const VACUOUS: bool = true
Verifier
sets this flag to true when its implementation is vacuous,
i.e. it always succeeds and is not dependent on runtime context. Read moreSource§default fn should_verify(&self, _context: &Context) -> bool
default fn should_verify(&self, _context: &Context) -> bool
Source§default fn maybe_verify(&self, _context: &Context) -> Result<(), Report>
default fn maybe_verify(&self, _context: &Context) -> Result<(), Report>
true
Source§impl<T, Trait> Verifier<Trait> for Twhere
T: HasVerifier<Trait>,
Trait: ?Sized,
impl<T, Trait> Verifier<Trait> for Twhere
T: HasVerifier<Trait>,
Trait: ?Sized,
Source§const VACUOUS: bool = false
const VACUOUS: bool = false
Verifier
sets this flag to true when its implementation is vacuous,
i.e. it always succeeds and is not dependent on runtime context. Read moreSource§fn should_verify(&self, context: &Context) -> bool
fn should_verify(&self, context: &Context) -> bool
Source§fn maybe_verify(&self, context: &Context) -> Result<(), Report>
fn maybe_verify(&self, context: &Context) -> Result<(), Report>
true