WellFormed -> Holds

This commit is contained in:
bitgaoshu 2022-06-26 23:09:06 +08:00
parent 408fa148b9
commit dcb4837b2d
2 changed files with 27 additions and 1 deletions

View File

@ -615,7 +615,7 @@ fn find_matching_impl(
let wh_goals =
crate::chalk_db::convert_where_clauses(db, impl_.into(), &substs)
.into_iter()
.map(|b| b.into_well_formed_goal(Interner).cast(Interner));
.map(|b| b.cast(Interner));
let goal = crate::Goal::all(Interner, wh_goals);

View File

@ -1438,6 +1438,32 @@ fn g(&self){
}
struct A;
impl Bound for A{}
fn f() {
let gen = Gen::<A>(A);
gen.g$0();
}
"#,
);
}
#[test]
fn wc_case_is_ok() {
check(
r#"
trait G {
fn g(&self);
}
trait BParent{}
trait Bound: BParent{}
struct Gen<T>(T);
impl <T> G for Gen<T>
where T : Bound
{
fn g(&self){
//^
}
}
struct A;
impl Bound for A{}
fn f() {
let gen = Gen::<A>(A);
gen.g$0();