error[E0277]: the trait bound `T: zerocopy::FromZeroes` is not satisfied --> tests/ui-nightly/invalid-impls/invalid-impls.rs:26:37 | 26 | impl_or_verify!(T => FromZeroes for Foo); | ^^^^^^ the trait `zerocopy::FromZeroes` is not implemented for `T` | note: required for `Foo` to implement `zerocopy::FromZeroes` --> tests/ui-nightly/invalid-impls/invalid-impls.rs:22:10 | 22 | #[derive(FromZeroes, FromBytes, AsBytes, Unaligned)] | ^^^^^^^^^^ unsatisfied trait bound introduced in this `derive` macro note: required by a bound in `_::Subtrait` --> tests/ui-nightly/invalid-impls/../../../src/macros.rs | | trait Subtrait: $trait {} | ^^^^^^ required by this bound in `Subtrait` | ::: tests/ui-nightly/invalid-impls/invalid-impls.rs:26:1 | 26 | impl_or_verify!(T => FromZeroes for Foo); | ------------------------------------------- in this macro invocation = 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) help: consider restricting type parameter `T` | 26 | impl_or_verify!(T: zerocopy::FromZeroes => FromZeroes for Foo); | ++++++++++++++++++++++ error[E0277]: the trait bound `T: zerocopy::FromBytes` is not satisfied --> tests/ui-nightly/invalid-impls/invalid-impls.rs:27:36 | 27 | impl_or_verify!(T => FromBytes for Foo); | ^^^^^^ the trait `zerocopy::FromBytes` is not implemented for `T` | note: required for `Foo` to implement `zerocopy::FromBytes` --> tests/ui-nightly/invalid-impls/invalid-impls.rs:22:22 | 22 | #[derive(FromZeroes, FromBytes, AsBytes, Unaligned)] | ^^^^^^^^^ unsatisfied trait bound introduced in this `derive` macro note: required by a bound in `_::Subtrait` --> tests/ui-nightly/invalid-impls/../../../src/macros.rs | | trait Subtrait: $trait {} | ^^^^^^ required by this bound in `Subtrait` | ::: tests/ui-nightly/invalid-impls/invalid-impls.rs:27:1 | 27 | impl_or_verify!(T => FromBytes for Foo); | ------------------------------------------ in this macro invocation = 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) help: consider restricting type parameter `T` | 27 | impl_or_verify!(T: zerocopy::FromBytes => FromBytes for Foo); | +++++++++++++++++++++ error[E0277]: the trait bound `T: zerocopy::AsBytes` is not satisfied --> tests/ui-nightly/invalid-impls/invalid-impls.rs:28:34 | 28 | impl_or_verify!(T => AsBytes for Foo); | ^^^^^^ the trait `zerocopy::AsBytes` is not implemented for `T` | note: required for `Foo` to implement `zerocopy::AsBytes` --> tests/ui-nightly/invalid-impls/invalid-impls.rs:22:33 | 22 | #[derive(FromZeroes, FromBytes, AsBytes, Unaligned)] | ^^^^^^^ unsatisfied trait bound introduced in this `derive` macro note: required by a bound in `_::Subtrait` --> tests/ui-nightly/invalid-impls/../../../src/macros.rs | | trait Subtrait: $trait {} | ^^^^^^ required by this bound in `Subtrait` | ::: tests/ui-nightly/invalid-impls/invalid-impls.rs:28:1 | 28 | impl_or_verify!(T => AsBytes for Foo); | ---------------------------------------- in this macro invocation = 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) help: consider restricting type parameter `T` | 28 | impl_or_verify!(T: zerocopy::AsBytes => AsBytes for Foo); | +++++++++++++++++++ error[E0277]: the trait bound `T: zerocopy::Unaligned` is not satisfied --> tests/ui-nightly/invalid-impls/invalid-impls.rs:29:36 | 29 | impl_or_verify!(T => Unaligned for Foo); | ^^^^^^ the trait `zerocopy::Unaligned` is not implemented for `T` | note: required for `Foo` to implement `zerocopy::Unaligned` --> tests/ui-nightly/invalid-impls/invalid-impls.rs:22:42 | 22 | #[derive(FromZeroes, FromBytes, AsBytes, Unaligned)] | ^^^^^^^^^ unsatisfied trait bound introduced in this `derive` macro note: required by a bound in `_::Subtrait` --> tests/ui-nightly/invalid-impls/../../../src/macros.rs | | trait Subtrait: $trait {} | ^^^^^^ required by this bound in `Subtrait` | ::: tests/ui-nightly/invalid-impls/invalid-impls.rs:29:1 | 29 | impl_or_verify!(T => Unaligned for Foo); | ------------------------------------------ in this macro invocation = 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) help: consider restricting type parameter `T` | 29 | impl_or_verify!(T: zerocopy::Unaligned => Unaligned for Foo); | +++++++++++++++++++++