1error[E0277]: the trait bound `T: zerocopy::TryFromBytes` is not satisfied 2 --> tests/ui-nightly/invalid-impls/invalid-impls.rs:26:39 3 | 426 | impl_or_verify!(T => TryFromBytes for Foo<T>); 5 | ^^^^^^ the trait `zerocopy::TryFromBytes` is not implemented for `T` 6 | 7 = note: Consider adding `#[derive(TryFromBytes)]` to `T` 8note: required for `Foo<T>` to implement `zerocopy::TryFromBytes` 9 --> tests/ui-nightly/invalid-impls/invalid-impls.rs:22:10 10 | 1122 | #[derive(FromBytes, IntoBytes, Unaligned)] 12 | ^^^^^^^^^ unsatisfied trait bound introduced in this `derive` macro 13note: required by a bound in `_::Subtrait` 14 --> tests/ui-nightly/invalid-impls/../../../src/util/macros.rs 15 | 16 | trait Subtrait: $trait {} 17 | ^^^^^^ required by this bound in `Subtrait` 18 | 19 ::: tests/ui-nightly/invalid-impls/invalid-impls.rs:26:1 20 | 2126 | impl_or_verify!(T => TryFromBytes for Foo<T>); 22 | --------------------------------------------- in this macro invocation 23 = 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) 24help: consider restricting type parameter `T` 25 | 2626 | impl_or_verify!(T: zerocopy::TryFromBytes => TryFromBytes for Foo<T>); 27 | ++++++++++++++++++++++++ 28 29error[E0277]: the trait bound `T: zerocopy::FromZeros` is not satisfied 30 --> tests/ui-nightly/invalid-impls/invalid-impls.rs:27:36 31 | 3227 | impl_or_verify!(T => FromZeros for Foo<T>); 33 | ^^^^^^ the trait `zerocopy::FromZeros` is not implemented for `T` 34 | 35 = note: Consider adding `#[derive(FromZeros)]` to `T` 36note: required for `Foo<T>` to implement `zerocopy::FromZeros` 37 --> tests/ui-nightly/invalid-impls/invalid-impls.rs:22:10 38 | 3922 | #[derive(FromBytes, IntoBytes, Unaligned)] 40 | ^^^^^^^^^ unsatisfied trait bound introduced in this `derive` macro 41note: required by a bound in `_::Subtrait` 42 --> tests/ui-nightly/invalid-impls/../../../src/util/macros.rs 43 | 44 | trait Subtrait: $trait {} 45 | ^^^^^^ required by this bound in `Subtrait` 46 | 47 ::: tests/ui-nightly/invalid-impls/invalid-impls.rs:27:1 48 | 4927 | impl_or_verify!(T => FromZeros for Foo<T>); 50 | ------------------------------------------ in this macro invocation 51 = 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) 52help: consider restricting type parameter `T` 53 | 5427 | impl_or_verify!(T: zerocopy::FromZeros => FromZeros for Foo<T>); 55 | +++++++++++++++++++++ 56 57error[E0277]: the trait bound `T: zerocopy::FromBytes` is not satisfied 58 --> tests/ui-nightly/invalid-impls/invalid-impls.rs:28:36 59 | 6028 | impl_or_verify!(T => FromBytes for Foo<T>); 61 | ^^^^^^ the trait `zerocopy::FromBytes` is not implemented for `T` 62 | 63 = note: Consider adding `#[derive(FromBytes)]` to `T` 64note: required for `Foo<T>` to implement `zerocopy::FromBytes` 65 --> tests/ui-nightly/invalid-impls/invalid-impls.rs:22:10 66 | 6722 | #[derive(FromBytes, IntoBytes, Unaligned)] 68 | ^^^^^^^^^ unsatisfied trait bound introduced in this `derive` macro 69note: required by a bound in `_::Subtrait` 70 --> tests/ui-nightly/invalid-impls/../../../src/util/macros.rs 71 | 72 | trait Subtrait: $trait {} 73 | ^^^^^^ required by this bound in `Subtrait` 74 | 75 ::: tests/ui-nightly/invalid-impls/invalid-impls.rs:28:1 76 | 7728 | impl_or_verify!(T => FromBytes for Foo<T>); 78 | ------------------------------------------ in this macro invocation 79 = 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) 80help: consider restricting type parameter `T` 81 | 8228 | impl_or_verify!(T: zerocopy::FromBytes => FromBytes for Foo<T>); 83 | +++++++++++++++++++++ 84 85error[E0277]: the trait bound `T: zerocopy::IntoBytes` is not satisfied 86 --> tests/ui-nightly/invalid-impls/invalid-impls.rs:29:36 87 | 8829 | impl_or_verify!(T => IntoBytes for Foo<T>); 89 | ^^^^^^ the trait `zerocopy::IntoBytes` is not implemented for `T` 90 | 91 = note: Consider adding `#[derive(IntoBytes)]` to `T` 92note: required for `Foo<T>` to implement `zerocopy::IntoBytes` 93 --> tests/ui-nightly/invalid-impls/invalid-impls.rs:22:21 94 | 9522 | #[derive(FromBytes, IntoBytes, Unaligned)] 96 | ^^^^^^^^^ unsatisfied trait bound introduced in this `derive` macro 97note: required by a bound in `_::Subtrait` 98 --> tests/ui-nightly/invalid-impls/../../../src/util/macros.rs 99 | 100 | trait Subtrait: $trait {} 101 | ^^^^^^ required by this bound in `Subtrait` 102 | 103 ::: tests/ui-nightly/invalid-impls/invalid-impls.rs:29:1 104 | 10529 | impl_or_verify!(T => IntoBytes for Foo<T>); 106 | ------------------------------------------ in this macro invocation 107 = 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) 108help: consider restricting type parameter `T` 109 | 11029 | impl_or_verify!(T: zerocopy::IntoBytes => IntoBytes for Foo<T>); 111 | +++++++++++++++++++++ 112 113error[E0277]: the trait bound `T: zerocopy::Unaligned` is not satisfied 114 --> tests/ui-nightly/invalid-impls/invalid-impls.rs:30:36 115 | 11630 | impl_or_verify!(T => Unaligned for Foo<T>); 117 | ^^^^^^ the trait `zerocopy::Unaligned` is not implemented for `T` 118 | 119 = note: Consider adding `#[derive(Unaligned)]` to `T` 120note: required for `Foo<T>` to implement `zerocopy::Unaligned` 121 --> tests/ui-nightly/invalid-impls/invalid-impls.rs:22:32 122 | 12322 | #[derive(FromBytes, IntoBytes, Unaligned)] 124 | ^^^^^^^^^ unsatisfied trait bound introduced in this `derive` macro 125note: required by a bound in `_::Subtrait` 126 --> tests/ui-nightly/invalid-impls/../../../src/util/macros.rs 127 | 128 | trait Subtrait: $trait {} 129 | ^^^^^^ required by this bound in `Subtrait` 130 | 131 ::: tests/ui-nightly/invalid-impls/invalid-impls.rs:30:1 132 | 13330 | impl_or_verify!(T => Unaligned for Foo<T>); 134 | ------------------------------------------ in this macro invocation 135 = 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) 136help: consider restricting type parameter `T` 137 | 13830 | impl_or_verify!(T: zerocopy::Unaligned => Unaligned for Foo<T>); 139 | +++++++++++++++++++++ 140