Struct chalk_solve::wf::WfSolver
source · pub struct WfSolver<'a, I: Interner> {
db: &'a dyn RustIrDatabase<I>,
solver_builder: &'a dyn Fn() -> Box<dyn Solver<I>>,
}
Fields§
§db: &'a dyn RustIrDatabase<I>
§solver_builder: &'a dyn Fn() -> Box<dyn Solver<I>>
Implementations§
source§impl<'a, I> WfSolver<'a, I>where
I: Interner,
impl<'a, I> WfSolver<'a, I>where
I: Interner,
sourcepub fn new(
db: &'a dyn RustIrDatabase<I>,
solver_builder: &'a dyn Fn() -> Box<dyn Solver<I>>,
) -> Self
pub fn new( db: &'a dyn RustIrDatabase<I>, solver_builder: &'a dyn Fn() -> Box<dyn Solver<I>>, ) -> Self
Constructs a new WfSolver
.
pub fn verify_adt_decl(&self, adt_id: AdtId<I>) -> Result<(), WfError<I>>
pub fn verify_trait_impl(&self, impl_id: ImplId<I>) -> Result<(), WfError<I>>
pub fn verify_opaque_ty_decl( &self, opaque_ty_id: OpaqueTyId<I>, ) -> Result<(), WfError<I>>
sourcepub fn verify_well_known_impl(
&self,
impl_id: ImplId<I>,
well_known: WellKnownTrait,
) -> Result<(), WfError<I>>
pub fn verify_well_known_impl( &self, impl_id: ImplId<I>, well_known: WellKnownTrait, ) -> Result<(), WfError<I>>
Verify builtin rules for well-known traits
Auto Trait Implementations§
impl<'a, I> Freeze for WfSolver<'a, I>
impl<'a, I> !RefUnwindSafe for WfSolver<'a, I>
impl<'a, I> !Send for WfSolver<'a, I>
impl<'a, I> !Sync for WfSolver<'a, I>
impl<'a, I> Unpin for WfSolver<'a, I>
impl<'a, I> !UnwindSafe for WfSolver<'a, I>
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> Cast for T
impl<T> Cast for T
source§fn cast<U>(self, interner: <U as HasInterner>::Interner) -> Uwhere
Self: CastTo<U>,
U: HasInterner,
fn cast<U>(self, interner: <U as HasInterner>::Interner) -> Uwhere
Self: CastTo<U>,
U: HasInterner,
Cast a value to type
U
using CastTo
.