struct NllTypeRelatingDelegate<'me, 'bccx, 'tcx> {
type_checker: &'me mut TypeChecker<'bccx, 'tcx>,
locations: Locations,
category: ConstraintCategory<'tcx>,
universe_info: UniverseInfo<'tcx>,
}Fields§
§type_checker: &'me mut TypeChecker<'bccx, 'tcx>§locations: LocationsWhere (and why) is this relation taking place?
category: ConstraintCategory<'tcx>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§
source§impl<'me, 'bccx, 'tcx> NllTypeRelatingDelegate<'me, 'bccx, 'tcx>
impl<'me, 'bccx, 'tcx> NllTypeRelatingDelegate<'me, 'bccx, 'tcx>
fn new( type_checker: &'me mut TypeChecker<'bccx, 'tcx>, locations: Locations, category: ConstraintCategory<'tcx>, universe_info: UniverseInfo<'tcx> ) -> Self
Trait Implementations§
source§impl<'tcx> TypeRelatingDelegate<'tcx> for NllTypeRelatingDelegate<'_, '_, 'tcx>
impl<'tcx> TypeRelatingDelegate<'tcx> for NllTypeRelatingDelegate<'_, '_, 'tcx>
fn span(&self) -> Span
fn param_env(&self) -> ParamEnv<'tcx>
source§fn create_next_universe(&mut self) -> UniverseIndex
fn create_next_universe(&mut self) -> UniverseIndex
Creates a new universe index. Used when instantiating placeholders.
source§fn next_existential_region_var(
&mut self,
from_forall: bool,
name: Option<Symbol>
) -> Region<'tcx>
fn next_existential_region_var( &mut self, from_forall: bool, name: Option<Symbol> ) -> Region<'tcx>
Creates a new region variable representing a higher-ranked
region that is instantiated existentially. This creates an
inference variable, typically. Read more
source§fn next_placeholder_region(
&mut self,
placeholder: PlaceholderRegion
) -> Region<'tcx>
fn next_placeholder_region( &mut self, placeholder: PlaceholderRegion ) -> Region<'tcx>
Creates a new region variable representing a
higher-ranked region that is instantiated universally.
This creates a new region placeholder, typically. Read more
source§fn push_outlives(
&mut self,
sup: Region<'tcx>,
sub: Region<'tcx>,
info: VarianceDiagInfo<'tcx>
)
fn push_outlives( &mut self, sup: Region<'tcx>, sub: Region<'tcx>, info: VarianceDiagInfo<'tcx> )
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.source§fn forbid_inference_vars() -> bool
fn forbid_inference_vars() -> bool
Enables some optimizations if we do not expect inference variables
in the RHS of the relation.
fn register_obligations(&mut self, obligations: PredicateObligations<'tcx>)
Auto Trait Implementations§
impl<'me, 'bccx, 'tcx> !DynSend for NllTypeRelatingDelegate<'me, 'bccx, 'tcx>
impl<'me, 'bccx, 'tcx> !DynSync for NllTypeRelatingDelegate<'me, 'bccx, 'tcx>
impl<'me, 'bccx, 'tcx> !RefUnwindSafe for NllTypeRelatingDelegate<'me, 'bccx, 'tcx>
impl<'me, 'bccx, 'tcx> !Send for NllTypeRelatingDelegate<'me, 'bccx, 'tcx>
impl<'me, 'bccx, 'tcx> !Sync for NllTypeRelatingDelegate<'me, 'bccx, 'tcx>
impl<'me, 'bccx, 'tcx> Unpin for NllTypeRelatingDelegate<'me, 'bccx, 'tcx>
impl<'me, 'bccx, 'tcx> !UnwindSafe for NllTypeRelatingDelegate<'me, 'bccx, 'tcx>
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
source§impl<T, R> CollectAndApply<T, R> for T
impl<T, R> CollectAndApply<T, R> for T
§impl<T> Filterable for T
impl<T> Filterable for T
source§impl<T> Instrument for T
impl<T> Instrument for T
source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
source§impl<P> IntoQueryParam<P> for P
impl<P> IntoQueryParam<P> for P
fn into_query_param(self) -> P
source§impl<T> MaybeResult<T> for T
impl<T> MaybeResult<T> for T
§impl<T> Pointable for T
impl<T> Pointable for T
source§impl<'tcx, T> ToPredicate<'tcx, T> for T
impl<'tcx, T> ToPredicate<'tcx, T> for T
fn to_predicate(self, _tcx: TyCtxt<'tcx>) -> T
source§impl<Tcx, T> Value<Tcx> for Twhere
Tcx: DepContext,
impl<Tcx, T> Value<Tcx> for Twhere
Tcx: DepContext,
default fn from_cycle_error( tcx: Tcx, cycle_error: &CycleError, _guar: ErrorGuaranteed ) -> T
source§impl<T> WithSubscriber for T
impl<T> WithSubscriber for T
source§fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
source§fn with_current_subscriber(self) -> WithDispatch<Self>
fn with_current_subscriber(self) -> WithDispatch<Self>
impl<'a, T> Captures<'a> for Twhere
T: ?Sized,
impl<T> ErasedDestructor for Twhere
T: 'static,
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: 64 bytes