error[E0277]: the trait bound `T: zerocopy::TryFromBytes` is not satisfied --> tests/ui-nightly/invalid-impls/invalid-impls.rs:27:43 | 27 | impl_or_verify!(T => TryFromBytes for Foo); | ^^^^^^ the trait `zerocopy::TryFromBytes` is not implemented for `T` | = note: Consider adding `#[derive(TryFromBytes)]` to `T` note: required for `Foo` to implement `zerocopy::TryFromBytes` --> tests/ui-nightly/invalid-impls/invalid-impls.rs:22:10 | 22 | #[derive(FromBytes, IntoBytes, Unaligned)] | ^^^^^^^^^ unsatisfied trait bound introduced in this `derive` macro note: required by a bound in `_::Subtrait` --> tests/ui-nightly/invalid-impls/../../../src/util/macros.rs | | trait Subtrait: $trait {} | ^^^^^^ required by this bound in `Subtrait` | ::: tests/ui-nightly/invalid-impls/invalid-impls.rs:27:5 | 27 | impl_or_verify!(T => TryFromBytes 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` with trait `TryFromBytes` | 27 | impl_or_verify!(T: zerocopy::TryFromBytes => TryFromBytes for Foo); | ++++++++++++++++++++++++ error[E0277]: the trait bound `T: zerocopy::FromZeros` is not satisfied --> tests/ui-nightly/invalid-impls/invalid-impls.rs:28:40 | 28 | impl_or_verify!(T => FromZeros for Foo); | ^^^^^^ the trait `zerocopy::FromZeros` is not implemented for `T` | = note: Consider adding `#[derive(FromZeros)]` to `T` note: required for `Foo` to implement `zerocopy::FromZeros` --> tests/ui-nightly/invalid-impls/invalid-impls.rs:22:10 | 22 | #[derive(FromBytes, IntoBytes, Unaligned)] | ^^^^^^^^^ unsatisfied trait bound introduced in this `derive` macro note: required by a bound in `_::Subtrait` --> tests/ui-nightly/invalid-impls/../../../src/util/macros.rs | | trait Subtrait: $trait {} | ^^^^^^ required by this bound in `Subtrait` | ::: tests/ui-nightly/invalid-impls/invalid-impls.rs:28:5 | 28 | impl_or_verify!(T => FromZeros 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` with trait `FromZeros` | 28 | impl_or_verify!(T: zerocopy::FromZeros => FromZeros for Foo); | +++++++++++++++++++++ error[E0277]: the trait bound `T: zerocopy::FromBytes` is not satisfied --> tests/ui-nightly/invalid-impls/invalid-impls.rs:29:40 | 29 | impl_or_verify!(T => FromBytes for Foo); | ^^^^^^ the trait `zerocopy::FromBytes` is not implemented for `T` | = note: Consider adding `#[derive(FromBytes)]` to `T` note: required for `Foo` to implement `zerocopy::FromBytes` --> tests/ui-nightly/invalid-impls/invalid-impls.rs:22:10 | 22 | #[derive(FromBytes, IntoBytes, Unaligned)] | ^^^^^^^^^ unsatisfied trait bound introduced in this `derive` macro note: required by a bound in `_::Subtrait` --> tests/ui-nightly/invalid-impls/../../../src/util/macros.rs | | trait Subtrait: $trait {} | ^^^^^^ required by this bound in `Subtrait` | ::: tests/ui-nightly/invalid-impls/invalid-impls.rs:29:5 | 29 | 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` with trait `FromBytes` | 29 | impl_or_verify!(T: zerocopy::FromBytes => FromBytes for Foo); | +++++++++++++++++++++ error[E0277]: the trait bound `T: zerocopy::IntoBytes` is not satisfied --> tests/ui-nightly/invalid-impls/invalid-impls.rs:30:40 | 30 | impl_or_verify!(T => IntoBytes for Foo); | ^^^^^^ the trait `zerocopy::IntoBytes` is not implemented for `T` | = note: Consider adding `#[derive(IntoBytes)]` to `T` note: required for `Foo` to implement `zerocopy::IntoBytes` --> tests/ui-nightly/invalid-impls/invalid-impls.rs:22:21 | 22 | #[derive(FromBytes, IntoBytes, Unaligned)] | ^^^^^^^^^ unsatisfied trait bound introduced in this `derive` macro note: required by a bound in `_::Subtrait` --> tests/ui-nightly/invalid-impls/../../../src/util/macros.rs | | trait Subtrait: $trait {} | ^^^^^^ required by this bound in `Subtrait` | ::: tests/ui-nightly/invalid-impls/invalid-impls.rs:30:5 | 30 | impl_or_verify!(T => IntoBytes for Foo); | ------------------------------------------ in this macro invocation = note: this error originates in the derive macro `IntoBytes` 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` with trait `IntoBytes` | 30 | impl_or_verify!(T: zerocopy::IntoBytes => IntoBytes for Foo); | +++++++++++++++++++++ error[E0277]: the trait bound `T: zerocopy::Unaligned` is not satisfied --> tests/ui-nightly/invalid-impls/invalid-impls.rs:31:40 | 31 | impl_or_verify!(T => Unaligned for Foo); | ^^^^^^ the trait `zerocopy::Unaligned` is not implemented for `T` | = note: Consider adding `#[derive(Unaligned)]` to `T` note: required for `Foo` to implement `zerocopy::Unaligned` --> tests/ui-nightly/invalid-impls/invalid-impls.rs:22:32 | 22 | #[derive(FromBytes, IntoBytes, Unaligned)] | ^^^^^^^^^ unsatisfied trait bound introduced in this `derive` macro note: required by a bound in `_::Subtrait` --> tests/ui-nightly/invalid-impls/../../../src/util/macros.rs | | trait Subtrait: $trait {} | ^^^^^^ required by this bound in `Subtrait` | ::: tests/ui-nightly/invalid-impls/invalid-impls.rs:31:5 | 31 | 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` with trait `Unaligned` | 31 | impl_or_verify!(T: zerocopy::Unaligned => Unaligned for Foo); | +++++++++++++++++++++