[][src]Enum rustc::mir::interpret::ScalarMaybeUndef

pub enum ScalarMaybeUndef<Tag = (), Id = AllocId> {
    Scalar(Scalar<Tag, Id>),
    Undef,
}
⚙️ This is an internal compiler API. (rustc_private)

This crate is being loaded from the sysroot, a permanently unstable location for private compiler dependencies. It is not intended for general use. Prefer using a public version of this crate from crates.io via Cargo.toml.

Variants

Scalar(Scalar<Tag, Id>)
⚙️ This is an internal compiler API. (rustc_private)

This crate is being loaded from the sysroot, a permanently unstable location for private compiler dependencies. It is not intended for general use. Prefer using a public version of this crate from crates.io via Cargo.toml.

Undef
⚙️ This is an internal compiler API. (rustc_private)

This crate is being loaded from the sysroot, a permanently unstable location for private compiler dependencies. It is not intended for general use. Prefer using a public version of this crate from crates.io via Cargo.toml.

Methods

impl<'tcx, Tag> ScalarMaybeUndef<Tag>[src]

pub fn erase_tag(self) -> ScalarMaybeUndef[src]

⚙️ This is an internal compiler API. (rustc_private)

This crate is being loaded from the sysroot, a permanently unstable location for private compiler dependencies. It is not intended for general use. Prefer using a public version of this crate from crates.io via Cargo.toml.

Erase the tag from the scalar, if any.

Used by error reporting code to avoid having the error type depend on Tag.

pub fn not_undef(self) -> InterpResult<'static, Scalar<Tag>>[src]

⚙️ This is an internal compiler API. (rustc_private)

This crate is being loaded from the sysroot, a permanently unstable location for private compiler dependencies. It is not intended for general use. Prefer using a public version of this crate from crates.io via Cargo.toml.

pub fn to_bits(self, target_size: Size) -> InterpResult<'tcx, u128>[src]

⚙️ This is an internal compiler API. (rustc_private)

This crate is being loaded from the sysroot, a permanently unstable location for private compiler dependencies. It is not intended for general use. Prefer using a public version of this crate from crates.io via Cargo.toml.

Do not call this method! Use either assert_bits or force_bits.

pub fn to_bool(self) -> InterpResult<'tcx, bool>[src]

⚙️ This is an internal compiler API. (rustc_private)

This crate is being loaded from the sysroot, a permanently unstable location for private compiler dependencies. It is not intended for general use. Prefer using a public version of this crate from crates.io via Cargo.toml.

pub fn to_char(self) -> InterpResult<'tcx, char>[src]

⚙️ This is an internal compiler API. (rustc_private)

This crate is being loaded from the sysroot, a permanently unstable location for private compiler dependencies. It is not intended for general use. Prefer using a public version of this crate from crates.io via Cargo.toml.

pub fn to_f32(self) -> InterpResult<'tcx, Single>[src]

⚙️ This is an internal compiler API. (rustc_private)

This crate is being loaded from the sysroot, a permanently unstable location for private compiler dependencies. It is not intended for general use. Prefer using a public version of this crate from crates.io via Cargo.toml.

pub fn to_f64(self) -> InterpResult<'tcx, Double>[src]

⚙️ This is an internal compiler API. (rustc_private)

This crate is being loaded from the sysroot, a permanently unstable location for private compiler dependencies. It is not intended for general use. Prefer using a public version of this crate from crates.io via Cargo.toml.

pub fn to_u8(self) -> InterpResult<'tcx, u8>[src]

⚙️ This is an internal compiler API. (rustc_private)

This crate is being loaded from the sysroot, a permanently unstable location for private compiler dependencies. It is not intended for general use. Prefer using a public version of this crate from crates.io via Cargo.toml.

pub fn to_u32(self) -> InterpResult<'tcx, u32>[src]

⚙️ This is an internal compiler API. (rustc_private)

This crate is being loaded from the sysroot, a permanently unstable location for private compiler dependencies. It is not intended for general use. Prefer using a public version of this crate from crates.io via Cargo.toml.

pub fn to_u64(self) -> InterpResult<'tcx, u64>[src]

⚙️ This is an internal compiler API. (rustc_private)

This crate is being loaded from the sysroot, a permanently unstable location for private compiler dependencies. It is not intended for general use. Prefer using a public version of this crate from crates.io via Cargo.toml.

pub fn to_machine_usize(
    self,
    cx: &impl HasDataLayout
) -> InterpResult<'tcx, u64>
[src]

⚙️ This is an internal compiler API. (rustc_private)

This crate is being loaded from the sysroot, a permanently unstable location for private compiler dependencies. It is not intended for general use. Prefer using a public version of this crate from crates.io via Cargo.toml.

