integrate pick constraints into lexical solver more completely

This commit is contained in:
Niko Matsakis 2019-06-03 15:54:21 -04:00
parent 02609b85e3
commit f0eebcd02f
2 changed files with 56 additions and 20 deletions

View file

@ -13,9 +13,6 @@ impl<T> Trait<'_, '_> for T {}
struct Invert<'a>(fn(&'a u8));
fn upper_bounds<'a, 'b, 'c, 'd, 'e>(a: Invert<'a>, b: Invert<'b>) -> impl Trait<'d, 'e>
//~^ ERROR hidden type for `impl Trait` captures lifetime that does not appear in bounds
// FIXME -- we ought to be able to pick `'d` here, but our handling of in constraints
// is not smart enough
where
'c: 'a,
'c: 'b,