Struct rustc_middle::ty::consts::int::ScalarInt [−][src]
Expand description
The raw bytes of a simple value.
This is a packed struct in order to allow this type to be optimally embedded in enums (like Scalar).
Fields
data: u128Expand description
The first size bytes of data are the value.
Do not try to read less or more bytes than that. The remaining bytes must be 0.
size: u8Implementations
impl ScalarInt[src]
impl ScalarInt[src]pub const TRUE: ScalarInt[src]
pub const FALSE: ScalarInt[src]
pub const ZST: ScalarInt[src]
pub fn size(self) -> Size[src]
fn check_data(self)[src]
fn check_data(self)[src]Make sure the data fits in size.
This is guaranteed by all constructors here, but having had this check saved us from
bugs many times in the past, so keeping it around is definitely worth it.
pub fn null(size: Size) -> Self[src]
pub fn is_null(self) -> bool[src]
pub(crate) fn ptr_sized_op<E>(
self,
dl: &TargetDataLayout,
f_int: impl FnOnce(u64) -> Result<u64, E>
) -> Result<Self, E>[src]
self,
dl: &TargetDataLayout,
f_int: impl FnOnce(u64) -> Result<u64, E>
) -> Result<Self, E>
pub fn try_from_uint(i: impl Into<u128>, size: Size) -> Option<Self>[src]
pub fn try_from_int(i: impl Into<i128>, size: Size) -> Option<Self>[src]
pub fn assert_bits(self, target_size: Size) -> u128[src]
pub fn to_bits(self, target_size: Size) -> Result<u128, Size>[src]
pub fn try_to_machine_usize<'tcx>(&self, tcx: TyCtxt<'tcx>) -> Result<u64, Size>[src]
Trait Implementations
impl<CTX> HashStable<CTX> for ScalarInt[src]
impl<CTX> HashStable<CTX> for ScalarInt[src]fn hash_stable(&self, hcx: &mut CTX, hasher: &mut StableHasher)[src]
impl Ord for ScalarInt[src]
impl Ord for ScalarInt[src]impl PartialOrd<ScalarInt> for ScalarInt[src]
impl PartialOrd<ScalarInt> for ScalarInt[src]fn partial_cmp(&self, other: &ScalarInt) -> Option<Ordering>[src]
fn partial_cmp(&self, other: &ScalarInt) -> Option<Ordering>[src]This method returns an ordering between self and other values if one exists. Read more
#[must_use]fn lt(&self, other: &Rhs) -> bool1.0.0[src]
#[must_use]fn lt(&self, other: &Rhs) -> bool1.0.0[src]This method tests less than (for self and other) and is used by the < operator. Read more
#[must_use]fn le(&self, other: &Rhs) -> bool1.0.0[src]
#[must_use]fn le(&self, other: &Rhs) -> bool1.0.0[src]This method tests less than or equal to (for self and other) and is used by the <=
operator. Read more
impl Copy for ScalarInt[src]
impl Eq for ScalarInt[src]
impl StructuralEq for ScalarInt[src]
impl StructuralPartialEq for ScalarInt[src]
Auto Trait Implementations
impl RefUnwindSafe for ScalarInt
impl Send for ScalarInt
impl Sync for ScalarInt
impl Unpin for ScalarInt
impl UnwindSafe for ScalarInt
Blanket Implementations
impl<'tcx, T> ArenaAllocatable<'tcx, ()> for T where
T: Copy, [src]
impl<'tcx, T> ArenaAllocatable<'tcx, ()> for T where
T: Copy, [src]pub fn allocate_on(Self, &'a Arena<'tcx>) -> &'a mut T[src]
pub fn allocate_from_iter(
&'a Arena<'tcx>,
impl IntoIterator<Item = T>
) -> &'a mut [T]ⓘ[src]
&'a Arena<'tcx>,
impl IntoIterator<Item = T>
) -> &'a mut [T]ⓘ
impl<T> BorrowMut<T> for T where
T: ?Sized, [src]
impl<T> BorrowMut<T> for T where
T: ?Sized, [src]pub fn borrow_mut(&mut self) -> &mut T[src]
pub fn borrow_mut(&mut self) -> &mut T[src]Mutably borrows from an owned value. Read more
impl<Ctxt, T> DepNodeParams<Ctxt> for T where
T: HashStable<<Ctxt as DepContext>::StableHashingContext> + Debug,
Ctxt: DepContext, [src]
impl<Ctxt, T> DepNodeParams<Ctxt> for T where
T: HashStable<<Ctxt as DepContext>::StableHashingContext> + Debug,
Ctxt: DepContext, [src]pub default fn can_reconstruct_query_key() -> bool[src]
pub default fn to_fingerprint(&self, tcx: Ctxt) -> Fingerprint[src]
pub default fn to_fingerprint(&self, tcx: Ctxt) -> Fingerprint[src]This method turns the parameters of a DepNodeConstructor into an opaque Fingerprint to be used in DepNode. Not all DepNodeParams support being turned into a Fingerprint (they don’t need to if the corresponding DepNode is anonymous). Read more
pub default fn to_debug_str(&self, Ctxt) -> String[src]
pub default fn recover(
Ctxt,
&DepNode<<Ctxt as DepContext>::DepKind>
) -> Option<T>[src]
pub default fn recover(
Ctxt,
&DepNode<<Ctxt as DepContext>::DepKind>
) -> Option<T>[src]This method tries to recover the query key from the given DepNode,
something which is needed when forcing DepNodes during red-green
evaluation. The query system will only call this method if
can_reconstruct_query_key() is true.
It is always valid to return None here, in which case incremental
compilation will treat the query as having changed instead of forcing it. Read more
impl<T> MaybeResult<T> for T[src]
impl<T> MaybeResult<T> for T[src]impl<T> ToOwned for T where
T: Clone, [src]
impl<T> ToOwned for T where
T: Clone, [src]type Owned = T
type Owned = TThe resulting type after obtaining ownership.
pub fn to_owned(&self) -> T[src]
pub fn to_owned(&self) -> T[src]Creates owned data from borrowed data, usually by cloning. Read more
pub fn clone_into(&self, target: &mut T)[src]
pub fn clone_into(&self, target: &mut T)[src]🔬 This is a nightly-only experimental API. (toowned_clone_into)
recently added
Uses borrowed data to replace owned data, usually by cloning. Read more
impl<T> WithConstness for T[src]
impl<T> WithConstness for T[src]fn with_constness(self, constness: Constness) -> ConstnessAnd<Self>[src]
fn with_const(self) -> ConstnessAnd<Self>[src]
fn without_const(self) -> ConstnessAnd<Self>[src]
impl<'a, T> Captures<'a> for T where
T: ?Sized, [src]
T: ?Sized,