pub enum BranchCost {
Regular {
const_cost: ConstCost,
pre_cost: PreCost,
},
FunctionCost {
const_cost: ConstCost,
function: Function,
sign: BranchCostSign,
},
BranchAlign,
WithdrawGas(WithdrawGasBranchInfo),
RedepositGas,
}
Expand description
The cost of executing a libfunc for a specific output branch.
Variants§
Regular
The cost of the statement is independent on other statements.
FunctionCost
A cost of a function.
sign
controls whether the cost (the function cost as well as const_cost
) is added
to or reduced from the wallet.
BranchAlign
The cost of the branch_align
libfunc.
WithdrawGas(WithdrawGasBranchInfo)
The cost of withdraw_gas
and withdraw_gas_all
libfuncs.
RedepositGas
The cost of the redeposit_gas
libfunc.
Trait Implementations§
Source§impl Clone for BranchCost
impl Clone for BranchCost
Source§fn clone(&self) -> BranchCost
fn clone(&self) -> BranchCost
Returns a copy of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreSource§impl Debug for BranchCost
impl Debug for BranchCost
Auto Trait Implementations§
impl Freeze for BranchCost
impl RefUnwindSafe for BranchCost
impl Send for BranchCost
impl Sync for BranchCost
impl Unpin for BranchCost
impl UnwindSafe for BranchCost
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
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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>
Converts
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>
Converts
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