Struct rustc_middle::ty::context::ResolvedOpaqueTy[][src]

pub struct ResolvedOpaqueTy<'tcx> {
    pub concrete_type: Ty<'tcx>,
    pub substs: SubstsRef<'tcx>,
}
Expand description

All information necessary to validate and reveal an impl Trait.

Fields

concrete_type: Ty<'tcx>
Expand description

The revealed type as seen by this function.

substs: SubstsRef<'tcx>
Expand description

Generic parameters on the opaque type as passed by this function. For type Foo<A, B> = impl Bar<A, B>; fn foo<T, U>() -> Foo<T, U> { .. } this is [T, U], not [A, B].

Trait Implementations

impl<'tcx> Debug for ResolvedOpaqueTy<'tcx>[src]

fn fmt(&self, f: &mut Formatter<'_>) -> Result[src]

Formats the value using the given formatter. Read more

impl<'tcx, __D: TyDecoder<'tcx>> Decodable<__D> for ResolvedOpaqueTy<'tcx>[src]

fn decode(__decoder: &mut __D) -> Result<Self, <__D as Decoder>::Error>[src]

impl<'tcx, __E: TyEncoder<'tcx>> Encodable<__E> for ResolvedOpaqueTy<'tcx>[src]

fn encode(&self, __encoder: &mut __E) -> Result<(), <__E as Encoder>::Error>[src]

impl<'tcx, '__ctx> HashStable<StableHashingContext<'__ctx>> for ResolvedOpaqueTy<'tcx>[src]

fn hash_stable(
    &self,
    __hcx: &mut StableHashingContext<'__ctx>,
    __hasher: &mut StableHasher
)
[src]

Auto Trait Implementations

impl<'tcx> !RefUnwindSafe for ResolvedOpaqueTy<'tcx>

impl<'tcx> !Send for ResolvedOpaqueTy<'tcx>

impl<'tcx> !Sync for ResolvedOpaqueTy<'tcx>

impl<'tcx> Unpin for ResolvedOpaqueTy<'tcx>

impl<'tcx> !UnwindSafe for ResolvedOpaqueTy<'tcx>

Blanket Implementations

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

pub fn type_id(&self) -> TypeId[src]

Gets the TypeId of self. Read more

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

pub fn borrow(&self) -> &T[src]

Immutably borrows from an owned value. Read more

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

pub fn borrow_mut(&mut self) -> &mut T[src]

Mutably borrows from an owned value. Read more

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

pub fn from(t: T) -> T[src]

Performs the conversion.

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

pub fn into(self) -> U[src]

Performs the conversion.

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

type Error = !

pub fn from(Result<T, <T as MaybeResult<T>>::Error>) -> T[src]

pub fn to_result(self) -> Result<T, <T as MaybeResult<T>>::Error>[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.

pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>[src]

Performs the conversion.

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.

pub fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>[src]

Performs the conversion.

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]

Layout

Note: Most layout information is completely unstable and may be different between compiler versions and platforms. The only exception is types with certain repr(...) attributes. Please see the Rust Reference’s “Type Layout” chapter for details on type layout guarantees.

Size: 16 bytes