pub fn to_i8(self) -> InterpResult<'tcx, i8>[src]

⚙️ This is an internal compiler API. (rustc_private)

This crate is being loaded from the sysroot, a permanently unstable location for private compiler dependencies. It is not intended for general use. Prefer using a public version of this crate from crates.io via Cargo.toml.

pub fn to_i32(self) -> InterpResult<'tcx, i32>[src]

⚙️ This is an internal compiler API. (rustc_private)

This crate is being loaded from the sysroot, a permanently unstable location for private compiler dependencies. It is not intended for general use. Prefer using a public version of this crate from crates.io via Cargo.toml.

pub fn to_i64(self) -> InterpResult<'tcx, i64>[src]

⚙️ This is an internal compiler API. (rustc_private)

This crate is being loaded from the sysroot, a permanently unstable location for private compiler dependencies. It is not intended for general use. Prefer using a public version of this crate from crates.io via Cargo.toml.

pub fn to_machine_isize(
    self,
    cx: &impl HasDataLayout
) -> InterpResult<'tcx, i64>
[src]

⚙️ This is an internal compiler API. (rustc_private)

This crate is being loaded from the sysroot, a permanently unstable location for private compiler dependencies. It is not intended for general use. Prefer using a public version of this crate from crates.io via Cargo.toml.

Trait Implementations

impl<Tag: Clone, Id: Clone> Clone for ScalarMaybeUndef<Tag, Id>[src]

impl<Tag: Copy, Id: Copy> Copy for ScalarMaybeUndef<Tag, Id>[src]

impl<Tag: Debug, Id: Debug> Debug for ScalarMaybeUndef<Tag, Id>[src]

impl<Tag: Decodable, Id: Decodable> Decodable for ScalarMaybeUndef<Tag, Id>[src]

impl<Tag> Display for ScalarMaybeUndef<Tag>[src]

impl<Tag: Encodable, Id: Encodable> Encodable for ScalarMaybeUndef<Tag, Id>[src]

impl<Tag: Eq, Id: Eq> Eq for ScalarMaybeUndef<Tag, Id>[src]

impl<Tag> From<Pointer<Tag, AllocId>> for ScalarMaybeUndef<Tag>[src]

impl<Tag> From<Scalar<Tag, AllocId>> for ScalarMaybeUndef<Tag>[src]

impl<Tag: Hash, Id: Hash> Hash for ScalarMaybeUndef<Tag, Id>[src]

impl<'__ctx, Tag, Id> HashStable<StableHashingContext<'__ctx>> for ScalarMaybeUndef<Tag, Id> where
    Tag: HashStable<StableHashingContext<'__ctx>>,
    Id: HashStable<StableHashingContext<'__ctx>>, 
[src]

impl<Tag: PartialEq, Id: PartialEq> PartialEq<ScalarMaybeUndef<Tag, Id>> for ScalarMaybeUndef<Tag, Id>[src]

impl<Tag, Id> StructuralEq for ScalarMaybeUndef<Tag, Id>[src]

impl<Tag, Id> StructuralPartialEq for ScalarMaybeUndef<Tag, Id>[src]

Auto Trait Implementations

impl<Tag, Id> RefUnwindSafe for ScalarMaybeUndef<Tag, Id> where
    Id: RefUnwindSafe,
    Tag: RefUnwindSafe

impl<Tag, Id> Send for ScalarMaybeUndef<Tag, Id> where
    Id: Send,
    Tag: Send

impl<Tag, Id> Sync for ScalarMaybeUndef<Tag, Id> where
    Id: Sync,
    Tag: Sync

impl<Tag, Id> Unpin for ScalarMaybeUndef<Tag, Id> where
    Id: Unpin,
    Tag: Unpin

impl<Tag, Id> UnwindSafe for ScalarMaybeUndef<Tag, Id> where
    Id: UnwindSafe,
    Tag: UnwindSafe

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> ArenaAllocatable for T where
    T: Copy
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<'a, T> Captures<'a> for T where
    T: ?Sized
[src]

impl<T> Decodable for T where
    T: UseSpecializedDecodable
[src]

impl<T> Encodable for T where
    T: UseSpecializedEncodable + ?Sized
[src]

impl<Q, K> Equivalent<K> for Q where
    K: Borrow<Q> + ?Sized,
    Q: Eq + ?Sized
[src]

impl<T> Erased for T[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> MaybeResult<T> for T[src]

type Error = !

⚙️ This is an internal compiler API. (rustc_private)

This crate is being loaded from the sysroot, a permanently unstable location for private compiler dependencies. It is not intended for general use. Prefer using a public version of this crate from crates.io via Cargo.toml.

impl<E> SpecializationError for E[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T> ToString for T where
    T: Display + ?Sized
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<T> WithConstness for T[src]