Struct rustc_lint::middle::ty::ProjectionTyUnstable [-] [+] [src]

pub struct ProjectionTy<'tcx> {
    pub trait_ref: Rc<TraitRef<'tcx>>,
    pub item_name: Name,
}

Represents the projection of an associated type. In explicit UFCS form this would be written <T as Trait<..>>::N.

Fields

trait_ref

The trait reference T as Trait<..>.

item_name

The name N of the associated type.

Methods

impl<'tcx> ProjectionTy<'tcx>

fn sort_key(&self) -> (DefId, Name)

Trait Implementations

impl<'tcx> RegionEscape for ProjectionTy<'tcx>

fn has_regions_escaping_depth(&self, depth: u32) -> bool

fn has_escaping_regions(&self) -> bool

impl<'tcx> HasProjectionTypes for ProjectionTy<'tcx>

fn has_projection_types(&self) -> bool

impl<'tcx> TypeFoldable<'tcx> for ProjectionTy<'tcx>

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

impl<'a, 'tcx> Relate<'a, 'tcx> for ProjectionTy<'tcx> where 'tcx: 'a

fn relate<R>(relation: &mut R, a: &ProjectionTy<'tcx>, b: &ProjectionTy<'tcx>) -> Result<ProjectionTy<'tcx>, type_err<'tcx>> where R: TypeRelation<'a, 'tcx>

impl<'tcx> Repr<'tcx> for ProjectionTy<'tcx>

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

impl<'tcx> UserString<'tcx> for ProjectionTy<'tcx>

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

Derived Implementations

impl<'tcx> Debug for ProjectionTy<'tcx>

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

impl<'tcx> Hash for ProjectionTy<'tcx>

fn hash<__H>(&self, __arg_0: &mut __H) where __H: Hasher

impl<'tcx> Eq for ProjectionTy<'tcx>

impl<'tcx> PartialEq<ProjectionTy<'tcx>> for ProjectionTy<'tcx>

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

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

impl<'tcx> Clone for ProjectionTy<'tcx>

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

fn clone_from(&mut self, source: &Self)