1error[E0277]: the trait bound `T: zerocopy::FromZeroes` is not satisfied
2  --> tests/ui-stable/invalid-impls/invalid-impls.rs:26:37
3   |
426 | impl_or_verify!(T => FromZeroes for Foo<T>);
5   |                                     ^^^^^^ the trait `zerocopy::FromZeroes` is not implemented for `T`, which is required by `Foo<T>: zerocopy::FromZeroes`
6   |
7note: required for `Foo<T>` to implement `zerocopy::FromZeroes`
8  --> tests/ui-stable/invalid-impls/invalid-impls.rs:22:10
9   |
1022 | #[derive(FromZeroes, FromBytes, AsBytes, Unaligned)]
11   |          ^^^^^^^^^^ unsatisfied trait bound introduced in this `derive` macro
12note: required by a bound in `_::Subtrait`
13  --> tests/ui-stable/invalid-impls/../../../src/macros.rs
14   |
15   |             trait Subtrait: $trait {}
16   |                             ^^^^^^ required by this bound in `Subtrait`
17   |
18  ::: tests/ui-stable/invalid-impls/invalid-impls.rs:26:1
19   |
2026 | impl_or_verify!(T => FromZeroes for Foo<T>);
21   | ------------------------------------------- in this macro invocation
22   = note: this error originates in the derive macro `FromZeroes` which comes from the expansion of the macro `impl_or_verify` (in Nightly builds, run with -Z macro-backtrace for more info)
23help: consider restricting type parameter `T`
24   |
2526 | impl_or_verify!(T: zerocopy::FromZeroes => FromZeroes for Foo<T>);
26   |                  ++++++++++++++++++++++
27
28error[E0277]: the trait bound `T: zerocopy::FromBytes` is not satisfied
29  --> tests/ui-stable/invalid-impls/invalid-impls.rs:27:36
30   |
3127 | impl_or_verify!(T => FromBytes for Foo<T>);
32   |                                    ^^^^^^ the trait `zerocopy::FromBytes` is not implemented for `T`, which is required by `Foo<T>: zerocopy::FromBytes`
33   |
34note: required for `Foo<T>` to implement `zerocopy::FromBytes`
35  --> tests/ui-stable/invalid-impls/invalid-impls.rs:22:22
36   |
3722 | #[derive(FromZeroes, FromBytes, AsBytes, Unaligned)]
38   |                      ^^^^^^^^^ unsatisfied trait bound introduced in this `derive` macro
39note: required by a bound in `_::Subtrait`
40  --> tests/ui-stable/invalid-impls/../../../src/macros.rs
41   |
42   |             trait Subtrait: $trait {}
43   |                             ^^^^^^ required by this bound in `Subtrait`
44   |
45  ::: tests/ui-stable/invalid-impls/invalid-impls.rs:27:1
46   |
4727 | impl_or_verify!(T => FromBytes for Foo<T>);
48   | ------------------------------------------ in this macro invocation
49   = note: this error originates in the derive macro `FromBytes` which comes from the expansion of the macro `impl_or_verify` (in Nightly builds, run with -Z macro-backtrace for more info)
50help: consider restricting type parameter `T`
51   |
5227 | impl_or_verify!(T: zerocopy::FromBytes => FromBytes for Foo<T>);
53   |                  +++++++++++++++++++++
54
55error[E0277]: the trait bound `T: zerocopy::AsBytes` is not satisfied
56  --> tests/ui-stable/invalid-impls/invalid-impls.rs:28:34
57   |
5828 | impl_or_verify!(T => AsBytes for Foo<T>);
59   |                                  ^^^^^^ the trait `zerocopy::AsBytes` is not implemented for `T`, which is required by `Foo<T>: zerocopy::AsBytes`
60   |
61note: required for `Foo<T>` to implement `zerocopy::AsBytes`
62  --> tests/ui-stable/invalid-impls/invalid-impls.rs:22:33
63   |
6422 | #[derive(FromZeroes, FromBytes, AsBytes, Unaligned)]
65   |                                 ^^^^^^^ unsatisfied trait bound introduced in this `derive` macro
66note: required by a bound in `_::Subtrait`
67  --> tests/ui-stable/invalid-impls/../../../src/macros.rs
68   |
69   |             trait Subtrait: $trait {}
70   |                             ^^^^^^ required by this bound in `Subtrait`
71   |
72  ::: tests/ui-stable/invalid-impls/invalid-impls.rs:28:1
73   |
7428 | impl_or_verify!(T => AsBytes for Foo<T>);
75   | ---------------------------------------- in this macro invocation
76   = note: this error originates in the derive macro `AsBytes` which comes from the expansion of the macro `impl_or_verify` (in Nightly builds, run with -Z macro-backtrace for more info)
77help: consider restricting type parameter `T`
78   |
7928 | impl_or_verify!(T: zerocopy::AsBytes => AsBytes for Foo<T>);
80   |                  +++++++++++++++++++
81
82error[E0277]: the trait bound `T: zerocopy::Unaligned` is not satisfied
83  --> tests/ui-stable/invalid-impls/invalid-impls.rs:29:36
84   |
8529 | impl_or_verify!(T => Unaligned for Foo<T>);
86   |                                    ^^^^^^ the trait `zerocopy::Unaligned` is not implemented for `T`, which is required by `Foo<T>: zerocopy::Unaligned`
87   |
88note: required for `Foo<T>` to implement `zerocopy::Unaligned`
89  --> tests/ui-stable/invalid-impls/invalid-impls.rs:22:42
90   |
9122 | #[derive(FromZeroes, FromBytes, AsBytes, Unaligned)]
92   |                                          ^^^^^^^^^ unsatisfied trait bound introduced in this `derive` macro
93note: required by a bound in `_::Subtrait`
94  --> tests/ui-stable/invalid-impls/../../../src/macros.rs
95   |
96   |             trait Subtrait: $trait {}
97   |                             ^^^^^^ required by this bound in `Subtrait`
98   |
99  ::: tests/ui-stable/invalid-impls/invalid-impls.rs:29:1
100   |
10129 | impl_or_verify!(T => Unaligned for Foo<T>);
102   | ------------------------------------------ in this macro invocation
103   = note: this error originates in the derive macro `Unaligned` which comes from the expansion of the macro `impl_or_verify` (in Nightly builds, run with -Z macro-backtrace for more info)
104help: consider restricting type parameter `T`
105   |
10629 | impl_or_verify!(T: zerocopy::Unaligned => Unaligned for Foo<T>);
107   |                  +++++++++++++++++++++
108