[−][src]Struct rustc_traits::chalk::db::RustIrDatabase
Fields
tcx: TyCtxt<'tcx>interner: RustInterner<'tcx>Trait Implementations
impl<'_> Debug for RustIrDatabase<'_>[src]
impl<'tcx> RustIrDatabase<RustInterner<'tcx>> for RustIrDatabase<'tcx>[src]
fn interner(&self) -> &RustInterner<'tcx>[src]
fn associated_ty_data(
&self,
assoc_type_id: AssocTypeId<RustInterner<'tcx>>
) -> Arc<AssociatedTyDatum<RustInterner<'tcx>>>[src]
&self,
assoc_type_id: AssocTypeId<RustInterner<'tcx>>
) -> Arc<AssociatedTyDatum<RustInterner<'tcx>>>
fn trait_datum(
&self,
trait_id: TraitId<RustInterner<'tcx>>
) -> Arc<TraitDatum<RustInterner<'tcx>>>[src]
&self,
trait_id: TraitId<RustInterner<'tcx>>
) -> Arc<TraitDatum<RustInterner<'tcx>>>
fn adt_datum(
&self,
adt_id: AdtId<RustInterner<'tcx>>
) -> Arc<AdtDatum<RustInterner<'tcx>>>[src]
&self,
adt_id: AdtId<RustInterner<'tcx>>
) -> Arc<AdtDatum<RustInterner<'tcx>>>
fn fn_def_datum(
&self,
fn_def_id: FnDefId<RustInterner<'tcx>>
) -> Arc<FnDefDatum<RustInterner<'tcx>>>[src]
&self,
fn_def_id: FnDefId<RustInterner<'tcx>>
) -> Arc<FnDefDatum<RustInterner<'tcx>>>
fn impl_datum(
&self,
impl_id: ImplId<RustInterner<'tcx>>
) -> Arc<ImplDatum<RustInterner<'tcx>>>[src]
&self,
impl_id: ImplId<RustInterner<'tcx>>
) -> Arc<ImplDatum<RustInterner<'tcx>>>
fn impls_for_trait(
&self,
trait_id: TraitId<RustInterner<'tcx>>,
parameters: &[GenericArg<RustInterner<'tcx>>]
) -> Vec<ImplId<RustInterner<'tcx>>>[src]
&self,
trait_id: TraitId<RustInterner<'tcx>>,
parameters: &[GenericArg<RustInterner<'tcx>>]
) -> Vec<ImplId<RustInterner<'tcx>>>
fn impl_provided_for(
&self,
auto_trait_id: TraitId<RustInterner<'tcx>>,
adt_id: AdtId<RustInterner<'tcx>>
) -> bool[src]
&self,
auto_trait_id: TraitId<RustInterner<'tcx>>,
adt_id: AdtId<RustInterner<'tcx>>
) -> bool
fn associated_ty_value(
&self,
associated_ty_id: AssociatedTyValueId<RustInterner<'tcx>>
) -> Arc<AssociatedTyValue<RustInterner<'tcx>>>[src]
&self,
associated_ty_id: AssociatedTyValueId<RustInterner<'tcx>>
) -> Arc<AssociatedTyValue<RustInterner<'tcx>>>
fn custom_clauses(&self) -> Vec<ProgramClause<RustInterner<'tcx>>>[src]
fn local_impls_to_coherence_check(
&self,
_trait_id: TraitId<RustInterner<'tcx>>
) -> Vec<ImplId<RustInterner<'tcx>>>[src]
&self,
_trait_id: TraitId<RustInterner<'tcx>>
) -> Vec<ImplId<RustInterner<'tcx>>>
fn opaque_ty_data(
&self,
opaque_ty_id: OpaqueTyId<RustInterner<'tcx>>
) -> Arc<OpaqueTyDatum<RustInterner<'tcx>>>[src]
&self,
opaque_ty_id: OpaqueTyId<RustInterner<'tcx>>
) -> Arc<OpaqueTyDatum<RustInterner<'tcx>>>
fn force_impl_for(
&self,
well_known: WellKnownTrait,
ty: &TyData<RustInterner<'tcx>>
) -> Option<bool>[src]
&self,
well_known: WellKnownTrait,
ty: &TyData<RustInterner<'tcx>>
) -> Option<bool>
Since Chalk can't handle all Rust types currently, we have to handle
some specially for now. Over time, these Some returns will change to
None and eventually this function will be removed.
fn program_clauses_for_env(
&self,
environment: &Environment<RustInterner<'tcx>>
) -> ProgramClauses<RustInterner<'tcx>>[src]
&self,
environment: &Environment<RustInterner<'tcx>>
) -> ProgramClauses<RustInterner<'tcx>>
fn well_known_trait_id(
&self,
well_known_trait: WellKnownTrait
) -> Option<TraitId<RustInterner<'tcx>>>[src]
&self,
well_known_trait: WellKnownTrait
) -> Option<TraitId<RustInterner<'tcx>>>
fn is_object_safe(&self, trait_id: TraitId<RustInterner<'tcx>>) -> bool[src]
fn hidden_opaque_type(
&self,
_id: OpaqueTyId<RustInterner<'tcx>>
) -> Ty<RustInterner<'tcx>>[src]
&self,
_id: OpaqueTyId<RustInterner<'tcx>>
) -> Ty<RustInterner<'tcx>>
fn closure_kind(
&self,
_closure_id: ClosureId<RustInterner<'tcx>>,
substs: &Substitution<RustInterner<'tcx>>
) -> ClosureKind[src]
&self,
_closure_id: ClosureId<RustInterner<'tcx>>,
substs: &Substitution<RustInterner<'tcx>>
) -> ClosureKind
fn closure_inputs_and_output(
&self,
_closure_id: ClosureId<RustInterner<'tcx>>,
substs: &Substitution<RustInterner<'tcx>>
) -> Binders<FnDefInputsAndOutputDatum<RustInterner<'tcx>>>[src]
&self,
_closure_id: ClosureId<RustInterner<'tcx>>,
substs: &Substitution<RustInterner<'tcx>>
) -> Binders<FnDefInputsAndOutputDatum<RustInterner<'tcx>>>
fn closure_upvars(
&self,
_closure_id: ClosureId<RustInterner<'tcx>>,
substs: &Substitution<RustInterner<'tcx>>
) -> Binders<Ty<RustInterner<'tcx>>>[src]
&self,
_closure_id: ClosureId<RustInterner<'tcx>>,
substs: &Substitution<RustInterner<'tcx>>
) -> Binders<Ty<RustInterner<'tcx>>>
fn closure_fn_substitution(
&self,
_closure_id: ClosureId<RustInterner<'tcx>>,
substs: &Substitution<RustInterner<'tcx>>
) -> Substitution<RustInterner<'tcx>>[src]
&self,
_closure_id: ClosureId<RustInterner<'tcx>>,
substs: &Substitution<RustInterner<'tcx>>
) -> Substitution<RustInterner<'tcx>>
Auto Trait Implementations
impl<'tcx> !RefUnwindSafe for RustIrDatabase<'tcx>
impl<'tcx> !Send for RustIrDatabase<'tcx>
impl<'tcx> !Sync for RustIrDatabase<'tcx>
impl<'tcx> Unpin for RustIrDatabase<'tcx>
impl<'tcx> !UnwindSafe for RustIrDatabase<'tcx>
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized, [src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized, [src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized, [src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T[src]
impl<T> From<T> for T[src]
impl<T, U> Into<U> for T where
U: From<T>, [src]
U: From<T>,
impl<T, U> TryFrom<U> for T where
U: Into<T>, [src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>, [src]
U: TryFrom<T>,