Enum rustc::ty::wf::ImpliedBound [] [src]

pub enum ImpliedBound<'tcx> {
    RegionSubRegion(&'tcx Region, &'tcx Region),
    RegionSubParam(&'tcx RegionParamTy),
    RegionSubProjection(&'tcx RegionProjectionTy<'tcx>),
}
🔬 This is a nightly-only experimental API. (rustc_private)

Implied bounds are region relationships that we deduce automatically. The idea is that (e.g.) a caller must check that a function's argument types are well-formed immediately before calling that fn, and hence the callee can assume that its argument types are well-formed. This may imply certain relationships between generic parameters. For example:

fn foo<'a,T>(x: &'a T)

can only be called with a 'a and T such that &'a T is WF. For &'a T to be WF, T: 'a must hold. So we can assume T: 'a.

Variants

🔬 This is a nightly-only experimental API. (rustc_private)
🔬 This is a nightly-only experimental API. (rustc_private)
🔬 This is a nightly-only experimental API. (rustc_private)

Trait Implementations

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

Formats the value using the given formatter.