#[non_exhaustive]pub enum OpType {
Show 22 variants
Module(Module),
FuncDefn(FuncDefn),
FuncDecl(FuncDecl),
AliasDecl(AliasDecl),
AliasDefn(AliasDefn),
Const(Const),
Input(Input),
Output(Output),
Call(Call),
CallIndirect(CallIndirect),
LoadConstant(LoadConstant),
LoadFunction(LoadFunction),
DFG(DFG),
ExtensionOp(ExtensionOp),
OpaqueOp(OpaqueOp),
Tag(Tag),
DataflowBlock(DataflowBlock),
ExitBlock(ExitBlock),
TailLoop(TailLoop),
CFG(CFG),
Conditional(Conditional),
Case(Case),
}Expand description
The concrete operation types for a node in the HUGR.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Module(Module)
FuncDefn(FuncDefn)
FuncDecl(FuncDecl)
AliasDecl(AliasDecl)
AliasDefn(AliasDefn)
Const(Const)
Input(Input)
Output(Output)
Call(Call)
CallIndirect(CallIndirect)
LoadConstant(LoadConstant)
LoadFunction(LoadFunction)
DFG(DFG)
ExtensionOp(ExtensionOp)
OpaqueOp(OpaqueOp)
Tag(Tag)
DataflowBlock(DataflowBlock)
ExitBlock(ExitBlock)
TailLoop(TailLoop)
CFG(CFG)
Conditional(Conditional)
Case(Case)
Implementations§
Source§impl OpType
impl OpType
Sourcepub fn as_func_defn(&self) -> Option<&FuncDefn>
pub fn as_func_defn(&self) -> Option<&FuncDefn>
If is an instance of FuncDefn return a reference to it.
Sourcepub fn is_func_defn(&self) -> bool
pub fn is_func_defn(&self) -> bool
Returns true if the operation is an instance of FuncDefn.
Source§impl OpType
impl OpType
Sourcepub fn as_func_decl(&self) -> Option<&FuncDecl>
pub fn as_func_decl(&self) -> Option<&FuncDecl>
If is an instance of FuncDecl return a reference to it.
Sourcepub fn is_func_decl(&self) -> bool
pub fn is_func_decl(&self) -> bool
Returns true if the operation is an instance of FuncDecl.
Source§impl OpType
impl OpType
Sourcepub fn as_alias_decl(&self) -> Option<&AliasDecl>
pub fn as_alias_decl(&self) -> Option<&AliasDecl>
If is an instance of AliasDecl return a reference to it.
Sourcepub fn is_alias_decl(&self) -> bool
pub fn is_alias_decl(&self) -> bool
Returns true if the operation is an instance of AliasDecl.
Source§impl OpType
impl OpType
Sourcepub fn as_alias_defn(&self) -> Option<&AliasDefn>
pub fn as_alias_defn(&self) -> Option<&AliasDefn>
If is an instance of AliasDefn return a reference to it.
Sourcepub fn is_alias_defn(&self) -> bool
pub fn is_alias_defn(&self) -> bool
Returns true if the operation is an instance of AliasDefn.
Source§impl OpType
impl OpType
Sourcepub fn as_call_indirect(&self) -> Option<&CallIndirect>
pub fn as_call_indirect(&self) -> Option<&CallIndirect>
If is an instance of CallIndirect return a reference to it.
Sourcepub fn is_call_indirect(&self) -> bool
pub fn is_call_indirect(&self) -> bool
Returns true if the operation is an instance of CallIndirect.
Source§impl OpType
impl OpType
Sourcepub fn as_load_constant(&self) -> Option<&LoadConstant>
pub fn as_load_constant(&self) -> Option<&LoadConstant>
If is an instance of LoadConstant return a reference to it.
Sourcepub fn is_load_constant(&self) -> bool
pub fn is_load_constant(&self) -> bool
Returns true if the operation is an instance of LoadConstant.
Source§impl OpType
impl OpType
Sourcepub fn as_load_function(&self) -> Option<&LoadFunction>
pub fn as_load_function(&self) -> Option<&LoadFunction>
If is an instance of LoadFunction return a reference to it.
Sourcepub fn is_load_function(&self) -> bool
pub fn is_load_function(&self) -> bool
Returns true if the operation is an instance of LoadFunction.
Source§impl OpType
impl OpType
Sourcepub fn as_extension_op(&self) -> Option<&ExtensionOp>
pub fn as_extension_op(&self) -> Option<&ExtensionOp>
If is an instance of ExtensionOp return a reference to it.
Sourcepub fn is_extension_op(&self) -> bool
pub fn is_extension_op(&self) -> bool
Returns true if the operation is an instance of ExtensionOp.
Source§impl OpType
impl OpType
Sourcepub fn as_dataflow_block(&self) -> Option<&DataflowBlock>
pub fn as_dataflow_block(&self) -> Option<&DataflowBlock>
If is an instance of DataflowBlock return a reference to it.
Sourcepub fn is_dataflow_block(&self) -> bool
pub fn is_dataflow_block(&self) -> bool
Returns true if the operation is an instance of DataflowBlock.
Source§impl OpType
impl OpType
Sourcepub fn as_exit_block(&self) -> Option<&ExitBlock>
pub fn as_exit_block(&self) -> Option<&ExitBlock>
If is an instance of ExitBlock return a reference to it.
Sourcepub fn is_exit_block(&self) -> bool
pub fn is_exit_block(&self) -> bool
Returns true if the operation is an instance of ExitBlock.
Source§impl OpType
impl OpType
Sourcepub fn as_tail_loop(&self) -> Option<&TailLoop>
pub fn as_tail_loop(&self) -> Option<&TailLoop>
If is an instance of TailLoop return a reference to it.
Sourcepub fn is_tail_loop(&self) -> bool
pub fn is_tail_loop(&self) -> bool
Returns true if the operation is an instance of TailLoop.
Source§impl OpType
impl OpType
Sourcepub fn as_conditional(&self) -> Option<&Conditional>
pub fn as_conditional(&self) -> Option<&Conditional>
If is an instance of Conditional return a reference to it.
Sourcepub fn is_conditional(&self) -> bool
pub fn is_conditional(&self) -> bool
Returns true if the operation is an instance of Conditional.
Source§impl OpType
impl OpType
Sourcepub fn other_port_kind(&self, dir: Direction) -> Option<EdgeKind>
pub fn other_port_kind(&self, dir: Direction) -> Option<EdgeKind>
The edge kind for the non-dataflow ports of the operation, not described by the signature.
If not None, a single extra port of that kind will be present on the given direction after any dataflow or constant ports.
Sourcepub fn static_port_kind(&self, dir: Direction) -> Option<EdgeKind>
pub fn static_port_kind(&self, dir: Direction) -> Option<EdgeKind>
The edge kind for the static ports of the operation, not described by the dataflow signature.
If not None, an extra input port of that kind will be present on the
given direction after any dataflow ports and before any
OpType::other_port_kind ports.
Sourcepub fn port_kind(&self, port: impl Into<Port>) -> Option<EdgeKind>
pub fn port_kind(&self, port: impl Into<Port>) -> Option<EdgeKind>
Returns the edge kind for the given port.
The result may be a value port, a static port, or a non-dataflow port.
See OpType::dataflow_signature, OpType::static_port_kind, and
OpType::other_port_kind.
Sourcepub fn other_port(&self, dir: Direction) -> Option<Port>
pub fn other_port(&self, dir: Direction) -> Option<Port>
The non-dataflow port for the operation, not described by the signature.
See [OpType::other_port_kind].
Returns None if there is no such port, or if the operation defines multiple non-dataflow ports.
Sourcepub fn other_input_port(&self) -> Option<IncomingPort>
pub fn other_input_port(&self) -> Option<IncomingPort>
The non-dataflow input port for the operation, not described by the signature.
See [OpType::other_port].
Sourcepub fn other_output_port(&self) -> Option<OutgoingPort>
pub fn other_output_port(&self) -> Option<OutgoingPort>
The non-dataflow output port for the operation, not described by the signature.
See [OpType::other_port].
Sourcepub fn static_port(&self, dir: Direction) -> Option<Port>
pub fn static_port(&self, dir: Direction) -> Option<Port>
If the op has a static port, the port of that input.
See OpType::static_input_port and OpType::static_output_port.
Sourcepub fn static_input_port(&self) -> Option<IncomingPort>
pub fn static_input_port(&self) -> Option<IncomingPort>
If the op has a static input (Call, LoadConstant, and LoadFunction), the port of
that input.
Sourcepub fn static_output_port(&self) -> Option<OutgoingPort>
pub fn static_output_port(&self) -> Option<OutgoingPort>
Sourcepub fn value_ports(&self, dir: Direction) -> impl DoubleEndedIterator
pub fn value_ports(&self, dir: Direction) -> impl DoubleEndedIterator
Return the dataflow value ports for the given direction.
See OpType::value_input_ports and OpType::value_output_ports.
Sourcepub fn value_input_ports(&self) -> impl DoubleEndedIterator
pub fn value_input_ports(&self) -> impl DoubleEndedIterator
Return the dataflow value input ports for the given direction.
Sourcepub fn value_output_ports(&self) -> impl DoubleEndedIterator
pub fn value_output_ports(&self) -> impl DoubleEndedIterator
Return the dataflow value output ports for the given direction.
Sourcepub fn value_port_count(&self, dir: Direction) -> usize
pub fn value_port_count(&self, dir: Direction) -> usize
The number of Value ports in given direction.
Sourcepub fn value_input_count(&self) -> usize
pub fn value_input_count(&self) -> usize
The number of Value input ports.
Sourcepub fn value_output_count(&self) -> usize
pub fn value_output_count(&self) -> usize
The number of Value output ports.
Sourcepub fn port_count(&self, dir: Direction) -> usize
pub fn port_count(&self, dir: Direction) -> usize
Returns the number of ports for the given direction.
Sourcepub fn input_count(&self) -> usize
pub fn input_count(&self) -> usize
Returns the number of inputs ports for the operation.
Sourcepub fn output_count(&self) -> usize
pub fn output_count(&self) -> usize
Returns the number of outputs ports for the operation.
Sourcepub fn is_container(&self) -> bool
pub fn is_container(&self) -> bool
Checks whether the operation can contain children nodes.
Sourcepub fn cast<T>(&self) -> Option<T>where
T: MakeExtensionOp,
pub fn cast<T>(&self) -> Option<T>where
T: MakeExtensionOp,
Cast to an extension operation.
Returns None if the operation is not of the requested type.
Sourcepub fn extension_id(&self) -> Option<&IdentList>
pub fn extension_id(&self) -> Option<&IdentList>
Returns the extension where the operation is defined, if any.
Sourcepub fn used_extensions(
&self,
) -> Result<ExtensionRegistry, ExtensionCollectionError>
pub fn used_extensions( &self, ) -> Result<ExtensionRegistry, ExtensionCollectionError>
Returns a registry with all the extensions required by the operation.
This includes the operation extension in OpType::extension_id, and any
extension required by the operation’s signature types.
Trait Implementations§
Source§impl<'de> Deserialize<'de> for OpType
impl<'de> Deserialize<'de> for OpType
Source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<OpType, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<OpType, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Source§impl From<CallIndirect> for OpType
impl From<CallIndirect> for OpType
Source§fn from(v: CallIndirect) -> OpType
fn from(v: CallIndirect) -> OpType
Source§impl From<Conditional> for OpType
impl From<Conditional> for OpType
Source§fn from(v: Conditional) -> OpType
fn from(v: Conditional) -> OpType
Source§impl From<DataflowBlock> for OpType
impl From<DataflowBlock> for OpType
Source§fn from(v: DataflowBlock) -> OpType
fn from(v: DataflowBlock) -> OpType
Source§impl From<ExtensionOp> for OpType
impl From<ExtensionOp> for OpType
Source§fn from(v: ExtensionOp) -> OpType
fn from(v: ExtensionOp) -> OpType
Source§impl From<LoadConstant> for OpType
impl From<LoadConstant> for OpType
Source§fn from(v: LoadConstant) -> OpType
fn from(v: LoadConstant) -> OpType
Source§impl From<LoadFunction> for OpType
impl From<LoadFunction> for OpType
Source§fn from(v: LoadFunction) -> OpType
fn from(v: LoadFunction) -> OpType
Source§impl<T> From<T> for OpTypewhere
T: MakeRegisteredOp,
impl<T> From<T> for OpTypewhere
T: MakeRegisteredOp,
Source§impl OpParent for OpType
impl OpParent for OpType
Source§fn inner_function_type(&self) -> Option<Cow<'_, FuncTypeBase<TypeRow>>>
fn inner_function_type(&self) -> Option<Cow<'_, FuncTypeBase<TypeRow>>>
The inner function type of the operation, if it has a child dataflow sibling graph.
Non-container ops like FuncDecl return None even though they represent a function.
Source§impl OpTrait for OpType
impl OpTrait for OpType
Source§fn description(&self) -> &str
fn description(&self) -> &str
A human-readable description of the operation.
Source§fn try_node_handle<N, H>(&self, __enum_dispatch_arg_0: N) -> Option<H>
fn try_node_handle<N, H>(&self, __enum_dispatch_arg_0: N) -> Option<H>
Tries to create a specific NodeHandle for a node with this operation
type.
Fails if the operation’s OpTrait::tag does not match the
NodeHandle::TAG of the requested handle.
Source§fn dataflow_signature(&self) -> Option<Cow<'_, FuncTypeBase<TypeRow>>>
fn dataflow_signature(&self) -> Option<Cow<'_, FuncTypeBase<TypeRow>>>
The signature of the operation.
Only dataflow operations have a signature, otherwise returns None.
Source§fn other_input(&self) -> Option<EdgeKind>
fn other_input(&self) -> Option<EdgeKind>
The edge kind for the non-dataflow inputs of the operation, not described by the signature.
If not None, a single extra input port of that kind will be present.
Source§fn other_output(&self) -> Option<EdgeKind>
fn other_output(&self) -> Option<EdgeKind>
The edge kind for the non-dataflow outputs of the operation, not described by the signature.
If not None, a single extra output port of that kind will be present.
Source§fn static_input(&self) -> Option<EdgeKind>
fn static_input(&self) -> Option<EdgeKind>
The edge kind for a single constant input of the operation, not described by the dataflow signature.
If not None, an extra input port of that kind will be present after the
dataflow input ports and before any OpTrait::other_input ports.
Source§fn static_output(&self) -> Option<EdgeKind>
fn static_output(&self) -> Option<EdgeKind>
The edge kind for a single constant output of the operation, not described by the dataflow signature.
If not None, an extra output port of that kind will be present after the
dataflow input ports and before any OpTrait::other_output ports.
Source§fn non_df_port_count(&self, __enum_dispatch_arg_0: Direction) -> usize
fn non_df_port_count(&self, __enum_dispatch_arg_0: Direction) -> usize
Get the number of non-dataflow multiports.
Source§fn substitute(&self, __enum_dispatch_arg_0: &Substitution<'_>) -> OpType
fn substitute(&self, __enum_dispatch_arg_0: &Substitution<'_>) -> OpType
Apply a type-level substitution to this OpType, i.e. replace
type variables with new types.
Source§impl PartialOrd for OpType
impl PartialOrd for OpType
Source§impl Serialize for OpType
impl Serialize for OpType
Source§fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
impl StructuralPartialEq for OpType
Source§impl TryInto<CallIndirect> for OpType
impl TryInto<CallIndirect> for OpType
Source§impl TryInto<Conditional> for OpType
impl TryInto<Conditional> for OpType
Source§impl TryInto<DataflowBlock> for OpType
impl TryInto<DataflowBlock> for OpType
Source§impl TryInto<ExtensionOp> for OpType
impl TryInto<ExtensionOp> for OpType
Source§impl TryInto<LoadConstant> for OpType
impl TryInto<LoadConstant> for OpType
Source§impl TryInto<LoadFunction> for OpType
impl TryInto<LoadFunction> for OpType
Source§impl ValidateOp for OpType
impl ValidateOp for OpType
Source§fn validity_flags<N>(&self) -> OpValidityFlags<N>where
N: HugrNode,
fn validity_flags<N>(&self) -> OpValidityFlags<N>where
N: HugrNode,
Returns a set of flags describing the validity predicates for this operation.
Source§fn validate_op_children<'a, N>(
&self,
__enum_dispatch_arg_0: impl DoubleEndedIterator<Item = (N, &'a OpType)>,
) -> Result<(), ChildrenValidationError<N>>where
N: HugrNode,
fn validate_op_children<'a, N>(
&self,
__enum_dispatch_arg_0: impl DoubleEndedIterator<Item = (N, &'a OpType)>,
) -> Result<(), ChildrenValidationError<N>>where
N: HugrNode,
Validate the ordered list of children.
Auto Trait Implementations§
impl !RefUnwindSafe for OpType
impl !UnwindSafe for OpType
impl Freeze for OpType
impl Send for OpType
impl Sync for OpType
impl Unpin for OpType
impl UnsafeUnpin for OpType
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>, which can then be
downcast into Box<dyn ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait> (where Trait: Downcast) to Rc<Any>, which can then be further
downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.Source§impl<T> DowncastSend for T
impl<T> DowncastSend for T
Source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
Source§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> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§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> Pointable for T
impl<T> Pointable for T
impl<T> Read<Exclusive, BecauseExclusive> for Twhere
T: ?Sized,
Source§impl<T> Serialize for T
impl<T> Serialize for T
fn erased_serialize(&self, serializer: &mut dyn Serializer) -> Result<(), Error>
fn do_erased_serialize( &self, serializer: &mut dyn Serializer, ) -> Result<(), ErrorImpl>
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.