[−][src]Struct chalk_solve::logging_db::LoggingRustIrDatabase
Wraps another RustIrDatabase
(DB
) and records which definitions are
used.
A full .chalk file containing all used definitions can be recovered through
LoggingRustIrDatabase
's Display
implementation.
Uses a separate type, P
, for the database stored inside to account for
Arc
or wrapping other storage mediums.
Implementations
impl<I, DB, P> LoggingRustIrDatabase<I, DB, P> where
DB: RustIrDatabase<I>,
P: Borrow<DB>,
I: Interner,
[src]
DB: RustIrDatabase<I>,
P: Borrow<DB>,
I: Interner,
Trait Implementations
impl<I: Debug, DB: Debug, P: Debug> Debug for LoggingRustIrDatabase<I, DB, P> where
DB: RustIrDatabase<I>,
P: Borrow<DB>,
I: Interner,
[src]
DB: RustIrDatabase<I>,
P: Borrow<DB>,
I: Interner,
impl<I, DB, P> Display for LoggingRustIrDatabase<I, DB, P> where
DB: RustIrDatabase<I>,
P: Borrow<DB>,
I: Interner,
[src]
DB: RustIrDatabase<I>,
P: Borrow<DB>,
I: Interner,
impl<I, DB, P> RustIrDatabase<I> for LoggingRustIrDatabase<I, DB, P> where
DB: RustIrDatabase<I>,
P: Borrow<DB> + Debug,
I: Interner,
[src]
DB: RustIrDatabase<I>,
P: Borrow<DB> + Debug,
I: Interner,
fn custom_clauses(&self) -> Vec<ProgramClause<I>>
[src]
fn associated_ty_data(&self, ty: AssocTypeId<I>) -> Arc<AssociatedTyDatum<I>>
[src]
fn trait_datum(&self, trait_id: TraitId<I>) -> Arc<TraitDatum<I>>
[src]
fn adt_datum(&self, adt_id: AdtId<I>) -> Arc<AdtDatum<I>>
[src]
fn generator_datum(
&self,
generator_id: GeneratorId<I>
) -> Arc<GeneratorDatum<I>>
[src]
&self,
generator_id: GeneratorId<I>
) -> Arc<GeneratorDatum<I>>
fn generator_witness_datum(
&self,
generator_id: GeneratorId<I>
) -> Arc<GeneratorWitnessDatum<I>>
[src]
&self,
generator_id: GeneratorId<I>
) -> Arc<GeneratorWitnessDatum<I>>
fn adt_repr(&self, id: AdtId<I>) -> AdtRepr
[src]
fn impl_datum(&self, impl_id: ImplId<I>) -> Arc<ImplDatum<I>>
[src]
fn hidden_opaque_type(&self, id: OpaqueTyId<I>) -> Ty<I>
[src]
fn associated_ty_value(
&self,
id: AssociatedTyValueId<I>
) -> Arc<AssociatedTyValue<I>>
[src]
&self,
id: AssociatedTyValueId<I>
) -> Arc<AssociatedTyValue<I>>
fn opaque_ty_data(&self, id: OpaqueTyId<I>) -> Arc<OpaqueTyDatum<I>>
[src]
fn impls_for_trait(
&self,
trait_id: TraitId<I>,
parameters: &[GenericArg<I>],
binders: &CanonicalVarKinds<I>
) -> Vec<ImplId<I>>
[src]
&self,
trait_id: TraitId<I>,
parameters: &[GenericArg<I>],
binders: &CanonicalVarKinds<I>
) -> Vec<ImplId<I>>
fn local_impls_to_coherence_check(&self, trait_id: TraitId<I>) -> Vec<ImplId<I>>
[src]
fn impl_provided_for(
&self,
auto_trait_id: TraitId<I>,
app_ty: &ApplicationTy<I>
) -> bool
[src]
&self,
auto_trait_id: TraitId<I>,
app_ty: &ApplicationTy<I>
) -> bool
fn well_known_trait_id(
&self,
well_known_trait: WellKnownTrait
) -> Option<TraitId<I>>
[src]
&self,
well_known_trait: WellKnownTrait
) -> Option<TraitId<I>>
fn program_clauses_for_env(
&self,
environment: &Environment<I>
) -> ProgramClauses<I>
[src]
&self,
environment: &Environment<I>
) -> ProgramClauses<I>
fn interner(&self) -> &I
[src]
fn trait_name(&self, trait_id: TraitId<I>) -> String
[src]
fn adt_name(&self, adt_id: AdtId<I>) -> String
[src]
fn assoc_type_name(&self, assoc_ty_id: AssocTypeId<I>) -> String
[src]
fn opaque_type_name(&self, opaque_ty_id: OpaqueTyId<I>) -> String
[src]
fn is_object_safe(&self, trait_id: TraitId<I>) -> bool
[src]
fn fn_def_datum(&self, fn_def_id: FnDefId<I>) -> Arc<FnDefDatum<I>>
[src]
fn fn_def_name(&self, fn_def_id: FnDefId<I>) -> String
[src]
fn closure_kind(
&self,
closure_id: ClosureId<I>,
substs: &Substitution<I>
) -> ClosureKind
[src]
&self,
closure_id: ClosureId<I>,
substs: &Substitution<I>
) -> ClosureKind
fn closure_inputs_and_output(
&self,
closure_id: ClosureId<I>,
substs: &Substitution<I>
) -> Binders<FnDefInputsAndOutputDatum<I>>
[src]
&self,
closure_id: ClosureId<I>,
substs: &Substitution<I>
) -> Binders<FnDefInputsAndOutputDatum<I>>
fn closure_upvars(
&self,
closure_id: ClosureId<I>,
substs: &Substitution<I>
) -> Binders<Ty<I>>
[src]
&self,
closure_id: ClosureId<I>,
substs: &Substitution<I>
) -> Binders<Ty<I>>
fn closure_fn_substitution(
&self,
closure_id: ClosureId<I>,
substs: &Substitution<I>
) -> Substitution<I>
[src]
&self,
closure_id: ClosureId<I>,
substs: &Substitution<I>
) -> Substitution<I>
Auto Trait Implementations
impl<I, DB, P> RefUnwindSafe for LoggingRustIrDatabase<I, DB, P> where
DB: RefUnwindSafe,
P: RefUnwindSafe,
DB: RefUnwindSafe,
P: RefUnwindSafe,
impl<I, DB, P> Send for LoggingRustIrDatabase<I, DB, P> where
DB: Send,
P: Send,
<I as Interner>::DefId: Send,
<I as Interner>::InternedAdtId: Send,
DB: Send,
P: Send,
<I as Interner>::DefId: Send,
<I as Interner>::InternedAdtId: Send,
impl<I, DB, P> Sync for LoggingRustIrDatabase<I, DB, P> where
DB: Sync,
P: Sync,
<I as Interner>::DefId: Send,
<I as Interner>::InternedAdtId: Send,
DB: Sync,
P: Sync,
<I as Interner>::DefId: Send,
<I as Interner>::InternedAdtId: Send,
impl<I, DB, P> Unpin for LoggingRustIrDatabase<I, DB, P> where
DB: Unpin,
P: Unpin,
<I as Interner>::DefId: Unpin,
<I as Interner>::InternedAdtId: Unpin,
DB: Unpin,
P: Unpin,
<I as Interner>::DefId: Unpin,
<I as Interner>::InternedAdtId: Unpin,
impl<I, DB, P> UnwindSafe for LoggingRustIrDatabase<I, DB, P> where
DB: UnwindSafe,
P: UnwindSafe,
DB: UnwindSafe,
P: UnwindSafe,
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> Cast for T
[src]
fn cast<U>(self, interner: &<U as HasInterner>::Interner) -> U where
Self: CastTo<U>,
U: HasInterner,
[src]
Self: CastTo<U>,
U: HasInterner,
impl<T> From<T> for T
[src]
impl<T> Instrument for T
[src]
fn instrument(self, span: Span) -> Instrumented<Self>
[src]
fn in_current_span(self) -> Instrumented<Self>
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<DB, I> Split<I> for DB where
DB: RustIrDatabase<I> + ?Sized,
I: Interner,
[src]
DB: RustIrDatabase<I> + ?Sized,
I: Interner,
fn split_projection<'p>(
&self,
projection: &'p ProjectionTy<I>
) -> (Arc<AssociatedTyDatum<I>>, &'p [GenericArg<I>], &'p [GenericArg<I>])
[src]
&self,
projection: &'p ProjectionTy<I>
) -> (Arc<AssociatedTyDatum<I>>, &'p [GenericArg<I>], &'p [GenericArg<I>])
fn trait_parameters_from_projection<'p>(
&self,
projection: &'p ProjectionTy<I>
) -> &'p [GenericArg<I>]
[src]
&self,
projection: &'p ProjectionTy<I>
) -> &'p [GenericArg<I>]
fn trait_ref_from_projection<'p>(
&self,
projection: &'p ProjectionTy<I>
) -> TraitRef<I>
[src]
&self,
projection: &'p ProjectionTy<I>
) -> TraitRef<I>
fn split_associated_ty_value_parameters<'p, P>(
&self,
parameters: &'p [P],
associated_ty_value: &AssociatedTyValue<I>
) -> (&'p [P], &'p [P])
[src]
&self,
parameters: &'p [P],
associated_ty_value: &AssociatedTyValue<I>
) -> (&'p [P], &'p [P])
fn impl_parameters_and_projection_from_associated_ty_value<'p>(
&self,
parameters: &'p [GenericArg<I>],
associated_ty_value: &AssociatedTyValue<I>
) -> (&'p [GenericArg<I>], ProjectionTy<I>)
[src]
&self,
parameters: &'p [GenericArg<I>],
associated_ty_value: &AssociatedTyValue<I>
) -> (&'p [GenericArg<I>], ProjectionTy<I>)
fn split_associated_ty_parameters<'p, P>(
&self,
parameters: &'p [P],
associated_ty_datum: &AssociatedTyDatum<I>
) -> (&'p [P], &'p [P])
[src]
&self,
parameters: &'p [P],
associated_ty_datum: &AssociatedTyDatum<I>
) -> (&'p [P], &'p [P])
impl<T> ToString for T where
T: Display + ?Sized,
[src]
T: Display + ?Sized,
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>,