Enum rustc_trans::middle::ty::AutoRefExperimental [-]  [+] [src]

pub enum AutoRef<'tcx> {
    AutoPtr(Region, Mutability, Option<Box<AutoRef<'tcx>>>),
    AutoUnsize(UnsizeKind<'tcx>),
    AutoUnsizeUniq(UnsizeKind<'tcx>),
    AutoUnsafe(Mutability, Option<Box<AutoRef<'tcx>>>),
}

Variants

AutoPtr

Convert from T to &T The third field allows us to wrap other AutoRef adjustments.

AutoUnsize

Convert [T, ..n] to T

AutoUnsizeUniq

Convert Box<[T, ..n]> to Box<[T]> or something similar in a Box. With DST and Box a library type, this should be replaced by UnsizeStruct.

AutoUnsafe

Convert from T to *T Value to thin pointer The second field allows us to wrap other AutoRef adjustments.

Trait Implementations

impl<'tcx> Repr<'tcx> for AutoRef<'tcx>

fn repr(&self, tcx: &ctxt<'tcx>) -> String

impl<'tcx> TypeFoldable<'tcx> for AutoRef<'tcx>

fn fold_with<F: TypeFolder<'tcx>>(&self, folder: &mut F) -> AutoRef<'tcx>

Derived Implementations

impl<'tcx> Show for AutoRef<'tcx>

fn fmt(&self, __arg_0: &mut Formatter) -> Result<(), Error>

impl<'tcx> PartialEq<AutoRef<'tcx>> for AutoRef<'tcx>

fn eq(&self, __arg_0: &AutoRef<'tcx>) -> bool

fn ne(&self, __arg_0: &AutoRef<'tcx>) -> bool

fn ne(&self, &AutoRef<'tcx>) -> bool

impl<'tcx> Clone for AutoRef<'tcx>

fn clone(&self) -> AutoRef<'tcx>

fn clone_from(&mut self, &AutoRef<'tcx>)