Struct rustc_borrowck::type_check::relate_tys::NllTypeRelatingDelegate[−][src]

struct NllTypeRelatingDelegate<'me, 'bccx, 'tcx> {
    type_checker: &'me mut TypeChecker<'bccx, 'tcx>,
    locations: Locations,
    category: ConstraintCategory,
    universe_info: UniverseInfo<'tcx>,
}

Fields

type_checker: &'me mut TypeChecker<'bccx, 'tcx>locations: Locations

Where (and why) is this relation taking place?

category: ConstraintCategory

What category do we assign the resulting 'a: 'b relationships?

universe_info: UniverseInfo<'tcx>

Information so that error reporting knows what types we are relating when reporting a bound region error.

Implementations

Trait Implementations

Creates a new universe index. Used when instantiating placeholders.

Creates a new region variable representing a higher-ranked region that is instantiated existentially. This creates an inference variable, typically. Read more

Creates a new region variable representing a higher-ranked region that is instantiated universally. This creates a new region placeholder, typically. Read more

Creates a new existential region in the given universe. This is used when handling subtyping and type variables – if we have that ?X <: Foo<'a>, for example, we would instantiate ?X with a type like Foo<'?0> where '?0 is a fresh existential variable created by this function. We would then relate Foo<'?0> with Foo<'a> (and probably add an outlives relation stating that '?0: 'a). Read more

Push a constraint sup: sub – this constraint must be satisfied for the two types to be related. sub and sup may be regions from the type or new variables created through the delegate. Read more

Define the normalization strategy to use, eager or lazy.

Enables some optimizations if we do not expect inference variables in the RHS of the relation. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Performs the conversion.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.

Layout

Note: Most layout information is completely unstable and may even differ between compilations. 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: 72 bytes