Turn Obligation into something similar to chalk_ir::DomainGoal

This includes starting to make use of Chalk's `Cast` trait.
This commit is contained in:
Florian Diebold 2021-03-20 11:23:59 +01:00
parent 8e7e405f6a
commit 7ec3b66f7a
14 changed files with 130 additions and 91 deletions

View file

@ -13,6 +13,7 @@ mod op;
mod lower;
pub(crate) mod infer;
pub(crate) mod utils;
mod chalk_cast;
pub mod display;
pub mod db;
@ -45,9 +46,11 @@ pub use lower::{
associated_type_shorthand_candidates, callable_item_sig, CallableDefId, ImplTraitLoweringMode,
TyDefId, TyLoweringContext, ValueTyDefId,
};
pub use traits::{AliasEq, InEnvironment, Obligation, TraitEnvironment};
pub use traits::{AliasEq, DomainGoal, InEnvironment, TraitEnvironment};
pub use chalk_ir::{AdtId, BoundVar, DebruijnIndex, Mutability, Safety, Scalar, TyVariableKind};
pub use chalk_ir::{
cast::Cast, AdtId, BoundVar, DebruijnIndex, Mutability, Safety, Scalar, TyVariableKind,
};
pub use crate::traits::chalk::Interner;