| error[E0277]: the trait bound `Q: T3` is not satisfied |
| --> $DIR/blame-trait-error-spans-on-exprs.rs:81:60 |
| | |
| LL | want(Wrapper { value: Burrito { spicy: false, filling: q } }); |
| | ---- required by a bound introduced by this call ^ the trait `T3` is not implemented for `Q` |
| | |
| note: required for `Burrito<Q>` to implement `T2` |
| --> $DIR/blame-trait-error-spans-on-exprs.rs:22:13 |
| | |
| LL | impl<A: T3> T2 for Burrito<A> {} |
| | -- ^^ ^^^^^^^^^^ |
| | | |
| | unsatisfied trait bound introduced here |
| note: required for `Wrapper<Burrito<Q>>` to implement `T1` |
| --> $DIR/blame-trait-error-spans-on-exprs.rs:16:13 |
| | |
| LL | impl<B: T2> T1 for Wrapper<B> {} |
| | -- ^^ ^^^^^^^^^^ |
| | | |
| | unsatisfied trait bound introduced here |
| note: required by a bound in `want` |
| --> $DIR/blame-trait-error-spans-on-exprs.rs:53:12 |
| | |
| LL | fn want<V: T1>(_x: V) {} |
| | ^^ required by this bound in `want` |
| help: consider restricting type parameter `Q` |
| | |
| LL | fn example<Q: T3>(q: Q) { |
| | ++++ |
| |
| error[E0277]: the trait bound `Q: T3` is not satisfied |
| --> $DIR/blame-trait-error-spans-on-exprs.rs:85:84 |
| | |
| LL | want(Wrapper { value: BurritoKinds::SmallBurrito { spicy: true, small_filling: q } }); |
| | ---- required by a bound introduced by this call ^ the trait `T3` is not implemented for `Q` |
| | |
| note: required for `BurritoKinds<Q>` to implement `T2` |
| --> $DIR/blame-trait-error-spans-on-exprs.rs:32:13 |
| | |
| LL | impl<D: T3> T2 for BurritoKinds<D> {} |
| | -- ^^ ^^^^^^^^^^^^^^^ |
| | | |
| | unsatisfied trait bound introduced here |
| note: required for `Wrapper<BurritoKinds<Q>>` to implement `T1` |
| --> $DIR/blame-trait-error-spans-on-exprs.rs:16:13 |
| | |
| LL | impl<B: T2> T1 for Wrapper<B> {} |
| | -- ^^ ^^^^^^^^^^ |
| | | |
| | unsatisfied trait bound introduced here |
| note: required by a bound in `want` |
| --> $DIR/blame-trait-error-spans-on-exprs.rs:53:12 |
| | |
| LL | fn want<V: T1>(_x: V) {} |
| | ^^ required by this bound in `want` |
| help: consider restricting type parameter `Q` |
| | |
| LL | fn example<Q: T3>(q: Q) { |
| | ++++ |
| |
| error[E0277]: the trait bound `Q: T3` is not satisfied |
| --> $DIR/blame-trait-error-spans-on-exprs.rs:89:39 |
| | |
| LL | want(Wrapper { value: Taco(false, q) }); |
| | ---- ^ the trait `T3` is not implemented for `Q` |
| | | |
| | required by a bound introduced by this call |
| | |
| note: required for `Taco<Q>` to implement `T2` |
| --> $DIR/blame-trait-error-spans-on-exprs.rs:35:13 |
| | |
| LL | impl<E: T3> T2 for Taco<E> {} |
| | -- ^^ ^^^^^^^ |
| | | |
| | unsatisfied trait bound introduced here |
| note: required for `Wrapper<Taco<Q>>` to implement `T1` |
| --> $DIR/blame-trait-error-spans-on-exprs.rs:16:13 |
| | |
| LL | impl<B: T2> T1 for Wrapper<B> {} |
| | -- ^^ ^^^^^^^^^^ |
| | | |
| | unsatisfied trait bound introduced here |
| note: required by a bound in `want` |
| --> $DIR/blame-trait-error-spans-on-exprs.rs:53:12 |
| | |
| LL | fn want<V: T1>(_x: V) {} |
| | ^^ required by this bound in `want` |
| help: consider restricting type parameter `Q` |
| | |
| LL | fn example<Q: T3>(q: Q) { |
| | ++++ |
| |
| error[E0277]: the trait bound `Q: T3` is not satisfied |
| --> $DIR/blame-trait-error-spans-on-exprs.rs:93:53 |
| | |
| LL | want(Wrapper { value: TacoKinds::OneTaco(false, q) }); |
| | ---- ^ the trait `T3` is not implemented for `Q` |
| | | |
| | required by a bound introduced by this call |
| | |
| note: required for `TacoKinds<Q>` to implement `T2` |
| --> $DIR/blame-trait-error-spans-on-exprs.rs:41:13 |
| | |
| LL | impl<F: T3> T2 for TacoKinds<F> {} |
| | -- ^^ ^^^^^^^^^^^^ |
| | | |
| | unsatisfied trait bound introduced here |
| note: required for `Wrapper<TacoKinds<Q>>` to implement `T1` |
| --> $DIR/blame-trait-error-spans-on-exprs.rs:16:13 |
| | |
| LL | impl<B: T2> T1 for Wrapper<B> {} |
| | -- ^^ ^^^^^^^^^^ |
| | | |
| | unsatisfied trait bound introduced here |
| note: required by a bound in `want` |
| --> $DIR/blame-trait-error-spans-on-exprs.rs:53:12 |
| | |
| LL | fn want<V: T1>(_x: V) {} |
| | ^^ required by this bound in `want` |
| help: consider restricting type parameter `Q` |
| | |
| LL | fn example<Q: T3>(q: Q) { |
| | ++++ |
| |
| error[E0277]: the trait bound `Q: T3` is not satisfied |
| --> $DIR/blame-trait-error-spans-on-exprs.rs:97:74 |
| | |
| LL | want(Wrapper { value: GenericBurrito { spiciness: NotSpicy, filling: q } }); |
| | ---- required by a bound introduced by this call ^ the trait `T3` is not implemented for `Q` |
| | |
| note: required for `GenericBurrito<NotSpicy, Q>` to implement `T2` |
| --> $DIR/blame-trait-error-spans-on-exprs.rs:47:16 |
| | |
| LL | impl<X, Y: T3> T2 for GenericBurrito<X, Y> {} |
| | -- ^^ ^^^^^^^^^^^^^^^^^^^^ |
| | | |
| | unsatisfied trait bound introduced here |
| note: required for `Wrapper<GenericBurrito<NotSpicy, Q>>` to implement `T1` |
| --> $DIR/blame-trait-error-spans-on-exprs.rs:16:13 |
| | |
| LL | impl<B: T2> T1 for Wrapper<B> {} |
| | -- ^^ ^^^^^^^^^^ |
| | | |
| | unsatisfied trait bound introduced here |
| note: required by a bound in `want` |
| --> $DIR/blame-trait-error-spans-on-exprs.rs:53:12 |
| | |
| LL | fn want<V: T1>(_x: V) {} |
| | ^^ required by this bound in `want` |
| help: consider restricting type parameter `Q` |
| | |
| LL | fn example<Q: T3>(q: Q) { |
| | ++++ |
| |
| error[E0277]: the trait bound `Q: T2` is not satisfied |
| --> $DIR/blame-trait-error-spans-on-exprs.rs:101:14 |
| | |
| LL | want((3, q)); |
| | ---- ^ the trait `T2` is not implemented for `Q` |
| | | |
| | required by a bound introduced by this call |
| | |
| note: required for `(i32, Q)` to implement `T1` |
| --> $DIR/blame-trait-error-spans-on-exprs.rs:51:20 |
| | |
| LL | impl<A: T2, B: T2> T1 for (A, B) {} |
| | -- ^^ ^^^^^^ |
| | | |
| | unsatisfied trait bound introduced here |
| note: required by a bound in `want` |
| --> $DIR/blame-trait-error-spans-on-exprs.rs:53:12 |
| | |
| LL | fn want<V: T1>(_x: V) {} |
| | ^^ required by this bound in `want` |
| help: consider restricting type parameter `Q` |
| | |
| LL | fn example<Q: T2>(q: Q) { |
| | ++++ |
| |
| error[E0277]: the trait bound `Q: T3` is not satisfied |
| --> $DIR/blame-trait-error-spans-on-exprs.rs:105:31 |
| | |
| LL | want(Wrapper { value: (3, q) }); |
| | ---- ^ the trait `T3` is not implemented for `Q` |
| | | |
| | required by a bound introduced by this call |
| | |
| note: required for `(i32, Q)` to implement `T2` |
| --> $DIR/blame-trait-error-spans-on-exprs.rs:50:20 |
| | |
| LL | impl<A: T3, B: T3> T2 for (A, B) {} |
| | -- ^^ ^^^^^^ |
| | | |
| | unsatisfied trait bound introduced here |
| note: required for `Wrapper<(i32, Q)>` to implement `T1` |
| --> $DIR/blame-trait-error-spans-on-exprs.rs:16:13 |
| | |
| LL | impl<B: T2> T1 for Wrapper<B> {} |
| | -- ^^ ^^^^^^^^^^ |
| | | |
| | unsatisfied trait bound introduced here |
| note: required by a bound in `want` |
| --> $DIR/blame-trait-error-spans-on-exprs.rs:53:12 |
| | |
| LL | fn want<V: T1>(_x: V) {} |
| | ^^ required by this bound in `want` |
| help: consider restricting type parameter `Q` |
| | |
| LL | fn example<Q: T3>(q: Q) { |
| | ++++ |
| |
| error[E0277]: the trait bound `Q: T3` is not satisfied |
| --> $DIR/blame-trait-error-spans-on-exprs.rs:109:15 |
| | |
| LL | want(((3, q), 5)); |
| | ---- ^ the trait `T3` is not implemented for `Q` |
| | | |
| | required by a bound introduced by this call |
| | |
| note: required for `(i32, Q)` to implement `T2` |
| --> $DIR/blame-trait-error-spans-on-exprs.rs:50:20 |
| | |
| LL | impl<A: T3, B: T3> T2 for (A, B) {} |
| | -- ^^ ^^^^^^ |
| | | |
| | unsatisfied trait bound introduced here |
| note: required for `((i32, Q), i32)` to implement `T1` |
| --> $DIR/blame-trait-error-spans-on-exprs.rs:51:20 |
| | |
| LL | impl<A: T2, B: T2> T1 for (A, B) {} |
| | -- ^^ ^^^^^^ |
| | | |
| | unsatisfied trait bound introduced here |
| note: required by a bound in `want` |
| --> $DIR/blame-trait-error-spans-on-exprs.rs:53:12 |
| | |
| LL | fn want<V: T1>(_x: V) {} |
| | ^^ required by this bound in `want` |
| help: consider restricting type parameter `Q` |
| | |
| LL | fn example<Q: T3>(q: Q) { |
| | ++++ |
| |
| error[E0277]: the trait bound `Q: T1` is not satisfied |
| --> $DIR/blame-trait-error-spans-on-exprs.rs:112:49 |
| | |
| LL | want(DoubleWrapper { item: Wrapper { value: q } }); |
| | ---- ^ the trait `T1` is not implemented for `Q` |
| | | |
| | required by a bound introduced by this call |
| | |
| note: required for `DoubleWrapper<Q>` to implement `T1` |
| --> $DIR/blame-trait-error-spans-on-exprs.rs:72:13 |
| | |
| LL | impl<T: T1> T1 for DoubleWrapper<T> {} |
| | -- ^^ ^^^^^^^^^^^^^^^^ |
| | | |
| | unsatisfied trait bound introduced here |
| note: required by a bound in `want` |
| --> $DIR/blame-trait-error-spans-on-exprs.rs:53:12 |
| | |
| LL | fn want<V: T1>(_x: V) {} |
| | ^^ required by this bound in `want` |
| help: consider restricting type parameter `Q` |
| | |
| LL | fn example<Q: T1>(q: Q) { |
| | ++++ |
| |
| error[E0277]: the trait bound `Q: T1` is not satisfied |
| --> $DIR/blame-trait-error-spans-on-exprs.rs:115:88 |
| | |
| LL | want(DoubleWrapper { item: Wrapper { value: DoubleWrapper { item: Wrapper { value: q } } } }); |
| | ---- required by a bound introduced by this call ^ the trait `T1` is not implemented for `Q` |
| | |
| note: required for `DoubleWrapper<Q>` to implement `T1` |
| --> $DIR/blame-trait-error-spans-on-exprs.rs:72:13 |
| | |
| LL | impl<T: T1> T1 for DoubleWrapper<T> {} |
| | -- ^^ ^^^^^^^^^^^^^^^^ |
| | | |
| | unsatisfied trait bound introduced here |
| = note: 1 redundant requirement hidden |
| = note: required for `DoubleWrapper<DoubleWrapper<Q>>` to implement `T1` |
| note: required by a bound in `want` |
| --> $DIR/blame-trait-error-spans-on-exprs.rs:53:12 |
| | |
| LL | fn want<V: T1>(_x: V) {} |
| | ^^ required by this bound in `want` |
| help: consider restricting type parameter `Q` |
| | |
| LL | fn example<Q: T1>(q: Q) { |
| | ++++ |
| |
| error[E0277]: the trait bound `Q: T3` is not satisfied |
| --> $DIR/blame-trait-error-spans-on-exprs.rs:119:27 |
| | |
| LL | want(Wrapper { value: AliasBurrito { spiciness: q, filling: q } }); |
| | ---- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `T3` is not implemented for `Q` |
| | | |
| | required by a bound introduced by this call |
| | |
| note: required for `GenericBurrito<Q, Q>` to implement `T2` |
| --> $DIR/blame-trait-error-spans-on-exprs.rs:47:16 |
| | |
| LL | impl<X, Y: T3> T2 for GenericBurrito<X, Y> {} |
| | -- ^^ ^^^^^^^^^^^^^^^^^^^^ |
| | | |
| | unsatisfied trait bound introduced here |
| note: required for `Wrapper<GenericBurrito<Q, Q>>` to implement `T1` |
| --> $DIR/blame-trait-error-spans-on-exprs.rs:16:13 |
| | |
| LL | impl<B: T2> T1 for Wrapper<B> {} |
| | -- ^^ ^^^^^^^^^^ |
| | | |
| | unsatisfied trait bound introduced here |
| note: required by a bound in `want` |
| --> $DIR/blame-trait-error-spans-on-exprs.rs:53:12 |
| | |
| LL | fn want<V: T1>(_x: V) {} |
| | ^^ required by this bound in `want` |
| help: consider restricting type parameter `Q` |
| | |
| LL | fn example<Q: T3>(q: Q) { |
| | ++++ |
| |
| error[E0277]: the trait bound `Q: T1` is not satisfied |
| --> $DIR/blame-trait-error-spans-on-exprs.rs:122:35 |
| | |
| LL | want(Two { a: Two { a: (), b: q }, b: () }); |
| | ---- ^ the trait `T1` is not implemented for `Q` |
| | | |
| | required by a bound introduced by this call |
| | |
| note: required for `Two<Two<(), Q>, ()>` to implement `T1` |
| --> $DIR/blame-trait-error-spans-on-exprs.rs:66:19 |
| | |
| LL | impl<X, Y: T1, Z> T1 for Two<Two<X, Y>, Z> {} |
| | -- ^^ ^^^^^^^^^^^^^^^^^ |
| | | |
| | unsatisfied trait bound introduced here |
| note: required by a bound in `want` |
| --> $DIR/blame-trait-error-spans-on-exprs.rs:53:12 |
| | |
| LL | fn want<V: T1>(_x: V) {} |
| | ^^ required by this bound in `want` |
| help: consider restricting type parameter `Q` |
| | |
| LL | fn example<Q: T1>(q: Q) { |
| | ++++ |
| |
| error[E0277]: the trait bound `Q: T1` is not satisfied |
| --> $DIR/blame-trait-error-spans-on-exprs.rs:128:59 |
| | |
| LL | want( |
| | ---- required by a bound introduced by this call |
| LL | Two { a: Two { a: (), b: Two { a: Two { a: (), b: q }, b: () } }, b: () }, |
| | ^ the trait `T1` is not implemented for `Q` |
| | |
| note: required for `Two<Two<(), Q>, ()>` to implement `T1` |
| --> $DIR/blame-trait-error-spans-on-exprs.rs:66:19 |
| | |
| LL | impl<X, Y: T1, Z> T1 for Two<Two<X, Y>, Z> {} |
| | -- ^^ ^^^^^^^^^^^^^^^^^ |
| | | |
| | unsatisfied trait bound introduced here |
| = note: 1 redundant requirement hidden |
| = note: required for `Two<Two<(), Two<Two<(), Q>, ()>>, ()>` to implement `T1` |
| note: required by a bound in `want` |
| --> $DIR/blame-trait-error-spans-on-exprs.rs:53:12 |
| | |
| LL | fn want<V: T1>(_x: V) {} |
| | ^^ required by this bound in `want` |
| help: consider restricting type parameter `Q` |
| | |
| LL | fn example<Q: T1>(q: Q) { |
| | ++++ |
| |
| error[E0277]: the trait bound `Q: T3` is not satisfied |
| --> $DIR/blame-trait-error-spans-on-exprs.rs:133:44 |
| | |
| LL | want(&Burrito { spicy: false, filling: q }); |
| | ---- ^ the trait `T3` is not implemented for `Q` |
| | | |
| | required by a bound introduced by this call |
| | |
| note: required for `Burrito<Q>` to implement `T2` |
| --> $DIR/blame-trait-error-spans-on-exprs.rs:22:13 |
| | |
| LL | impl<A: T3> T2 for Burrito<A> {} |
| | -- ^^ ^^^^^^^^^^ |
| | | |
| | unsatisfied trait bound introduced here |
| note: required for `&Burrito<Q>` to implement `T1` |
| --> $DIR/blame-trait-error-spans-on-exprs.rs:74:17 |
| | |
| LL | impl<'a, T: T2> T1 for &'a T {} |
| | -- ^^ ^^^^^ |
| | | |
| | unsatisfied trait bound introduced here |
| note: required by a bound in `want` |
| --> $DIR/blame-trait-error-spans-on-exprs.rs:53:12 |
| | |
| LL | fn want<V: T1>(_x: V) {} |
| | ^^ required by this bound in `want` |
| help: consider restricting type parameter `Q` |
| | |
| LL | fn example<Q: T3>(q: Q) { |
| | ++++ |
| |
| error: aborting due to 14 previous errors |
| |
| For more information about this error, try `rustc --explain E0277`. |