pub struct TransactionBuilder(/* private fields */);
Implementations§
source§impl TransactionBuilder
impl TransactionBuilder
sourcepub async fn publish_tx_kind(
&self,
sender: IotaAddress,
modules: Vec<Vec<u8>>,
dep_ids: Vec<ObjectID>,
) -> Result<TransactionKind, Error>
pub async fn publish_tx_kind( &self, sender: IotaAddress, modules: Vec<Vec<u8>>, dep_ids: Vec<ObjectID>, ) -> Result<TransactionKind, Error>
Build a TransactionKind::ProgrammableTransaction
that contains
iota_types::transaction::Command::Publish
for the provided package.
sourcepub async fn publish(
&self,
sender: IotaAddress,
compiled_modules: Vec<Vec<u8>>,
dep_ids: Vec<ObjectID>,
gas: impl Into<Option<ObjectID>>,
gas_budget: u64,
) -> Result<TransactionData>
pub async fn publish( &self, sender: IotaAddress, compiled_modules: Vec<Vec<u8>>, dep_ids: Vec<ObjectID>, gas: impl Into<Option<ObjectID>>, gas_budget: u64, ) -> Result<TransactionData>
Publish a new move package.
sourcepub async fn upgrade_tx_kind(
&self,
package_id: ObjectID,
modules: Vec<Vec<u8>>,
dep_ids: Vec<ObjectID>,
upgrade_capability: ObjectID,
upgrade_policy: u8,
digest: Vec<u8>,
) -> Result<TransactionKind, Error>
pub async fn upgrade_tx_kind( &self, package_id: ObjectID, modules: Vec<Vec<u8>>, dep_ids: Vec<ObjectID>, upgrade_capability: ObjectID, upgrade_policy: u8, digest: Vec<u8>, ) -> Result<TransactionKind, Error>
Build a TransactionKind::ProgrammableTransaction
that contains
iota_types::transaction::Command::Upgrade
for the provided package.
source§impl TransactionBuilder
impl TransactionBuilder
sourcepub async fn request_add_stake(
&self,
signer: IotaAddress,
coins: Vec<ObjectID>,
amount: impl Into<Option<u64>>,
validator: IotaAddress,
gas: impl Into<Option<ObjectID>>,
gas_budget: u64,
) -> Result<TransactionData>
pub async fn request_add_stake( &self, signer: IotaAddress, coins: Vec<ObjectID>, amount: impl Into<Option<u64>>, validator: IotaAddress, gas: impl Into<Option<ObjectID>>, gas_budget: u64, ) -> Result<TransactionData>
Add stake to a validator’s staking pool using multiple IOTA coins.
sourcepub async fn request_withdraw_stake(
&self,
signer: IotaAddress,
staked_iota: ObjectID,
gas: impl Into<Option<ObjectID>>,
gas_budget: u64,
) -> Result<TransactionData>
pub async fn request_withdraw_stake( &self, signer: IotaAddress, staked_iota: ObjectID, gas: impl Into<Option<ObjectID>>, gas_budget: u64, ) -> Result<TransactionData>
Withdraw stake from a validator’s staking pool.
sourcepub async fn request_add_timelocked_stake(
&self,
signer: IotaAddress,
locked_balance: ObjectID,
validator: IotaAddress,
gas: ObjectID,
gas_budget: u64,
) -> Result<TransactionData>
pub async fn request_add_timelocked_stake( &self, signer: IotaAddress, locked_balance: ObjectID, validator: IotaAddress, gas: ObjectID, gas_budget: u64, ) -> Result<TransactionData>
Add stake to a validator’s staking pool using a timelocked IOTA coin.
sourcepub async fn request_withdraw_timelocked_stake(
&self,
signer: IotaAddress,
timelocked_staked_iota: ObjectID,
gas: ObjectID,
gas_budget: u64,
) -> Result<TransactionData>
pub async fn request_withdraw_timelocked_stake( &self, signer: IotaAddress, timelocked_staked_iota: ObjectID, gas: ObjectID, gas_budget: u64, ) -> Result<TransactionData>
Withdraw timelocked stake from a validator’s staking pool.
source§impl TransactionBuilder
impl TransactionBuilder
sourcepub async fn input_refs(
&self,
obj_ids: &[ObjectID],
) -> Result<Vec<ObjectRef>, Error>
pub async fn input_refs( &self, obj_ids: &[ObjectID], ) -> Result<Vec<ObjectRef>, Error>
Get the object references for a list of object IDs
sourcepub async fn resolve_and_checks_json_args(
&self,
builder: &mut ProgrammableTransactionBuilder,
package_id: ObjectID,
module: &Identifier,
function: &Identifier,
type_args: &[TypeTag],
json_args: Vec<IotaJsonValue>,
) -> Result<Vec<Argument>, Error>
pub async fn resolve_and_checks_json_args( &self, builder: &mut ProgrammableTransactionBuilder, package_id: ObjectID, module: &Identifier, function: &Identifier, type_args: &[TypeTag], json_args: Vec<IotaJsonValue>, ) -> Result<Vec<Argument>, Error>
Convert provided JSON arguments for a move function to their
Argument
representation and check their validity.
sourcepub async fn get_object_ref(&self, object_id: ObjectID) -> Result<ObjectRef>
pub async fn get_object_ref(&self, object_id: ObjectID) -> Result<ObjectRef>
Get the latest object ref for an object.
source§impl TransactionBuilder
impl TransactionBuilder
pub fn new(data_reader: Arc<dyn DataReader + Sync + Send>) -> Self
sourcepub async fn tx_data_for_dry_run(
&self,
sender: IotaAddress,
kind: TransactionKind,
gas_budget: u64,
gas_price: u64,
gas_payment: impl Into<Option<Vec<ObjectID>>>,
gas_sponsor: impl Into<Option<IotaAddress>>,
) -> TransactionData
pub async fn tx_data_for_dry_run( &self, sender: IotaAddress, kind: TransactionKind, gas_budget: u64, gas_price: u64, gas_payment: impl Into<Option<Vec<ObjectID>>>, gas_sponsor: impl Into<Option<IotaAddress>>, ) -> TransactionData
Construct the transaction data for a dry run
sourcepub async fn tx_data(
&self,
sender: IotaAddress,
kind: TransactionKind,
gas_budget: u64,
gas_price: u64,
gas_payment: Vec<ObjectID>,
gas_sponsor: impl Into<Option<IotaAddress>>,
) -> Result<TransactionData, Error>
pub async fn tx_data( &self, sender: IotaAddress, kind: TransactionKind, gas_budget: u64, gas_price: u64, gas_payment: Vec<ObjectID>, gas_sponsor: impl Into<Option<IotaAddress>>, ) -> Result<TransactionData, Error>
Construct the transaction data from a transaction kind, and other parameters. If the gas_payment list is empty, it will pick the first gas coin that has at least the required gas budget that is not in the input coins.
sourcepub async fn transfer_object_tx_kind(
&self,
object_id: ObjectID,
recipient: IotaAddress,
) -> Result<TransactionKind, Error>
pub async fn transfer_object_tx_kind( &self, object_id: ObjectID, recipient: IotaAddress, ) -> Result<TransactionKind, Error>
Build a TransactionKind::ProgrammableTransaction
that contains a
Command::TransferObjects
.
sourcepub async fn transfer_object(
&self,
signer: IotaAddress,
object_id: ObjectID,
gas: impl Into<Option<ObjectID>>,
gas_budget: u64,
recipient: IotaAddress,
) -> Result<TransactionData>
pub async fn transfer_object( &self, signer: IotaAddress, object_id: ObjectID, gas: impl Into<Option<ObjectID>>, gas_budget: u64, recipient: IotaAddress, ) -> Result<TransactionData>
Transfer an object to the specified recipient address.
sourcepub fn transfer_iota_tx_kind(
&self,
recipient: IotaAddress,
amount: impl Into<Option<u64>>,
) -> TransactionKind
pub fn transfer_iota_tx_kind( &self, recipient: IotaAddress, amount: impl Into<Option<u64>>, ) -> TransactionKind
Build a TransactionKind::ProgrammableTransaction
that contains a
Command::SplitCoins
if some amount is provided and then transfers
the split amount or the whole gas object with
Command::TransferObjects
to the recipient.
sourcepub async fn transfer_iota(
&self,
signer: IotaAddress,
iota_object_id: ObjectID,
gas_budget: u64,
recipient: IotaAddress,
amount: impl Into<Option<u64>>,
) -> Result<TransactionData>
pub async fn transfer_iota( &self, signer: IotaAddress, iota_object_id: ObjectID, gas_budget: u64, recipient: IotaAddress, amount: impl Into<Option<u64>>, ) -> Result<TransactionData>
Transfer IOTA from the provided coin object to the recipient address. The provided coin object is also used for the gas payment.
sourcepub async fn pay_tx_kind(
&self,
input_coins: Vec<ObjectID>,
recipients: Vec<IotaAddress>,
amounts: Vec<u64>,
) -> Result<TransactionKind, Error>
pub async fn pay_tx_kind( &self, input_coins: Vec<ObjectID>, recipients: Vec<IotaAddress>, amounts: Vec<u64>, ) -> Result<TransactionKind, Error>
Build a TransactionKind::ProgrammableTransaction
that contains a
Command::MergeCoins
if multiple inputs coins are provided and then a
Command::SplitCoins
together with Command::TransferObjects
for
each recipient + amount.
The length of the vectors for recipients and amounts must be the same.
sourcepub async fn pay(
&self,
signer: IotaAddress,
input_coins: Vec<ObjectID>,
recipients: Vec<IotaAddress>,
amounts: Vec<u64>,
gas: impl Into<Option<ObjectID>>,
gas_budget: u64,
) -> Result<TransactionData>
pub async fn pay( &self, signer: IotaAddress, input_coins: Vec<ObjectID>, recipients: Vec<IotaAddress>, amounts: Vec<u64>, gas: impl Into<Option<ObjectID>>, gas_budget: u64, ) -> Result<TransactionData>
Take multiple coins and send to multiple addresses following the specified amount list. The length of the vectors must be the same. Take any type of coin, including IOTA. A separate IOTA object will be used for gas payment.
If the recipient and sender are the same, it’s effectively a
generalized version of split_coin
and merge_coin
.
sourcepub fn pay_iota_tx_kind(
&self,
recipients: Vec<IotaAddress>,
amounts: Vec<u64>,
) -> Result<TransactionKind, Error>
pub fn pay_iota_tx_kind( &self, recipients: Vec<IotaAddress>, amounts: Vec<u64>, ) -> Result<TransactionKind, Error>
Construct a transaction kind for the PayIota transaction type.
Use this function together with tx_data_for_dry_run or tx_data for maximum reusability. The length of the vectors must be the same.
sourcepub async fn pay_iota(
&self,
signer: IotaAddress,
input_coins: Vec<ObjectID>,
recipients: Vec<IotaAddress>,
amounts: Vec<u64>,
gas_budget: u64,
) -> Result<TransactionData>
pub async fn pay_iota( &self, signer: IotaAddress, input_coins: Vec<ObjectID>, recipients: Vec<IotaAddress>, amounts: Vec<u64>, gas_budget: u64, ) -> Result<TransactionData>
Take multiple IOTA coins and send to multiple addresses following the specified amount list. The length of the vectors must be the same. Only takes IOTA coins and does not require a gas coin object.
The first IOTA coin object input will be used for gas payment, so the balance of this IOTA coin has to be equal to or greater than the gas budget. The total IOTA coin balance input must be sufficient to cover both the gas budget and the amounts to be transferred.
sourcepub fn pay_all_iota_tx_kind(&self, recipient: IotaAddress) -> TransactionKind
pub fn pay_all_iota_tx_kind(&self, recipient: IotaAddress) -> TransactionKind
Build a TransactionKind::ProgrammableTransaction
that contains a
Command::TransferObjects
that sends the gas coin to the recipient.
sourcepub async fn pay_all_iota(
&self,
signer: IotaAddress,
input_coins: Vec<ObjectID>,
recipient: IotaAddress,
gas_budget: u64,
) -> Result<TransactionData>
pub async fn pay_all_iota( &self, signer: IotaAddress, input_coins: Vec<ObjectID>, recipient: IotaAddress, gas_budget: u64, ) -> Result<TransactionData>
Take multiple IOTA coins and send them to one recipient, after gas payment deduction. After the transaction, strictly zero of the IOTA coins input will be left under the sender’s address.
The first IOTA coin object input will be used for gas payment, so the balance of this IOTA coin has to be equal or greater than the gas budget. A sender can transfer all their IOTA coins to another address with strictly zero IOTA left in one transaction via this transaction type.
sourcepub async fn move_call_tx_kind(
&self,
package_object_id: ObjectID,
module: &str,
function: &str,
type_args: Vec<IotaTypeTag>,
call_args: Vec<IotaJsonValue>,
) -> Result<TransactionKind, Error>
pub async fn move_call_tx_kind( &self, package_object_id: ObjectID, module: &str, function: &str, type_args: Vec<IotaTypeTag>, call_args: Vec<IotaJsonValue>, ) -> Result<TransactionKind, Error>
Build a TransactionKind::ProgrammableTransaction
that contains a
Command::MoveCall
.
sourcepub async fn move_call(
&self,
signer: IotaAddress,
package_object_id: ObjectID,
module: &str,
function: &str,
type_args: Vec<IotaTypeTag>,
call_args: Vec<IotaJsonValue>,
gas: impl Into<Option<ObjectID>>,
gas_budget: u64,
gas_price: impl Into<Option<u64>>,
) -> Result<TransactionData>
pub async fn move_call( &self, signer: IotaAddress, package_object_id: ObjectID, module: &str, function: &str, type_args: Vec<IotaTypeTag>, call_args: Vec<IotaJsonValue>, gas: impl Into<Option<ObjectID>>, gas_budget: u64, gas_price: impl Into<Option<u64>>, ) -> Result<TransactionData>
Call a move function from a published package.
sourcepub async fn single_move_call(
&self,
builder: &mut ProgrammableTransactionBuilder,
package: ObjectID,
module: &str,
function: &str,
type_args: Vec<IotaTypeTag>,
call_args: Vec<IotaJsonValue>,
) -> Result<()>
pub async fn single_move_call( &self, builder: &mut ProgrammableTransactionBuilder, package: ObjectID, module: &str, function: &str, type_args: Vec<IotaTypeTag>, call_args: Vec<IotaJsonValue>, ) -> Result<()>
Add a single move call to the provided
ProgrammableTransactionBuilder
.
sourcepub async fn split_coin_tx_kind(
&self,
coin_object_id: ObjectID,
split_amounts: impl Into<Option<Vec<u64>>>,
split_count: impl Into<Option<u64>>,
) -> Result<TransactionKind, Error>
pub async fn split_coin_tx_kind( &self, coin_object_id: ObjectID, split_amounts: impl Into<Option<Vec<u64>>>, split_count: impl Into<Option<u64>>, ) -> Result<TransactionKind, Error>
Construct a transaction kind for the SplitCoin transaction type It expects that only one of the two: split_amounts or split_count is provided If both are provided, it will use split_amounts.
pub async fn split_coin( &self, signer: IotaAddress, coin_object_id: ObjectID, split_amounts: Vec<u64>, gas: impl Into<Option<ObjectID>>, gas_budget: u64, ) -> Result<TransactionData>
pub async fn split_coin_equal( &self, signer: IotaAddress, coin_object_id: ObjectID, split_count: u64, gas: impl Into<Option<ObjectID>>, gas_budget: u64, ) -> Result<TransactionData>
sourcepub async fn merge_coins_tx_kind(
&self,
primary_coin: ObjectID,
coin_to_merge: ObjectID,
) -> Result<TransactionKind, Error>
pub async fn merge_coins_tx_kind( &self, primary_coin: ObjectID, coin_to_merge: ObjectID, ) -> Result<TransactionKind, Error>
Build a TransactionKind::ProgrammableTransaction
that contains
Command::MergeCoins
with the provided coins.
pub async fn merge_coins( &self, signer: IotaAddress, primary_coin: ObjectID, coin_to_merge: ObjectID, gas: impl Into<Option<ObjectID>>, gas_budget: u64, ) -> Result<TransactionData>
sourcepub async fn batch_transaction(
&self,
signer: IotaAddress,
single_transaction_params: Vec<RPCTransactionRequestParams>,
gas: impl Into<Option<ObjectID>>,
gas_budget: u64,
) -> Result<TransactionData>
pub async fn batch_transaction( &self, signer: IotaAddress, single_transaction_params: Vec<RPCTransactionRequestParams>, gas: impl Into<Option<ObjectID>>, gas_budget: u64, ) -> Result<TransactionData>
Create an unsigned batched transaction, useful for the JSON RPC.
Trait Implementations§
source§impl Clone for TransactionBuilder
impl Clone for TransactionBuilder
source§fn clone(&self) -> TransactionBuilder
fn clone(&self) -> TransactionBuilder
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreAuto Trait Implementations§
impl Freeze for TransactionBuilder
impl !RefUnwindSafe for TransactionBuilder
impl Send for TransactionBuilder
impl Sync for TransactionBuilder
impl Unpin for TransactionBuilder
impl !UnwindSafe for TransactionBuilder
Blanket Implementations§
§impl<U> As for U
impl<U> As for U
§fn as_<T>(self) -> Twhere
T: CastFrom<U>,
fn as_<T>(self) -> Twhere
T: CastFrom<U>,
self
to type T
. The semantics of numeric casting with the as
operator are followed, so <T as As>::as_::<U>
can be used in the same way as T as U
for numeric conversions. Read more§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)§impl<T> Conv for T
impl<T> Conv for T
§impl<T> ConvertTo<T> for Twhere
T: Send,
impl<T> ConvertTo<T> for Twhere
T: Send,
fn convert(self) -> Result<T, Error>
fn convert_unchecked(self) -> T
§impl<T> FmtForward for T
impl<T> FmtForward for T
§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.§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.§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.§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.§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.§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.§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.§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.§fn fmt_list(self) -> FmtList<Self>where
&'a Self: for<'a> IntoIterator,
fn fmt_list(self) -> FmtList<Self>where
&'a Self: for<'a> IntoIterator,
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§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 more§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T
in a Request
source§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T
in a tonic::Request
§impl<T> Pipe for Twhere
T: ?Sized,
impl<T> Pipe for Twhere
T: ?Sized,
§fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
§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 more§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 more§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
§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
§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.§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.§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.§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
§impl<T> Tap for T
impl<T> Tap for T
§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 more§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 more§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 more§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 more§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 more§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 more§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.§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.§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.§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.§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.§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.§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.