Struct rustc_trans::middle::ty::ProjectionPredicateUnstable
[-] [+]
[src]
pub struct ProjectionPredicate<'tcx> { pub projection_ty: ProjectionTy<'tcx>, pub ty: &'tcx TyS<'tcx>, }
This kind of predicate has no direct correspondent in the syntax, but it roughly corresponds to the syntactic forms:
T : TraitRef<..., Item=Type>
<T as TraitRef<...>>::Item == Type
(NYI)
In particular, form #1 is "desugared" to the combination of a
normal trait predicate (T : TraitRef<...>
) and one of these
predicates. Form #2 is a broader form in that it also permits
equality between arbitrary types. Processing an instance of Form
2 eventually yields one of these ProjectionPredicate
instances to normalize the LHS.
Fields
projection_ty | |
ty |