1
Fork 0

Point at specific field in struct literal when trait fulfillment fails

This commit is contained in:
Nathan Fenner 2023-01-03 19:54:11 -08:00
parent c8e6a9e8b6
commit 2a67e99d7d
21 changed files with 1150 additions and 111 deletions

View file

@ -0,0 +1,28 @@
trait T1 {}
trait T2 {}
trait T3 {}
trait T4 {}
impl<B: T2> T1 for Wrapper<B> {}
impl T2 for i32 {}
impl T3 for i32 {}
impl<A: T3> T2 for Burrito<A> {}
struct Wrapper<W> {
value: W,
}
struct Burrito<F> {
filling: F,
}
fn want<V: T1>(_x: V) {}
fn example<Q>(q: Q) {
want(Wrapper { value: Burrito { filling: q } });
//~^ ERROR the trait bound `Q: T3` is not satisfied [E0277]
}
fn main() {}