pub struct ObligationKey {
pub site: Address,
pub kind: TransferKind,
}Expand description
Stable identity of a reconstruction obligation.
Keyed on the address of the transfer instruction, not its block. A block’s
start address is not stable under the straight-line merging the optimized
clone performs (the jump-table pass already works around this — see its
dispatch_source_addr helper), whereas the instruction address is fixed by
the binary.
Fields§
§site: AddressAddress of the indirect transfer instruction itself.
kind: TransferKindImplementations§
Trait Implementations§
Source§impl Clone for ObligationKey
impl Clone for ObligationKey
Source§fn clone(&self) -> ObligationKey
fn clone(&self) -> ObligationKey
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreimpl Copy for ObligationKey
Source§impl Debug for ObligationKey
impl Debug for ObligationKey
Source§impl<'de> Deserialize<'de> for ObligationKey
impl<'de> Deserialize<'de> for ObligationKey
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl Display for ObligationKey
impl Display for ObligationKey
impl Eq for ObligationKey
Source§impl Hash for ObligationKey
impl Hash for ObligationKey
Source§impl Ord for ObligationKey
impl Ord for ObligationKey
Source§fn cmp(&self, other: &ObligationKey) -> Ordering
fn cmp(&self, other: &ObligationKey) -> Ordering
1.21.0 (const: unstable) · Source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
Compares and returns the maximum of two values. Read more
1.21.0 (const: unstable) · Source§fn min(self, other: Self) -> Selfwhere
Self: Sized,
fn min(self, other: Self) -> Selfwhere
Self: Sized,
Compares and returns the minimum of two values. Read more
Source§impl PartialEq for ObligationKey
impl PartialEq for ObligationKey
Source§impl PartialOrd for ObligationKey
impl PartialOrd for ObligationKey
Source§impl Serialize for ObligationKey
impl Serialize for ObligationKey
impl StructuralPartialEq for ObligationKey
Auto Trait Implementations§
impl Freeze for ObligationKey
impl RefUnwindSafe for ObligationKey
impl Send for ObligationKey
impl Sync for ObligationKey
impl Unpin for ObligationKey
impl UnsafeUnpin for ObligationKey
impl UnwindSafe for ObligationKey
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