From 3be4429c8265d126008d173154127da9b61b1111 Mon Sep 17 00:00:00 2001 From: Josh Liebow-Feeser Date: Fri, 2 Oct 2026 03:17:02 -0400 Subject: [PATCH] Normalize compiler paths and implementation samples in UI diagnostics Use the compiler's actual sysroot, including custom RUSTUP_HOME installations, and match it exactly so path normalization preserves neighboring diagnostic lines. Normalize rustc's arbitrary truncated implementation samples while preserving the trait header, complete lists, and specific implementation advice. Regenerate the affected snapshots through the MSRV, stable, and nightly UI runners. Focused normalizer tests check portable samples and preservation of errors, source spans, trait names, and other advice. gherrit-pr-id: G5hs7ombjwaxa43hlvraivt7tlmqscvmr Validation: official UI runners on MSRV, stable, and nightly; normalizer unit tests and nightly Clippy. Agent-authored-by: AI agent acting on joshlf's behalf --- tools/ui-runner/src/main.rs | 132 ++++++++- .../diagnostic-not-implemented.nightly.stderr | 72 +---- .../diagnostic-not-implemented.stable.stderr | 72 +---- .../tests/ui/include_value.nightly.stderr | 9 +- zerocopy/tests/ui/include_value.stable.stderr | 9 +- zerocopy/tests/ui/transmute.nightly.stderr | 18 +- zerocopy/tests/ui/transmute.stable.stderr | 18 +- .../tests/ui/transmute_mut.nightly.stderr | 36 +-- zerocopy/tests/ui/transmute_mut.stable.stderr | 36 +-- .../tests/ui/transmute_ref.nightly.stderr | 54 +--- zerocopy/tests/ui/transmute_ref.stable.stderr | 54 +--- .../tests/ui/try_transmute.nightly.stderr | 45 +-- zerocopy/tests/ui/try_transmute.stable.stderr | 36 +-- .../tests/ui/try_transmute_mut.nightly.stderr | 81 +----- .../tests/ui/try_transmute_mut.stable.stderr | 72 +---- .../tests/ui/try_transmute_ref.nightly.stderr | 81 ++---- .../tests/ui/try_transmute_ref.stable.stderr | 72 ++--- .../ui/derive_transparent.nightly.stderr | 45 +-- .../tests/ui/derive_transparent.stable.stderr | 45 +-- .../tests/ui/enum.nightly.stderr | 63 +---- .../tests/ui/enum.stable.stderr | 63 +---- .../tests/ui/late_compile_pass.nightly.stderr | 99 +------ .../tests/ui/late_compile_pass.stable.stderr | 99 +------ .../tests/ui/msrv_specific.nightly.stderr | 9 +- .../tests/ui/msrv_specific.stable.stderr | 9 +- .../tests/ui/struct.msrv.stderr | 262 +++++++++++++++++- .../tests/ui/struct.nightly.stderr | 63 +---- .../tests/ui/struct.stable.stderr | 63 +---- .../tests/ui/union.nightly.stderr | 9 +- .../tests/ui/union.stable.stderr | 9 +- 30 files changed, 562 insertions(+), 1173 deletions(-) diff --git a/tools/ui-runner/src/main.rs b/tools/ui-runner/src/main.rs index b34de455bf..103ea3384f 100644 --- a/tools/ui-runner/src/main.rs +++ b/tools/ui-runner/src/main.rs @@ -10,6 +10,7 @@ use std::{ env, fmt::Debug, path::{Path, PathBuf}, + process::Command, }; use ui_test::{ @@ -19,6 +20,24 @@ use ui_test::{ Config, }; +fn normalize_implementation_samples(config: &mut Config) { + // rustc prints an arbitrary sample of eight implementations for long + // candidate lists. The sample can change with the target, feature profile, + // or unrelated source changes. Preserve the trait header and surrounding + // diagnostic; normalize only a full sample followed by "and N others". + // Complete lists and diagnostics about specific implementations remain + // unchanged. + config.stderr_filter( + concat!( + r"(?m)(^[ \t]*= help: the following other types implement trait `[^\r\n`]+`:\n)", + r"([ \t]+)[^ \t\r\n][^\r\n]*\n", + r"(?:[ \t]+[^ \t\r\n][^\r\n]*\n){7}", + r"([ \t]+and \d+ others$)", + ), + b"${1}${2}$$IMPLEMENTATION_SAMPLES\n${3}", + ); +} + fn main() { let rmeta_path = PathBuf::from( env::var("ZEROCOPY_RMETA_PATH").expect("ZEROCOPY_RMETA_PATH must be set by tests/ui.rs"), @@ -37,6 +56,13 @@ fn main() { ); let toolchain = env::var("ZEROCOPY_UI_TEST_TOOLCHAIN") .expect("ZEROCOPY_UI_TEST_TOOLCHAIN must be set by tests/ui.rs"); + let sysroot = Command::new("rustc") + .env("RUSTUP_TOOLCHAIN", &toolchain) + .args(["--print", "sysroot"]) + .output() + .expect("failed to query the UI compiler's sysroot"); + assert!(sysroot.status.success(), "failed to query the UI compiler's sysroot"); + let sysroot = PathBuf::from(String::from_utf8(sysroot.stdout).unwrap().trim()); let root = env::current_dir().unwrap(); let mut config = Config::rustc(tests_dir.clone()); @@ -50,15 +76,20 @@ fn main() { let workspace_root = env::var("ZEROCOPY_WORKSPACE_ROOT").map(PathBuf::from).unwrap_or_else(|_| root.clone()); + // Normalize the selected compiler's actual source path, including a custom + // RUSTUP_HOME. Exact path matching also preserves neighboring diagnostics; + // a regex with [^/] could consume newlines before the source path. + config + .comment_defaults + .base() + .normalize_stderr + .push((sysroot.as_path().into(), b"$RUSTUP_TOOLCHAIN".to_vec())); + config.stderr_filter(&workspace_root.display().to_string(), "$$WORKSPACE"); if let Ok(canonical) = std::fs::canonicalize(&workspace_root) { config.stderr_filter(&canonical.display().to_string(), "$$WORKSPACE"); } - // Normalize paths to rustlib source code, which will differ between developer - // machines and CI runners. - config.stderr_filter(r"(/[^/]+)+/\.rustup/toolchains/[^/]+/", b"$$RUSTUP_TOOLCHAIN/"); - config.stderr_filter(&tests_dir.display().to_string(), "$$DIR"); if let Ok(canonical) = std::fs::canonicalize(&tests_dir) { config.stderr_filter(&canonical.display().to_string(), "$$DIR"); @@ -112,12 +143,8 @@ fn main() { config.stderr_filter(r"[^']*\.long-type-\d+\.txt", b"$OUT_DIR/long-type-HASH.txt"); - // rustc summarizes long implementation-candidate lists as "and N - // others". The exact count changes when a CI feature profile enables more - // implementations, even when the diagnostic under test is unchanged. - // Normalize only that summary so one toolchain snapshot can exercise every - // feature profile without hiding differences in the candidates rustc does - // print. + normalize_implementation_samples(&mut config); + // The number of additional candidates also changes with feature profiles. config.stderr_filter(r"and \d+ others", b"and $$OTHER_TYPES others"); // NOTE: We intentionally don't respect `RUSTFLAGS` here, as it is too @@ -294,3 +321,88 @@ impl TestStatus for RevisionOverrideStatus { &self.override_rev } } + +#[cfg(test)] +mod tests { + use ui_test::{Config, Match}; + + use super::normalize_implementation_samples; + + fn normalize(text: &str) -> String { + let mut config = Config::rustc(std::path::PathBuf::new()); + normalize_implementation_samples(&mut config); + let (filter, replacement) = config.comment_defaults.base().normalize_stderr.last().unwrap(); + match filter { + Match::Regex(regex) => { + String::from_utf8(regex.replace_all(text.as_bytes(), replacement).into_owned()) + .unwrap() + } + _ => panic!("implementation samples use a regex filter"), + } + } + + #[test] + fn normalizes_arbitrary_samples_and_preserves_diagnostics() { + let prefix = concat!( + "error[E0277]: the trait bound `Dst: FromBytes` is not satisfied\n", + " --> test.rs:1:1\n", + " = note: Consider adding `#[derive(FromBytes)]` to `Dst`\n", + " = help: the following other types implement trait `FromBytes`:\n", + ); + let suffix = concat!( + " and 100 others\n", + "note: required by a bound in `takes_from_bytes`\n", + " = help: unrelated help remains unchanged\n", + ); + let tuples = concat!( + " ()\n", + " (A, B)\n", + " (A, B, C)\n", + " (A, B, C, D)\n", + " (A, B, C, D, E)\n", + " (A, B, C, D, E, F)\n", + " (A, B, C, D, E, F, G)\n", + " (A, B, C, D, E, F, G, H)\n", + ); + let atomics = concat!( + " ()\n", + " AU16\n", + " Atomic\n", + " Atomic\n", + " Atomic\n", + " Atomic\n", + " Atomic\n", + " Atomic\n", + ); + let expected = format!("{} $IMPLEMENTATION_SAMPLES\n{}", prefix, suffix); + assert_eq!(normalize(&format!("{}{}{}", prefix, tuples, suffix)), expected); + assert_eq!(normalize(&format!("{}{}{}", prefix, atomics, suffix)), expected); + let different_trait = format!("{}{}{}", prefix, atomics, suffix) + .replace("implement trait `FromBytes`", "implement trait `IntoBytes`"); + assert_eq!( + normalize(&different_trait), + expected.replace("implement trait `FromBytes`", "implement trait `IntoBytes`") + ); + } + + #[test] + fn preserves_complete_lists_and_specific_implementation_help() { + let complete = concat!( + " = help: the following other types implement trait `FromBytes`:\n", + " ()\n", + " AU16\n", + " Atomic\n", + " Atomic\n", + " Atomic\n", + " Atomic\n", + " Atomic\n", + " Atomic\n", + "note: required by a bound in `takes_from_bytes`\n", + " = help: the trait `FromBytes` is implemented for `AU16`\n", + ); + assert_eq!(normalize(complete), complete); + // An unrelated summary must not turn a complete list into a sample. + let unrelated_summary = format!("{} and 100 others\n", complete); + assert_eq!(normalize(&unrelated_summary), unrelated_summary); + } +} diff --git a/zerocopy/tests/ui/diagnostic-not-implemented.nightly.stderr b/zerocopy/tests/ui/diagnostic-not-implemented.nightly.stderr index 09c669e868..7ce0799b79 100644 --- a/zerocopy/tests/ui/diagnostic-not-implemented.nightly.stderr +++ b/zerocopy/tests/ui/diagnostic-not-implemented.nightly.stderr @@ -11,14 +11,7 @@ help: the trait `FromBytes` is not implemented for `NotZerocopy` | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ = note: Consider adding `#[derive(FromBytes)]` to `NotZerocopy` = help: the following other types implement trait `FromBytes`: - () - (A, B) - (A, B, C) - (A, B, C, D) - (A, B, C, D, E) - (A, B, C, D, E, F) - (A, B, C, D, E, F, G) - (A, B, C, D, E, F, G, H) + $IMPLEMENTATION_SAMPLES and $OTHER_TYPES others note: required by a bound in `takes_from_bytes` --> $DIR/diagnostic-not-implemented.rs:77:24 @@ -39,14 +32,7 @@ help: the trait `FromZeros` is not implemented for `NotZerocopy` | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ = note: Consider adding `#[derive(FromZeros)]` to `NotZerocopy` = help: the following other types implement trait `FromZeros`: - () - (A, B) - (A, B, C) - (A, B, C, D) - (A, B, C, D, E) - (A, B, C, D, E, F) - (A, B, C, D, E, F, G) - (A, B, C, D, E, F, G, H) + $IMPLEMENTATION_SAMPLES and $OTHER_TYPES others note: required by a bound in `takes_from_zeros` --> $DIR/diagnostic-not-implemented.rs:78:24 @@ -69,14 +55,7 @@ help: the trait `Immutable` is not implemented for `NotZerocopy` | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ = note: Consider adding `#[derive(Immutable)]` to `NotZerocopy` = help: the following other types implement trait `Immutable`: - &T - &mut T - () - (A, B) - (A, B, C) - (A, B, C, D) - (A, B, C, D, E) - (A, B, C, D, E, F) + $IMPLEMENTATION_SAMPLES and $OTHER_TYPES others note: required by a bound in `takes_immutable` --> $DIR/diagnostic-not-implemented.rs:79:23 @@ -99,14 +78,7 @@ help: the trait `IntoBytes` is not implemented for `NotZerocopy` | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ = note: Consider adding `#[derive(IntoBytes)]` to `NotZerocopy` = help: the following other types implement trait `IntoBytes`: - () - AU16 - Atomic - Atomic - Atomic - Atomic - Atomic - Atomic + $IMPLEMENTATION_SAMPLES and $OTHER_TYPES others note: required by a bound in `takes_into_bytes` --> $DIR/diagnostic-not-implemented.rs:80:24 @@ -127,14 +99,7 @@ help: the trait `KnownLayout` is not implemented for `NotZerocopy` | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ = note: Consider adding `#[derive(KnownLayout)]` to `NotZerocopy` = help: the following other types implement trait `KnownLayout`: - &T - &mut T - () - *const T - *mut T - AU16 - Atomic<*mut T> - Atomic + $IMPLEMENTATION_SAMPLES and $OTHER_TYPES others note: required by a bound in `takes_known_layout` --> $DIR/diagnostic-not-implemented.rs:81:26 @@ -155,14 +120,7 @@ help: the trait `TryFromBytes` is not implemented for `NotZerocopy` | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ = note: Consider adding `#[derive(TryFromBytes)]` to `NotZerocopy` = help: the following other types implement trait `TryFromBytes`: - () - (A, B) - (A, B, C) - (A, B, C, D) - (A, B, C, D, E) - (A, B, C, D, E, F) - (A, B, C, D, E, F, G) - (A, B, C, D, E, F, G, H) + $IMPLEMENTATION_SAMPLES and $OTHER_TYPES others note: required by a bound in `takes_try_from_bytes` --> $DIR/diagnostic-not-implemented.rs:82:28 @@ -185,14 +143,7 @@ help: the trait `zerocopy::Unaligned` is not implemented for `NotZerocopy` | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ = note: Consider adding `#[derive(Unaligned)]` to `NotZerocopy` = help: the following other types implement trait `zerocopy::Unaligned`: - () - Atomic - Atomic - Atomic - Cell - F32 - F64 - I128 + $IMPLEMENTATION_SAMPLES and $OTHER_TYPES others note: required by a bound in `takes_unaligned` --> $DIR/diagnostic-not-implemented.rs:83:23 @@ -236,14 +187,7 @@ help: the trait `IntoBytes` is not implemented for `NotZerocopy` | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ = note: Consider adding `#[derive(IntoBytes)]` to `NotZerocopy` = help: the following other types implement trait `IntoBytes`: - () - AU16 - Atomic - Atomic - Atomic - Atomic - Atomic - Atomic + $IMPLEMENTATION_SAMPLES and $OTHER_TYPES others note: required by a bound in `Foo::write_obj` --> $DIR/diagnostic-not-implemented.rs:73:37 diff --git a/zerocopy/tests/ui/diagnostic-not-implemented.stable.stderr b/zerocopy/tests/ui/diagnostic-not-implemented.stable.stderr index f312ed3fae..0333c7b388 100644 --- a/zerocopy/tests/ui/diagnostic-not-implemented.stable.stderr +++ b/zerocopy/tests/ui/diagnostic-not-implemented.stable.stderr @@ -11,14 +11,7 @@ help: the trait `FromBytes` is not implemented for `NotZerocopy` | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ = note: Consider adding `#[derive(FromBytes)]` to `NotZerocopy` = help: the following other types implement trait `FromBytes`: - () - (A, B) - (A, B, C) - (A, B, C, D) - (A, B, C, D, E) - (A, B, C, D, E, F) - (A, B, C, D, E, F, G) - (A, B, C, D, E, F, G, H) + $IMPLEMENTATION_SAMPLES and $OTHER_TYPES others note: required by a bound in `takes_from_bytes` --> $DIR/diagnostic-not-implemented.rs:77:24 @@ -39,14 +32,7 @@ help: the trait `FromZeros` is not implemented for `NotZerocopy` | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ = note: Consider adding `#[derive(FromZeros)]` to `NotZerocopy` = help: the following other types implement trait `FromZeros`: - () - (A, B) - (A, B, C) - (A, B, C, D) - (A, B, C, D, E) - (A, B, C, D, E, F) - (A, B, C, D, E, F, G) - (A, B, C, D, E, F, G, H) + $IMPLEMENTATION_SAMPLES and $OTHER_TYPES others note: required by a bound in `takes_from_zeros` --> $DIR/diagnostic-not-implemented.rs:78:24 @@ -69,14 +55,7 @@ help: the trait `Immutable` is not implemented for `NotZerocopy` | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ = note: Consider adding `#[derive(Immutable)]` to `NotZerocopy` = help: the following other types implement trait `Immutable`: - &T - &mut T - () - (A, B) - (A, B, C) - (A, B, C, D) - (A, B, C, D, E) - (A, B, C, D, E, F) + $IMPLEMENTATION_SAMPLES and $OTHER_TYPES others note: required by a bound in `takes_immutable` --> $DIR/diagnostic-not-implemented.rs:79:23 @@ -99,14 +78,7 @@ help: the trait `IntoBytes` is not implemented for `NotZerocopy` | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ = note: Consider adding `#[derive(IntoBytes)]` to `NotZerocopy` = help: the following other types implement trait `IntoBytes`: - () - AU16 - Atomic - Atomic - Atomic - Atomic - Atomic - Atomic + $IMPLEMENTATION_SAMPLES and $OTHER_TYPES others note: required by a bound in `takes_into_bytes` --> $DIR/diagnostic-not-implemented.rs:80:24 @@ -127,14 +99,7 @@ help: the trait `KnownLayout` is not implemented for `NotZerocopy` | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ = note: Consider adding `#[derive(KnownLayout)]` to `NotZerocopy` = help: the following other types implement trait `KnownLayout`: - &T - &mut T - () - *const T - *mut T - AU16 - Atomic<*mut T> - Atomic + $IMPLEMENTATION_SAMPLES and $OTHER_TYPES others note: required by a bound in `takes_known_layout` --> $DIR/diagnostic-not-implemented.rs:81:26 @@ -155,14 +120,7 @@ help: the trait `TryFromBytes` is not implemented for `NotZerocopy` | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ = note: Consider adding `#[derive(TryFromBytes)]` to `NotZerocopy` = help: the following other types implement trait `TryFromBytes`: - () - (A, B) - (A, B, C) - (A, B, C, D) - (A, B, C, D, E) - (A, B, C, D, E, F) - (A, B, C, D, E, F, G) - (A, B, C, D, E, F, G, H) + $IMPLEMENTATION_SAMPLES and $OTHER_TYPES others note: required by a bound in `takes_try_from_bytes` --> $DIR/diagnostic-not-implemented.rs:82:28 @@ -185,14 +143,7 @@ help: the trait `zerocopy::Unaligned` is not implemented for `NotZerocopy` | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ = note: Consider adding `#[derive(Unaligned)]` to `NotZerocopy` = help: the following other types implement trait `zerocopy::Unaligned`: - () - Atomic - Atomic - Atomic - Cell - F32 - F64 - I128 + $IMPLEMENTATION_SAMPLES and $OTHER_TYPES others note: required by a bound in `takes_unaligned` --> $DIR/diagnostic-not-implemented.rs:83:23 @@ -235,14 +186,7 @@ help: the trait `IntoBytes` is not implemented for `NotZerocopy` | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ = note: Consider adding `#[derive(IntoBytes)]` to `NotZerocopy` = help: the following other types implement trait `IntoBytes`: - () - AU16 - Atomic - Atomic - Atomic - Atomic - Atomic - Atomic + $IMPLEMENTATION_SAMPLES and $OTHER_TYPES others note: required by a bound in `Foo::write_obj` --> $DIR/diagnostic-not-implemented.rs:73:37 diff --git a/zerocopy/tests/ui/include_value.nightly.stderr b/zerocopy/tests/ui/include_value.nightly.stderr index 7ae30e4275..ef1600b192 100644 --- a/zerocopy/tests/ui/include_value.nightly.stderr +++ b/zerocopy/tests/ui/include_value.nightly.stderr @@ -11,14 +11,7 @@ help: the trait `FromBytes` is not implemented for `NotZerocopy` | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ = note: Consider adding `#[derive(FromBytes)]` to `NotZerocopy` = help: the following other types implement trait `FromBytes`: - () - (A, B) - (A, B, C) - (A, B, C, D) - (A, B, C, D, E) - (A, B, C, D, E, F) - (A, B, C, D, E, F, G) - (A, B, C, D, E, F, G, H) + $IMPLEMENTATION_SAMPLES and $OTHER_TYPES others note: required by a bound in `NOT_FROM_BYTES::transmute` --> $DIR/include_value.rs:17:5 diff --git a/zerocopy/tests/ui/include_value.stable.stderr b/zerocopy/tests/ui/include_value.stable.stderr index 9c69f823bc..aafa46e506 100644 --- a/zerocopy/tests/ui/include_value.stable.stderr +++ b/zerocopy/tests/ui/include_value.stable.stderr @@ -11,14 +11,7 @@ help: the trait `FromBytes` is not implemented for `NotZerocopy` | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ = note: Consider adding `#[derive(FromBytes)]` to `NotZerocopy` = help: the following other types implement trait `FromBytes`: - () - (A, B) - (A, B, C) - (A, B, C, D) - (A, B, C, D, E) - (A, B, C, D, E, F) - (A, B, C, D, E, F, G) - (A, B, C, D, E, F, G, H) + $IMPLEMENTATION_SAMPLES and $OTHER_TYPES others note: required by a bound in `NOT_FROM_BYTES::transmute` --> $DIR/include_value.rs:17:5 diff --git a/zerocopy/tests/ui/transmute.nightly.stderr b/zerocopy/tests/ui/transmute.nightly.stderr index c2713b4764..a9d02b31a8 100644 --- a/zerocopy/tests/ui/transmute.nightly.stderr +++ b/zerocopy/tests/ui/transmute.nightly.stderr @@ -11,14 +11,7 @@ help: the trait `FromBytes` is not implemented for `NotZerocopy` | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ = note: Consider adding `#[derive(FromBytes)]` to `NotZerocopy` = help: the following other types implement trait `FromBytes`: - () - (A, B) - (A, B, C) - (A, B, C, D) - (A, B, C, D, E) - (A, B, C, D, E, F) - (A, B, C, D, E, F, G) - (A, B, C, D, E, F, G, H) + $IMPLEMENTATION_SAMPLES and $OTHER_TYPES others note: required by a bound in `DST_NOT_FROM_BYTES::transmute` --> $DIR/transmute.rs:17:41 @@ -47,14 +40,7 @@ help: the trait `IntoBytes` is not implemented for `NotZerocopy` | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ = note: Consider adding `#[derive(IntoBytes)]` to `NotZerocopy` = help: the following other types implement trait `IntoBytes`: - () - AU16 - Atomic - Atomic - Atomic - Atomic - Atomic - Atomic + $IMPLEMENTATION_SAMPLES and $OTHER_TYPES others note: required by a bound in `SRC_NOT_AS_BYTES::transmute` --> $DIR/transmute.rs:21:32 diff --git a/zerocopy/tests/ui/transmute.stable.stderr b/zerocopy/tests/ui/transmute.stable.stderr index 0125fb23ab..e6e0819bcf 100644 --- a/zerocopy/tests/ui/transmute.stable.stderr +++ b/zerocopy/tests/ui/transmute.stable.stderr @@ -11,14 +11,7 @@ help: the trait `FromBytes` is not implemented for `NotZerocopy` | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ = note: Consider adding `#[derive(FromBytes)]` to `NotZerocopy` = help: the following other types implement trait `FromBytes`: - () - (A, B) - (A, B, C) - (A, B, C, D) - (A, B, C, D, E) - (A, B, C, D, E, F) - (A, B, C, D, E, F, G) - (A, B, C, D, E, F, G, H) + $IMPLEMENTATION_SAMPLES and $OTHER_TYPES others note: required by a bound in `DST_NOT_FROM_BYTES::transmute` --> $DIR/transmute.rs:17:41 @@ -46,14 +39,7 @@ help: the trait `IntoBytes` is not implemented for `NotZerocopy` | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ = note: Consider adding `#[derive(IntoBytes)]` to `NotZerocopy` = help: the following other types implement trait `IntoBytes`: - () - AU16 - Atomic - Atomic - Atomic - Atomic - Atomic - Atomic + $IMPLEMENTATION_SAMPLES and $OTHER_TYPES others note: required by a bound in `SRC_NOT_AS_BYTES::transmute` --> $DIR/transmute.rs:21:32 diff --git a/zerocopy/tests/ui/transmute_mut.nightly.stderr b/zerocopy/tests/ui/transmute_mut.nightly.stderr index 8021bcf83f..c590ad005e 100644 --- a/zerocopy/tests/ui/transmute_mut.nightly.stderr +++ b/zerocopy/tests/ui/transmute_mut.nightly.stderr @@ -31,14 +31,7 @@ help: the trait `FromBytes` is not implemented for `DstA` | ^^^^^^^^^^^ = note: Consider adding `#[derive(FromBytes)]` to `DstA` = help: the following other types implement trait `FromBytes`: - () - (A, B) - (A, B, C) - (A, B, C, D) - (A, B, C, D, E) - (A, B, C, D, E, F) - (A, B, C, D, E, F, G) - (A, B, C, D, E, F, G, H) + $IMPLEMENTATION_SAMPLES and $OTHER_TYPES others note: required by a bound in `zerocopy::util::macro_util::Wrap::<&'a mut Src, &'a mut Dst>::transmute_mut` --> src/util/macro_util.rs:848:14 @@ -64,14 +57,7 @@ help: the trait `IntoBytes` is not implemented for `DstB` | ^^^^^^^^^^^ = note: Consider adding `#[derive(IntoBytes)]` to `DstB` = help: the following other types implement trait `IntoBytes`: - () - AU16 - Atomic - Atomic - Atomic - Atomic - Atomic - Atomic + $IMPLEMENTATION_SAMPLES and $OTHER_TYPES others note: required by a bound in `zerocopy::util::macro_util::Wrap::<&'a mut Src, &'a mut Dst>::transmute_mut` --> src/util/macro_util.rs:848:26 @@ -141,14 +127,7 @@ help: the trait `FromBytes` is not implemented for `SrcC` | ^^^^^^^^^^^ = note: Consider adding `#[derive(FromBytes)]` to `SrcC` = help: the following other types implement trait `FromBytes`: - () - (A, B) - (A, B, C) - (A, B, C, D) - (A, B, C, D, E) - (A, B, C, D, E, F) - (A, B, C, D, E, F, G) - (A, B, C, D, E, F, G, H) + $IMPLEMENTATION_SAMPLES and $OTHER_TYPES others note: required by a bound in `zerocopy::util::macro_util::Wrap::<&'a mut Src, &'a mut Dst>::transmute_mut` --> src/util/macro_util.rs:847:14 @@ -174,14 +153,7 @@ help: the trait `IntoBytes` is not implemented for `SrcD` | ^^^^^^^^^^^ = note: Consider adding `#[derive(IntoBytes)]` to `SrcD` = help: the following other types implement trait `IntoBytes`: - () - AU16 - Atomic - Atomic - Atomic - Atomic - Atomic - Atomic + $IMPLEMENTATION_SAMPLES and $OTHER_TYPES others note: required by a bound in `zerocopy::util::macro_util::Wrap::<&'a mut Src, &'a mut Dst>::transmute_mut` --> src/util/macro_util.rs:847:26 diff --git a/zerocopy/tests/ui/transmute_mut.stable.stderr b/zerocopy/tests/ui/transmute_mut.stable.stderr index 82fc006dbb..a86187cae2 100644 --- a/zerocopy/tests/ui/transmute_mut.stable.stderr +++ b/zerocopy/tests/ui/transmute_mut.stable.stderr @@ -31,14 +31,7 @@ help: the trait `FromBytes` is not implemented for `DstA` | ^^^^^^^^^^^ = note: Consider adding `#[derive(FromBytes)]` to `DstA` = help: the following other types implement trait `FromBytes`: - () - (A, B) - (A, B, C) - (A, B, C, D) - (A, B, C, D, E) - (A, B, C, D, E, F) - (A, B, C, D, E, F, G) - (A, B, C, D, E, F, G, H) + $IMPLEMENTATION_SAMPLES and $OTHER_TYPES others note: required by a bound in `zerocopy::util::macro_util::Wrap::<&'a mut Src, &'a mut Dst>::transmute_mut` --> src/util/macro_util.rs:848:14 @@ -63,14 +56,7 @@ help: the trait `IntoBytes` is not implemented for `DstB` | ^^^^^^^^^^^ = note: Consider adding `#[derive(IntoBytes)]` to `DstB` = help: the following other types implement trait `IntoBytes`: - () - AU16 - Atomic - Atomic - Atomic - Atomic - Atomic - Atomic + $IMPLEMENTATION_SAMPLES and $OTHER_TYPES others note: required by a bound in `zerocopy::util::macro_util::Wrap::<&'a mut Src, &'a mut Dst>::transmute_mut` --> src/util/macro_util.rs:848:26 @@ -139,14 +125,7 @@ help: the trait `FromBytes` is not implemented for `SrcC` | ^^^^^^^^^^^ = note: Consider adding `#[derive(FromBytes)]` to `SrcC` = help: the following other types implement trait `FromBytes`: - () - (A, B) - (A, B, C) - (A, B, C, D) - (A, B, C, D, E) - (A, B, C, D, E, F) - (A, B, C, D, E, F, G) - (A, B, C, D, E, F, G, H) + $IMPLEMENTATION_SAMPLES and $OTHER_TYPES others note: required by a bound in `zerocopy::util::macro_util::Wrap::<&'a mut Src, &'a mut Dst>::transmute_mut` --> src/util/macro_util.rs:847:14 @@ -171,14 +150,7 @@ help: the trait `IntoBytes` is not implemented for `SrcD` | ^^^^^^^^^^^ = note: Consider adding `#[derive(IntoBytes)]` to `SrcD` = help: the following other types implement trait `IntoBytes`: - () - AU16 - Atomic - Atomic - Atomic - Atomic - Atomic - Atomic + $IMPLEMENTATION_SAMPLES and $OTHER_TYPES others note: required by a bound in `zerocopy::util::macro_util::Wrap::<&'a mut Src, &'a mut Dst>::transmute_mut` --> src/util/macro_util.rs:847:26 diff --git a/zerocopy/tests/ui/transmute_ref.nightly.stderr b/zerocopy/tests/ui/transmute_ref.nightly.stderr index 17c728e4fa..b39314ff22 100644 --- a/zerocopy/tests/ui/transmute_ref.nightly.stderr +++ b/zerocopy/tests/ui/transmute_ref.nightly.stderr @@ -94,14 +94,7 @@ help: the trait `FromBytes` is not implemented for `DstA` | ^^^^^^^^^^^ = note: Consider adding `#[derive(FromBytes)]` to `DstA` = help: the following other types implement trait `FromBytes`: - () - AU16 - Atomic - Atomic - Atomic - Atomic - Atomic - Atomic + $IMPLEMENTATION_SAMPLES and $OTHER_TYPES others note: required by a bound in `DST_NOT_FROM_BYTES::AssertDstIsFromBytes` --> $DIR/transmute_ref.rs:40:35 @@ -130,14 +123,7 @@ help: the trait `Immutable` is not implemented for `DstB` | ^^^^^^^^^^^ = note: Consider adding `#[derive(Immutable)]` to `DstB` = help: the following other types implement trait `Immutable`: - &T - &mut T - () - (A, B) - (A, B, C) - (A, B, C, D) - (A, B, C, D, E) - (A, B, C, D, E, F) + $IMPLEMENTATION_SAMPLES and $OTHER_TYPES others note: required by a bound in `DST_NOT_IMMUTABLE::AssertDstIsImmutable` --> $DIR/transmute_ref.rs:48:34 @@ -240,14 +226,7 @@ help: the trait `IntoBytes` is not implemented for `SrcA` | ^^^^^^^^^^^ = note: Consider adding `#[derive(IntoBytes)]` to `SrcA` = help: the following other types implement trait `IntoBytes`: - () - AU16 - Atomic - Atomic - Atomic - Atomic - Atomic - Atomic + $IMPLEMENTATION_SAMPLES and $OTHER_TYPES others note: required by a bound in `SRC_NOT_AS_BYTES::AssertSrcIsIntoBytes` --> $DIR/transmute_ref.rs:70:33 @@ -273,14 +252,7 @@ help: the trait `IntoBytes` is not implemented for `SrcA` | ^^^^^^^^^^^ = note: Consider adding `#[derive(IntoBytes)]` to `SrcA` = help: the following other types implement trait `IntoBytes`: - () - AU16 - Atomic - Atomic - Atomic - Atomic - Atomic - Atomic + $IMPLEMENTATION_SAMPLES and $OTHER_TYPES others note: required by a bound in `SRC_NOT_AS_BYTES::AssertSrcIsIntoBytes` --> $DIR/transmute_ref.rs:70:33 @@ -309,14 +281,7 @@ help: the trait `Immutable` is not implemented for `SrcB` | ^^^^^^^^^^^ = note: Consider adding `#[derive(Immutable)]` to `SrcB` = help: the following other types implement trait `Immutable`: - &T - &mut T - () - (A, B) - (A, B, C) - (A, B, C, D) - (A, B, C, D, E) - (A, B, C, D, E, F) + $IMPLEMENTATION_SAMPLES and $OTHER_TYPES others note: required by a bound in `SRC_NOT_IMMUTABLE::AssertSrcIsImmutable` --> $DIR/transmute_ref.rs:79:34 @@ -344,14 +309,7 @@ help: the trait `Immutable` is not implemented for `SrcB` | ^^^^^^^^^^^ = note: Consider adding `#[derive(Immutable)]` to `SrcB` = help: the following other types implement trait `Immutable`: - &T - &mut T - () - (A, B) - (A, B, C) - (A, B, C, D) - (A, B, C, D, E) - (A, B, C, D, E, F) + $IMPLEMENTATION_SAMPLES and $OTHER_TYPES others note: required by a bound in `SRC_NOT_IMMUTABLE::AssertSrcIsImmutable` --> $DIR/transmute_ref.rs:79:34 diff --git a/zerocopy/tests/ui/transmute_ref.stable.stderr b/zerocopy/tests/ui/transmute_ref.stable.stderr index df4ab8d3be..e0ef6aa36d 100644 --- a/zerocopy/tests/ui/transmute_ref.stable.stderr +++ b/zerocopy/tests/ui/transmute_ref.stable.stderr @@ -94,14 +94,7 @@ help: the trait `FromBytes` is not implemented for `DstA` | ^^^^^^^^^^^ = note: Consider adding `#[derive(FromBytes)]` to `DstA` = help: the following other types implement trait `FromBytes`: - () - AU16 - Atomic - Atomic - Atomic - Atomic - Atomic - Atomic + $IMPLEMENTATION_SAMPLES and $OTHER_TYPES others note: required by a bound in `DST_NOT_FROM_BYTES::AssertDstIsFromBytes` --> $DIR/transmute_ref.rs:40:35 @@ -126,14 +119,7 @@ help: the trait `Immutable` is not implemented for `DstB` | ^^^^^^^^^^^ = note: Consider adding `#[derive(Immutable)]` to `DstB` = help: the following other types implement trait `Immutable`: - &T - &mut T - () - (A, B) - (A, B, C) - (A, B, C, D) - (A, B, C, D, E) - (A, B, C, D, E, F) + $IMPLEMENTATION_SAMPLES and $OTHER_TYPES others note: required by a bound in `DST_NOT_IMMUTABLE::AssertDstIsImmutable` --> $DIR/transmute_ref.rs:48:34 @@ -232,14 +218,7 @@ help: the trait `IntoBytes` is not implemented for `SrcA` | ^^^^^^^^^^^ = note: Consider adding `#[derive(IntoBytes)]` to `SrcA` = help: the following other types implement trait `IntoBytes`: - () - AU16 - Atomic - Atomic - Atomic - Atomic - Atomic - Atomic + $IMPLEMENTATION_SAMPLES and $OTHER_TYPES others note: required by a bound in `SRC_NOT_AS_BYTES::AssertSrcIsIntoBytes` --> $DIR/transmute_ref.rs:70:33 @@ -261,14 +240,7 @@ help: the trait `IntoBytes` is not implemented for `SrcA` | ^^^^^^^^^^^ = note: Consider adding `#[derive(IntoBytes)]` to `SrcA` = help: the following other types implement trait `IntoBytes`: - () - AU16 - Atomic - Atomic - Atomic - Atomic - Atomic - Atomic + $IMPLEMENTATION_SAMPLES and $OTHER_TYPES others note: required by a bound in `SRC_NOT_AS_BYTES::AssertSrcIsIntoBytes` --> $DIR/transmute_ref.rs:70:33 @@ -293,14 +265,7 @@ help: the trait `Immutable` is not implemented for `SrcB` | ^^^^^^^^^^^ = note: Consider adding `#[derive(Immutable)]` to `SrcB` = help: the following other types implement trait `Immutable`: - &T - &mut T - () - (A, B) - (A, B, C) - (A, B, C, D) - (A, B, C, D, E) - (A, B, C, D, E, F) + $IMPLEMENTATION_SAMPLES and $OTHER_TYPES others note: required by a bound in `SRC_NOT_IMMUTABLE::AssertSrcIsImmutable` --> $DIR/transmute_ref.rs:79:34 @@ -324,14 +289,7 @@ help: the trait `Immutable` is not implemented for `SrcB` | ^^^^^^^^^^^ = note: Consider adding `#[derive(Immutable)]` to `SrcB` = help: the following other types implement trait `Immutable`: - &T - &mut T - () - (A, B) - (A, B, C) - (A, B, C, D) - (A, B, C, D, E) - (A, B, C, D, E, F) + $IMPLEMENTATION_SAMPLES and $OTHER_TYPES others note: required by a bound in `SRC_NOT_IMMUTABLE::AssertSrcIsImmutable` --> $DIR/transmute_ref.rs:79:34 diff --git a/zerocopy/tests/ui/try_transmute.nightly.stderr b/zerocopy/tests/ui/try_transmute.nightly.stderr index d6bf43678d..97889ef135 100644 --- a/zerocopy/tests/ui/try_transmute.nightly.stderr +++ b/zerocopy/tests/ui/try_transmute.nightly.stderr @@ -11,14 +11,7 @@ help: the trait `TryFromBytes` is not implemented for `NotZerocopy` | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ = note: Consider adding `#[derive(TryFromBytes)]` to `NotZerocopy` = help: the following other types implement trait `TryFromBytes`: - () - (A, B) - (A, B, C) - (A, B, C, D) - (A, B, C, D, E) - (A, B, C, D, E, F) - (A, B, C, D, E, F, G) - (A, B, C, D, E, F, G, H) + $IMPLEMENTATION_SAMPLES and $OTHER_TYPES others note: required by a bound in `ValidityError` --> src/error.rs:588:45 @@ -41,14 +34,7 @@ help: the trait `TryFromBytes` is not implemented for `NotZerocopy` | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ = note: Consider adding `#[derive(TryFromBytes)]` to `NotZerocopy` = help: the following other types implement trait `TryFromBytes`: - () - (A, B) - (A, B, C) - (A, B, C, D) - (A, B, C, D, E) - (A, B, C, D, E, F) - (A, B, C, D, E, F, G) - (A, B, C, D, E, F, G, H) + $IMPLEMENTATION_SAMPLES and $OTHER_TYPES others note: required by a bound in `zerocopy::util::macro_util::try_transmute` --> src/util/macro_util.rs:528:10 @@ -74,14 +60,7 @@ help: the trait `TryFromBytes` is not implemented for `NotZerocopy` | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ = note: Consider adding `#[derive(TryFromBytes)]` to `NotZerocopy` = help: the following other types implement trait `TryFromBytes`: - () - (A, B) - (A, B, C) - (A, B, C, D) - (A, B, C, D, E) - (A, B, C, D, E, F) - (A, B, C, D, E, F, G) - (A, B, C, D, E, F, G, H) + $IMPLEMENTATION_SAMPLES and $OTHER_TYPES others note: required by a bound in `ValidityError` --> src/error.rs:588:45 @@ -105,14 +84,7 @@ help: the trait `TryFromBytes` is not implemented for `NotZerocopy` | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ = note: Consider adding `#[derive(TryFromBytes)]` to `NotZerocopy` = help: the following other types implement trait `TryFromBytes`: - () - (A, B) - (A, B, C) - (A, B, C, D) - (A, B, C, D, E) - (A, B, C, D, E, F) - (A, B, C, D, E, F, G) - (A, B, C, D, E, F, G, H) + $IMPLEMENTATION_SAMPLES and $OTHER_TYPES others note: required by a bound in `ValidityError` --> src/error.rs:588:45 @@ -136,14 +108,7 @@ help: the trait `IntoBytes` is not implemented for `NotZerocopy` | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ = note: Consider adding `#[derive(IntoBytes)]` to `NotZerocopy` = help: the following other types implement trait `IntoBytes`: - () - AU16 - Atomic - Atomic - Atomic - Atomic - Atomic - Atomic + $IMPLEMENTATION_SAMPLES and $OTHER_TYPES others note: required by a bound in `zerocopy::util::macro_util::try_transmute` --> src/util/macro_util.rs:527:10 diff --git a/zerocopy/tests/ui/try_transmute.stable.stderr b/zerocopy/tests/ui/try_transmute.stable.stderr index fef3695942..b8e42be31d 100644 --- a/zerocopy/tests/ui/try_transmute.stable.stderr +++ b/zerocopy/tests/ui/try_transmute.stable.stderr @@ -11,14 +11,7 @@ help: the trait `TryFromBytes` is not implemented for `NotZerocopy` | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ = note: Consider adding `#[derive(TryFromBytes)]` to `NotZerocopy` = help: the following other types implement trait `TryFromBytes`: - () - (A, B) - (A, B, C) - (A, B, C, D) - (A, B, C, D, E) - (A, B, C, D, E, F) - (A, B, C, D, E, F, G) - (A, B, C, D, E, F, G, H) + $IMPLEMENTATION_SAMPLES and $OTHER_TYPES others note: required by a bound in `ValidityError` --> src/error.rs:588:45 @@ -41,14 +34,7 @@ help: the trait `TryFromBytes` is not implemented for `NotZerocopy` | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ = note: Consider adding `#[derive(TryFromBytes)]` to `NotZerocopy` = help: the following other types implement trait `TryFromBytes`: - () - (A, B) - (A, B, C) - (A, B, C, D) - (A, B, C, D, E) - (A, B, C, D, E, F) - (A, B, C, D, E, F, G) - (A, B, C, D, E, F, G, H) + $IMPLEMENTATION_SAMPLES and $OTHER_TYPES others note: required by a bound in `zerocopy::util::macro_util::try_transmute` --> src/util/macro_util.rs:528:10 @@ -75,14 +61,7 @@ help: the trait `TryFromBytes` is not implemented for `NotZerocopy` | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ = note: Consider adding `#[derive(TryFromBytes)]` to `NotZerocopy` = help: the following other types implement trait `TryFromBytes`: - () - (A, B) - (A, B, C) - (A, B, C, D) - (A, B, C, D, E) - (A, B, C, D, E, F) - (A, B, C, D, E, F, G) - (A, B, C, D, E, F, G, H) + $IMPLEMENTATION_SAMPLES and $OTHER_TYPES others note: required by a bound in `ValidityError` --> src/error.rs:588:45 @@ -106,14 +85,7 @@ help: the trait `IntoBytes` is not implemented for `NotZerocopy` | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ = note: Consider adding `#[derive(IntoBytes)]` to `NotZerocopy` = help: the following other types implement trait `IntoBytes`: - () - AU16 - Atomic - Atomic - Atomic - Atomic - Atomic - Atomic + $IMPLEMENTATION_SAMPLES and $OTHER_TYPES others note: required by a bound in `zerocopy::util::macro_util::try_transmute` --> src/util/macro_util.rs:527:10 diff --git a/zerocopy/tests/ui/try_transmute_mut.nightly.stderr b/zerocopy/tests/ui/try_transmute_mut.nightly.stderr index 8b59a4f65f..682156afbd 100644 --- a/zerocopy/tests/ui/try_transmute_mut.nightly.stderr +++ b/zerocopy/tests/ui/try_transmute_mut.nightly.stderr @@ -11,14 +11,7 @@ help: the trait `TryFromBytes` is not implemented for `NotZerocopy` | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ = note: Consider adding `#[derive(TryFromBytes)]` to `NotZerocopy` = help: the following other types implement trait `TryFromBytes`: - () - (A, B) - (A, B, C) - (A, B, C, D) - (A, B, C, D, E) - (A, B, C, D, E, F) - (A, B, C, D, E, F, G) - (A, B, C, D, E, F, G, H) + $IMPLEMENTATION_SAMPLES and $OTHER_TYPES others note: required by a bound in `zerocopy::util::macro_util::Wrap::<&'a mut Src, &'a mut Dst>::try_transmute_mut` --> src/util/macro_util.rs:871:14 @@ -46,14 +39,7 @@ help: the trait `IntoBytes` is not implemented for `NotZerocopy` | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ = note: Consider adding `#[derive(IntoBytes)]` to `NotZerocopy` = help: the following other types implement trait `IntoBytes`: - () - AU16 - Atomic - Atomic - Atomic - Atomic - Atomic - Atomic + $IMPLEMENTATION_SAMPLES and $OTHER_TYPES others note: required by a bound in `zerocopy::util::macro_util::Wrap::<&'a mut Src, &'a mut Dst>::try_transmute_mut` --> src/util/macro_util.rs:871:29 @@ -79,14 +65,7 @@ help: the trait `TryFromBytes` is not implemented for `NotZerocopy` | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ = note: Consider adding `#[derive(TryFromBytes)]` to `NotZerocopy` = help: the following other types implement trait `TryFromBytes`: - () - (A, B) - (A, B, C) - (A, B, C, D) - (A, B, C, D, E) - (A, B, C, D, E, F) - (A, B, C, D, E, F, G) - (A, B, C, D, E, F, G, H) + $IMPLEMENTATION_SAMPLES and $OTHER_TYPES others note: required by a bound in `ValidityError` --> src/error.rs:588:45 @@ -109,14 +88,7 @@ help: the trait `TryFromBytes` is not implemented for `NotZerocopy` | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ = note: Consider adding `#[derive(TryFromBytes)]` to `NotZerocopy` = help: the following other types implement trait `TryFromBytes`: - () - (A, B) - (A, B, C) - (A, B, C, D) - (A, B, C, D, E) - (A, B, C, D, E, F) - (A, B, C, D, E, F, G) - (A, B, C, D, E, F, G, H) + $IMPLEMENTATION_SAMPLES and $OTHER_TYPES others note: required by a bound in `ValidityError` --> src/error.rs:588:45 @@ -140,14 +112,7 @@ help: the trait `TryFromBytes` is not implemented for `NotZerocopy` | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ = note: Consider adding `#[derive(TryFromBytes)]` to `NotZerocopy` = help: the following other types implement trait `TryFromBytes`: - () - (A, B) - (A, B, C) - (A, B, C, D) - (A, B, C, D, E) - (A, B, C, D, E, F) - (A, B, C, D, E, F, G) - (A, B, C, D, E, F, G, H) + $IMPLEMENTATION_SAMPLES and $OTHER_TYPES others note: required by a bound in `ValidityError` --> src/error.rs:588:45 @@ -171,14 +136,7 @@ help: the trait `FromBytes` is not implemented for `SrcA` | ^^^^^^^^^^^ = note: Consider adding `#[derive(FromBytes)]` to `SrcA` = help: the following other types implement trait `FromBytes`: - () - AU16 - Atomic - Atomic - Atomic - Atomic - Atomic - Atomic + $IMPLEMENTATION_SAMPLES and $OTHER_TYPES others note: required by a bound in `zerocopy::util::macro_util::Wrap::<&'a mut Src, &'a mut Dst>::try_transmute_mut` --> src/util/macro_util.rs:870:14 @@ -204,14 +162,7 @@ help: the trait `IntoBytes` is not implemented for `DstA` | ^^^^^^^^^^^ = note: Consider adding `#[derive(IntoBytes)]` to `DstA` = help: the following other types implement trait `IntoBytes`: - () - AU16 - Atomic - Atomic - Atomic - Atomic - Atomic - Atomic + $IMPLEMENTATION_SAMPLES and $OTHER_TYPES others note: required by a bound in `zerocopy::util::macro_util::Wrap::<&'a mut Src, &'a mut Dst>::try_transmute_mut` --> src/util/macro_util.rs:871:29 @@ -237,14 +188,7 @@ help: the trait `IntoBytes` is not implemented for `SrcB` | ^^^^^^^^^^^ = note: Consider adding `#[derive(IntoBytes)]` to `SrcB` = help: the following other types implement trait `IntoBytes`: - () - AU16 - Atomic - Atomic - Atomic - Atomic - Atomic - Atomic + $IMPLEMENTATION_SAMPLES and $OTHER_TYPES others note: required by a bound in `zerocopy::util::macro_util::Wrap::<&'a mut Src, &'a mut Dst>::try_transmute_mut` --> src/util/macro_util.rs:870:26 @@ -270,14 +214,7 @@ help: the trait `IntoBytes` is not implemented for `DstB` | ^^^^^^^^^^^ = note: Consider adding `#[derive(IntoBytes)]` to `DstB` = help: the following other types implement trait `IntoBytes`: - () - AU16 - Atomic - Atomic - Atomic - Atomic - Atomic - Atomic + $IMPLEMENTATION_SAMPLES and $OTHER_TYPES others note: required by a bound in `zerocopy::util::macro_util::Wrap::<&'a mut Src, &'a mut Dst>::try_transmute_mut` --> src/util/macro_util.rs:871:29 diff --git a/zerocopy/tests/ui/try_transmute_mut.stable.stderr b/zerocopy/tests/ui/try_transmute_mut.stable.stderr index 5d766a7a57..ecf7d48e6d 100644 --- a/zerocopy/tests/ui/try_transmute_mut.stable.stderr +++ b/zerocopy/tests/ui/try_transmute_mut.stable.stderr @@ -11,14 +11,7 @@ help: the trait `TryFromBytes` is not implemented for `NotZerocopy` | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ = note: Consider adding `#[derive(TryFromBytes)]` to `NotZerocopy` = help: the following other types implement trait `TryFromBytes`: - () - (A, B) - (A, B, C) - (A, B, C, D) - (A, B, C, D, E) - (A, B, C, D, E, F) - (A, B, C, D, E, F, G) - (A, B, C, D, E, F, G, H) + $IMPLEMENTATION_SAMPLES and $OTHER_TYPES others note: required by a bound in `zerocopy::util::macro_util::Wrap::<&'a mut Src, &'a mut Dst>::try_transmute_mut` --> src/util/macro_util.rs:871:14 @@ -45,14 +38,7 @@ help: the trait `IntoBytes` is not implemented for `NotZerocopy` | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ = note: Consider adding `#[derive(IntoBytes)]` to `NotZerocopy` = help: the following other types implement trait `IntoBytes`: - () - AU16 - Atomic - Atomic - Atomic - Atomic - Atomic - Atomic + $IMPLEMENTATION_SAMPLES and $OTHER_TYPES others note: required by a bound in `zerocopy::util::macro_util::Wrap::<&'a mut Src, &'a mut Dst>::try_transmute_mut` --> src/util/macro_util.rs:871:29 @@ -77,14 +63,7 @@ help: the trait `TryFromBytes` is not implemented for `NotZerocopy` | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ = note: Consider adding `#[derive(TryFromBytes)]` to `NotZerocopy` = help: the following other types implement trait `TryFromBytes`: - () - (A, B) - (A, B, C) - (A, B, C, D) - (A, B, C, D, E) - (A, B, C, D, E, F) - (A, B, C, D, E, F, G) - (A, B, C, D, E, F, G, H) + $IMPLEMENTATION_SAMPLES and $OTHER_TYPES others note: required by a bound in `ValidityError` --> src/error.rs:588:45 @@ -107,14 +86,7 @@ help: the trait `TryFromBytes` is not implemented for `NotZerocopy` | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ = note: Consider adding `#[derive(TryFromBytes)]` to `NotZerocopy` = help: the following other types implement trait `TryFromBytes`: - () - (A, B) - (A, B, C) - (A, B, C, D) - (A, B, C, D, E) - (A, B, C, D, E, F) - (A, B, C, D, E, F, G) - (A, B, C, D, E, F, G, H) + $IMPLEMENTATION_SAMPLES and $OTHER_TYPES others note: required by a bound in `ValidityError` --> src/error.rs:588:45 @@ -138,14 +110,7 @@ help: the trait `FromBytes` is not implemented for `SrcA` | ^^^^^^^^^^^ = note: Consider adding `#[derive(FromBytes)]` to `SrcA` = help: the following other types implement trait `FromBytes`: - () - AU16 - Atomic - Atomic - Atomic - Atomic - Atomic - Atomic + $IMPLEMENTATION_SAMPLES and $OTHER_TYPES others note: required by a bound in `zerocopy::util::macro_util::Wrap::<&'a mut Src, &'a mut Dst>::try_transmute_mut` --> src/util/macro_util.rs:870:14 @@ -170,14 +135,7 @@ help: the trait `IntoBytes` is not implemented for `DstA` | ^^^^^^^^^^^ = note: Consider adding `#[derive(IntoBytes)]` to `DstA` = help: the following other types implement trait `IntoBytes`: - () - AU16 - Atomic - Atomic - Atomic - Atomic - Atomic - Atomic + $IMPLEMENTATION_SAMPLES and $OTHER_TYPES others note: required by a bound in `zerocopy::util::macro_util::Wrap::<&'a mut Src, &'a mut Dst>::try_transmute_mut` --> src/util/macro_util.rs:871:29 @@ -202,14 +160,7 @@ help: the trait `IntoBytes` is not implemented for `SrcB` | ^^^^^^^^^^^ = note: Consider adding `#[derive(IntoBytes)]` to `SrcB` = help: the following other types implement trait `IntoBytes`: - () - AU16 - Atomic - Atomic - Atomic - Atomic - Atomic - Atomic + $IMPLEMENTATION_SAMPLES and $OTHER_TYPES others note: required by a bound in `zerocopy::util::macro_util::Wrap::<&'a mut Src, &'a mut Dst>::try_transmute_mut` --> src/util/macro_util.rs:870:26 @@ -234,14 +185,7 @@ help: the trait `IntoBytes` is not implemented for `DstB` | ^^^^^^^^^^^ = note: Consider adding `#[derive(IntoBytes)]` to `DstB` = help: the following other types implement trait `IntoBytes`: - () - AU16 - Atomic - Atomic - Atomic - Atomic - Atomic - Atomic + $IMPLEMENTATION_SAMPLES and $OTHER_TYPES others note: required by a bound in `zerocopy::util::macro_util::Wrap::<&'a mut Src, &'a mut Dst>::try_transmute_mut` --> src/util/macro_util.rs:871:29 diff --git a/zerocopy/tests/ui/try_transmute_ref.nightly.stderr b/zerocopy/tests/ui/try_transmute_ref.nightly.stderr index 05fa3de763..00a0cd55f2 100644 --- a/zerocopy/tests/ui/try_transmute_ref.nightly.stderr +++ b/zerocopy/tests/ui/try_transmute_ref.nightly.stderr @@ -1,5 +1,21 @@ error[E0308]: mismatched types - --> tests$RUSTUP_TOOLCHAIN/lib/rustlib/src/rust/library/core/src/result.rs:562:5 + --> $DIR/try_transmute_ref.rs:19:33 + | + 19 | let _: Result<&mut u8, _> = try_transmute_ref!(&0u8); + | ^^^^^^^^^^^^^^^^^^^^^^^^ + | | + | types differ in mutability + | arguments to this enum variant are incorrect + | + = note: expected mutable reference `&mut u8` + found reference `&_` +help: the type constructed contains `&_` due to the type of the argument passed + --> $DIR/try_transmute_ref.rs:19:33 + | + 19 | let _: Result<&mut u8, _> = try_transmute_ref!(&0u8); + | ^^^^^^^^^^^^^^^^^^^^^^^^ this argument influences the type of `Ok` +note: tuple variant defined here + --> $RUSTUP_TOOLCHAIN/lib/rustlib/src/rust/library/core/src/result.rs:562:5 | 562 | Ok(#[stable(feature = "rust1", since = "1.0.0")] T), | ^^ @@ -28,14 +44,7 @@ help: the trait `TryFromBytes` is not implemented for `NotZerocopy` | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ = note: Consider adding `#[derive(TryFromBytes)]` to `NotZerocopy` = help: the following other types implement trait `TryFromBytes`: - () - (A, B) - (A, B, C) - (A, B, C, D) - (A, B, C, D, E) - (A, B, C, D, E, F) - (A, B, C, D, E, F, G) - (A, B, C, D, E, F, G, H) + $IMPLEMENTATION_SAMPLES and $OTHER_TYPES others note: required by a bound in `zerocopy::util::macro_util::Wrap::<&'a Src, &'a Dst>::try_transmute_ref` --> src/util/macro_util.rs:791:14 @@ -63,14 +72,7 @@ help: the trait `Immutable` is not implemented for `NotZerocopy` | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ = note: Consider adding `#[derive(Immutable)]` to `NotZerocopy` = help: the following other types implement trait `Immutable`: - &T - &mut T - () - (A, B) - (A, B, C) - (A, B, C, D) - (A, B, C, D, E) - (A, B, C, D, E, F) + $IMPLEMENTATION_SAMPLES and $OTHER_TYPES others note: required by a bound in `zerocopy::util::macro_util::Wrap::<&'a Src, &'a Dst>::try_transmute_ref` --> src/util/macro_util.rs:791:29 @@ -98,14 +100,7 @@ help: the trait `TryFromBytes` is not implemented for `NotZerocopy` | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ = note: Consider adding `#[derive(TryFromBytes)]` to `NotZerocopy` = help: the following other types implement trait `TryFromBytes`: - () - (A, B) - (A, B, C) - (A, B, C, D) - (A, B, C, D, E) - (A, B, C, D, E, F) - (A, B, C, D, E, F, G) - (A, B, C, D, E, F, G, H) + $IMPLEMENTATION_SAMPLES and $OTHER_TYPES others note: required by a bound in `ValidityError` --> src/error.rs:588:45 @@ -128,14 +123,7 @@ help: the trait `TryFromBytes` is not implemented for `NotZerocopy` | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ = note: Consider adding `#[derive(TryFromBytes)]` to `NotZerocopy` = help: the following other types implement trait `TryFromBytes`: - () - (A, B) - (A, B, C) - (A, B, C, D) - (A, B, C, D, E) - (A, B, C, D, E, F) - (A, B, C, D, E, F, G) - (A, B, C, D, E, F, G, H) + $IMPLEMENTATION_SAMPLES and $OTHER_TYPES others note: required by a bound in `ValidityError` --> src/error.rs:588:45 @@ -159,14 +147,7 @@ help: the trait `TryFromBytes` is not implemented for `NotZerocopy` | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ = note: Consider adding `#[derive(TryFromBytes)]` to `NotZerocopy` = help: the following other types implement trait `TryFromBytes`: - () - (A, B) - (A, B, C) - (A, B, C, D) - (A, B, C, D, E) - (A, B, C, D, E, F) - (A, B, C, D, E, F, G) - (A, B, C, D, E, F, G, H) + $IMPLEMENTATION_SAMPLES and $OTHER_TYPES others note: required by a bound in `ValidityError` --> src/error.rs:588:45 @@ -190,14 +171,7 @@ help: the trait `IntoBytes` is not implemented for `NotZerocopy` | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ = note: Consider adding `#[derive(IntoBytes)]` to `NotZerocopy` = help: the following other types implement trait `IntoBytes`: - () - AU16 - Atomic - Atomic - Atomic - Atomic - Atomic - Atomic + $IMPLEMENTATION_SAMPLES and $OTHER_TYPES others note: required by a bound in `zerocopy::util::macro_util::Wrap::<&'a Src, &'a Dst>::try_transmute_ref` --> src/util/macro_util.rs:790:14 @@ -223,14 +197,7 @@ help: the trait `Immutable` is not implemented for `NotZerocopy` | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ = note: Consider adding `#[derive(Immutable)]` to `NotZerocopy` = help: the following other types implement trait `Immutable`: - &T - &mut T - () - (A, B) - (A, B, C) - (A, B, C, D) - (A, B, C, D, E) - (A, B, C, D, E, F) + $IMPLEMENTATION_SAMPLES and $OTHER_TYPES others note: required by a bound in `zerocopy::util::macro_util::Wrap::<&'a Src, &'a Dst>::try_transmute_ref` --> src/util/macro_util.rs:790:26 diff --git a/zerocopy/tests/ui/try_transmute_ref.stable.stderr b/zerocopy/tests/ui/try_transmute_ref.stable.stderr index 54ef9d01c2..c8093d5496 100644 --- a/zerocopy/tests/ui/try_transmute_ref.stable.stderr +++ b/zerocopy/tests/ui/try_transmute_ref.stable.stderr @@ -1,5 +1,21 @@ error[E0308]: mismatched types - --> tests$RUSTUP_TOOLCHAIN/lib/rustlib/src/rust/library/core/src/result.rs:562:5 + --> $DIR/try_transmute_ref.rs:19:33 + | + 19 | let _: Result<&mut u8, _> = try_transmute_ref!(&0u8); + | ^^^^^^^^^^^^^^^^^^^^^^^^ + | | + | types differ in mutability + | arguments to this enum variant are incorrect + | + = note: expected mutable reference `&mut u8` + found reference `&_` +help: the type constructed contains `&_` due to the type of the argument passed + --> $DIR/try_transmute_ref.rs:19:33 + | + 19 | let _: Result<&mut u8, _> = try_transmute_ref!(&0u8); + | ^^^^^^^^^^^^^^^^^^^^^^^^ this argument influences the type of `Ok` +note: tuple variant defined here + --> $RUSTUP_TOOLCHAIN/lib/rustlib/src/rust/library/core/src/result.rs:562:5 | 562 | Ok(#[stable(feature = "rust1", since = "1.0.0")] T), | ^^ @@ -28,14 +44,7 @@ help: the trait `TryFromBytes` is not implemented for `NotZerocopy` | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ = note: Consider adding `#[derive(TryFromBytes)]` to `NotZerocopy` = help: the following other types implement trait `TryFromBytes`: - () - (A, B) - (A, B, C) - (A, B, C, D) - (A, B, C, D, E) - (A, B, C, D, E, F) - (A, B, C, D, E, F, G) - (A, B, C, D, E, F, G, H) + $IMPLEMENTATION_SAMPLES and $OTHER_TYPES others note: required by a bound in `zerocopy::util::macro_util::Wrap::<&'a Src, &'a Dst>::try_transmute_ref` --> src/util/macro_util.rs:791:14 @@ -62,14 +71,7 @@ help: the trait `Immutable` is not implemented for `NotZerocopy` | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ = note: Consider adding `#[derive(Immutable)]` to `NotZerocopy` = help: the following other types implement trait `Immutable`: - &T - &mut T - () - (A, B) - (A, B, C) - (A, B, C, D) - (A, B, C, D, E) - (A, B, C, D, E, F) + $IMPLEMENTATION_SAMPLES and $OTHER_TYPES others note: required by a bound in `zerocopy::util::macro_util::Wrap::<&'a Src, &'a Dst>::try_transmute_ref` --> src/util/macro_util.rs:791:29 @@ -96,14 +98,7 @@ help: the trait `TryFromBytes` is not implemented for `NotZerocopy` | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ = note: Consider adding `#[derive(TryFromBytes)]` to `NotZerocopy` = help: the following other types implement trait `TryFromBytes`: - () - (A, B) - (A, B, C) - (A, B, C, D) - (A, B, C, D, E) - (A, B, C, D, E, F) - (A, B, C, D, E, F, G) - (A, B, C, D, E, F, G, H) + $IMPLEMENTATION_SAMPLES and $OTHER_TYPES others note: required by a bound in `ValidityError` --> src/error.rs:588:45 @@ -126,14 +121,7 @@ help: the trait `TryFromBytes` is not implemented for `NotZerocopy` | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ = note: Consider adding `#[derive(TryFromBytes)]` to `NotZerocopy` = help: the following other types implement trait `TryFromBytes`: - () - (A, B) - (A, B, C) - (A, B, C, D) - (A, B, C, D, E) - (A, B, C, D, E, F) - (A, B, C, D, E, F, G) - (A, B, C, D, E, F, G, H) + $IMPLEMENTATION_SAMPLES and $OTHER_TYPES others note: required by a bound in `ValidityError` --> src/error.rs:588:45 @@ -157,14 +145,7 @@ help: the trait `IntoBytes` is not implemented for `NotZerocopy` | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ = note: Consider adding `#[derive(IntoBytes)]` to `NotZerocopy` = help: the following other types implement trait `IntoBytes`: - () - AU16 - Atomic - Atomic - Atomic - Atomic - Atomic - Atomic + $IMPLEMENTATION_SAMPLES and $OTHER_TYPES others note: required by a bound in `zerocopy::util::macro_util::Wrap::<&'a Src, &'a Dst>::try_transmute_ref` --> src/util/macro_util.rs:790:14 @@ -189,14 +170,7 @@ help: the trait `Immutable` is not implemented for `NotZerocopy` | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ = note: Consider adding `#[derive(Immutable)]` to `NotZerocopy` = help: the following other types implement trait `Immutable`: - &T - &mut T - () - (A, B) - (A, B, C) - (A, B, C, D) - (A, B, C, D, E) - (A, B, C, D, E, F) + $IMPLEMENTATION_SAMPLES and $OTHER_TYPES others note: required by a bound in `zerocopy::util::macro_util::Wrap::<&'a Src, &'a Dst>::try_transmute_ref` --> src/util/macro_util.rs:790:26 diff --git a/zerocopy/zerocopy-derive/tests/ui/derive_transparent.nightly.stderr b/zerocopy/zerocopy-derive/tests/ui/derive_transparent.nightly.stderr index 3c87e42ace..a7498312b3 100644 --- a/zerocopy/zerocopy-derive/tests/ui/derive_transparent.nightly.stderr +++ b/zerocopy/zerocopy-derive/tests/ui/derive_transparent.nightly.stderr @@ -11,14 +11,7 @@ help: the trait `zerocopy_renamed::TryFromBytes` is not implemented for `NotZero | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ = note: Consider adding `#[derive(TryFromBytes)]` to `NotZerocopy` = help: the following other types implement trait `zerocopy_renamed::TryFromBytes`: - () - (A, B) - (A, B, C) - (A, B, C, D) - (A, B, C, D, E) - (A, B, C, D, E, F) - (A, B, C, D, E, F, G) - (A, B, C, D, E, F, G, H) + $IMPLEMENTATION_SAMPLES and $OTHER_TYPES others note: required for `TransparentStruct` to implement `zerocopy_renamed::TryFromBytes` --> $DIR/derive_transparent.rs:24:21 @@ -56,14 +49,7 @@ help: the trait `FromZeros` is not implemented for `NotZerocopy` | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ = note: Consider adding `#[derive(FromZeros)]` to `NotZerocopy` = help: the following other types implement trait `FromZeros`: - () - (A, B) - (A, B, C) - (A, B, C, D) - (A, B, C, D, E) - (A, B, C, D, E, F) - (A, B, C, D, E, F, G) - (A, B, C, D, E, F, G, H) + $IMPLEMENTATION_SAMPLES and $OTHER_TYPES others note: required for `TransparentStruct` to implement `FromZeros` --> $DIR/derive_transparent.rs:24:21 @@ -101,14 +87,7 @@ help: the trait `zerocopy_renamed::FromBytes` is not implemented for `NotZerocop | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ = note: Consider adding `#[derive(FromBytes)]` to `NotZerocopy` = help: the following other types implement trait `zerocopy_renamed::FromBytes`: - () - AU16 - Atomic - Atomic - Atomic - Atomic - Atomic - Atomic + $IMPLEMENTATION_SAMPLES and $OTHER_TYPES others note: required for `TransparentStruct` to implement `zerocopy_renamed::FromBytes` --> $DIR/derive_transparent.rs:24:21 @@ -144,14 +123,7 @@ help: the trait `zerocopy_renamed::IntoBytes` is not implemented for `NotZerocop | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ = note: Consider adding `#[derive(IntoBytes)]` to `NotZerocopy` = help: the following other types implement trait `zerocopy_renamed::IntoBytes`: - () - AU16 - Atomic - Atomic - Atomic - Atomic - Atomic - Atomic + $IMPLEMENTATION_SAMPLES and $OTHER_TYPES others note: required for `TransparentStruct` to implement `zerocopy_renamed::IntoBytes` --> $DIR/derive_transparent.rs:24:10 @@ -187,14 +159,7 @@ help: the trait `zerocopy_renamed::Unaligned` is not implemented for `NotZerocop | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ = note: Consider adding `#[derive(Unaligned)]` to `NotZerocopy` = help: the following other types implement trait `zerocopy_renamed::Unaligned`: - () - Atomic - Atomic - Atomic - Cell - F32 - F64 - I128 + $IMPLEMENTATION_SAMPLES and $OTHER_TYPES others note: required for `TransparentStruct` to implement `zerocopy_renamed::Unaligned` --> $DIR/derive_transparent.rs:24:32 diff --git a/zerocopy/zerocopy-derive/tests/ui/derive_transparent.stable.stderr b/zerocopy/zerocopy-derive/tests/ui/derive_transparent.stable.stderr index 1980e1cc1b..2747fc09a6 100644 --- a/zerocopy/zerocopy-derive/tests/ui/derive_transparent.stable.stderr +++ b/zerocopy/zerocopy-derive/tests/ui/derive_transparent.stable.stderr @@ -11,14 +11,7 @@ help: the trait `zerocopy_renamed::TryFromBytes` is not implemented for `NotZero | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ = note: Consider adding `#[derive(TryFromBytes)]` to `NotZerocopy` = help: the following other types implement trait `zerocopy_renamed::TryFromBytes`: - () - (A, B) - (A, B, C) - (A, B, C, D) - (A, B, C, D, E) - (A, B, C, D, E, F) - (A, B, C, D, E, F, G) - (A, B, C, D, E, F, G, H) + $IMPLEMENTATION_SAMPLES and $OTHER_TYPES others note: required for `TransparentStruct` to implement `zerocopy_renamed::TryFromBytes` --> $DIR/derive_transparent.rs:24:21 @@ -54,14 +47,7 @@ help: the trait `FromZeros` is not implemented for `NotZerocopy` | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ = note: Consider adding `#[derive(FromZeros)]` to `NotZerocopy` = help: the following other types implement trait `FromZeros`: - () - (A, B) - (A, B, C) - (A, B, C, D) - (A, B, C, D, E) - (A, B, C, D, E, F) - (A, B, C, D, E, F, G) - (A, B, C, D, E, F, G, H) + $IMPLEMENTATION_SAMPLES and $OTHER_TYPES others note: required for `TransparentStruct` to implement `FromZeros` --> $DIR/derive_transparent.rs:24:21 @@ -97,14 +83,7 @@ help: the trait `zerocopy_renamed::FromBytes` is not implemented for `NotZerocop | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ = note: Consider adding `#[derive(FromBytes)]` to `NotZerocopy` = help: the following other types implement trait `zerocopy_renamed::FromBytes`: - () - AU16 - Atomic - Atomic - Atomic - Atomic - Atomic - Atomic + $IMPLEMENTATION_SAMPLES and $OTHER_TYPES others note: required for `TransparentStruct` to implement `zerocopy_renamed::FromBytes` --> $DIR/derive_transparent.rs:24:21 @@ -138,14 +117,7 @@ help: the trait `zerocopy_renamed::IntoBytes` is not implemented for `NotZerocop | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ = note: Consider adding `#[derive(IntoBytes)]` to `NotZerocopy` = help: the following other types implement trait `zerocopy_renamed::IntoBytes`: - () - AU16 - Atomic - Atomic - Atomic - Atomic - Atomic - Atomic + $IMPLEMENTATION_SAMPLES and $OTHER_TYPES others note: required for `TransparentStruct` to implement `zerocopy_renamed::IntoBytes` --> $DIR/derive_transparent.rs:24:10 @@ -179,14 +151,7 @@ help: the trait `zerocopy_renamed::Unaligned` is not implemented for `NotZerocop | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ = note: Consider adding `#[derive(Unaligned)]` to `NotZerocopy` = help: the following other types implement trait `zerocopy_renamed::Unaligned`: - () - Atomic - Atomic - Atomic - Cell - F32 - F64 - I128 + $IMPLEMENTATION_SAMPLES and $OTHER_TYPES others note: required for `TransparentStruct` to implement `zerocopy_renamed::Unaligned` --> $DIR/derive_transparent.rs:24:32 diff --git a/zerocopy/zerocopy-derive/tests/ui/enum.nightly.stderr b/zerocopy/zerocopy-derive/tests/ui/enum.nightly.stderr index cc9cf19ff9..cf5491fdd5 100644 --- a/zerocopy/zerocopy-derive/tests/ui/enum.nightly.stderr +++ b/zerocopy/zerocopy-derive/tests/ui/enum.nightly.stderr @@ -332,14 +332,7 @@ error[E0277]: the trait bound `UnsafeCell<()>: Immutable` is not satisfied | = note: Consider adding `#[derive(Immutable)]` to `UnsafeCell<()>` = help: the following other types implement trait `Immutable`: - &T - &mut T - () - (A, B) - (A, B, C) - (A, B, C, D) - (A, B, C, D, E) - (A, B, C, D, E, F) + $IMPLEMENTATION_SAMPLES and $OTHER_TYPES others = note: the full name for the type has been written to '/long-type-HASH.txt' = note: consider using `--verbose` to print the full type name to the console @@ -357,14 +350,7 @@ error[E0277]: the trait bound `UnsafeCell: Immutable` is not satisfied | = note: Consider adding `#[derive(Immutable)]` to `UnsafeCell` = help: the following other types implement trait `Immutable`: - &T - &mut T - () - (A, B) - (A, B, C) - (A, B, C, D) - (A, B, C, D, E) - (A, B, C, D, E, F) + $IMPLEMENTATION_SAMPLES and $OTHER_TYPES others = note: the full name for the type has been written to '/long-type-HASH.txt' = note: consider using `--verbose` to print the full type name to the console @@ -387,14 +373,7 @@ help: the trait `TryFromBytes` is not implemented for `NotTryFromBytes` | ^^^^^^^^^^^^^^^^^^^^^^ = note: Consider adding `#[derive(TryFromBytes)]` to `NotTryFromBytes` = help: the following other types implement trait `TryFromBytes`: - () - (A, B) - (A, B, C) - (A, B, C, D) - (A, B, C, D, E) - (A, B, C, D, E, F) - (A, B, C, D, E, F, G) - (A, B, C, D, E, F, G, H) + $IMPLEMENTATION_SAMPLES and $OTHER_TYPES others = note: the full name for the type has been written to '/long-type-HASH.txt' = note: consider using `--verbose` to print the full type name to the console @@ -417,14 +396,7 @@ help: the trait `TryFromBytes` is not implemented for `NotFromZeros` | ^^^^^^^^^^^^^^^^^^^ = note: Consider adding `#[derive(TryFromBytes)]` to `NotFromZeros` = help: the following other types implement trait `TryFromBytes`: - () - (A, B) - (A, B, C) - (A, B, C, D) - (A, B, C, D, E) - (A, B, C, D, E, F) - (A, B, C, D, E, F, G) - (A, B, C, D, E, F, G, H) + $IMPLEMENTATION_SAMPLES and $OTHER_TYPES others = note: the full name for the type has been written to '/long-type-HASH.txt' = note: consider using `--verbose` to print the full type name to the console @@ -447,14 +419,7 @@ help: the trait `FromZeros` is not implemented for `NotFromZeros` | ^^^^^^^^^^^^^^^^^^^ = note: Consider adding `#[derive(FromZeros)]` to `NotFromZeros` = help: the following other types implement trait `FromZeros`: - () - (A, B) - (A, B, C) - (A, B, C, D) - (A, B, C, D, E) - (A, B, C, D, E, F) - (A, B, C, D, E, F, G) - (A, B, C, D, E, F, G, H) + $IMPLEMENTATION_SAMPLES and $OTHER_TYPES others = note: the full name for the type has been written to '/long-type-HASH.txt' = note: consider using `--verbose` to print the full type name to the console @@ -472,14 +437,7 @@ error[E0277]: the trait bound `bool: FromBytes` is not satisfied | = note: Consider adding `#[derive(FromBytes)]` to `bool` = help: the following other types implement trait `FromBytes`: - () - (A, B) - (A, B, C) - (A, B, C, D) - (A, B, C, D, E) - (A, B, C, D, E, F) - (A, B, C, D, E, F, G) - (A, B, C, D, E, F, G, H) + $IMPLEMENTATION_SAMPLES and $OTHER_TYPES others = note: this error originates in the derive macro `FromBytes` (in Nightly builds, run with -Z macro-backtrace for more info) help: add `#![feature(trivial_bounds)]` to the crate attributes to enable @@ -582,14 +540,7 @@ error[E0277]: the trait bound `bool: FromBytes` is not satisfied | = note: Consider adding `#[derive(FromBytes)]` to `bool` = help: the following other types implement trait `FromBytes`: - () - (A, B) - (A, B, C) - (A, B, C, D) - (A, B, C, D, E) - (A, B, C, D, E, F) - (A, B, C, D, E, F, G) - (A, B, C, D, E, F, G, H) + $IMPLEMENTATION_SAMPLES and $OTHER_TYPES others note: required for `FooU8` to implement `FromBytes` --> $DIR/enum.rs:249:10 diff --git a/zerocopy/zerocopy-derive/tests/ui/enum.stable.stderr b/zerocopy/zerocopy-derive/tests/ui/enum.stable.stderr index bd534364b1..5eeb03017a 100644 --- a/zerocopy/zerocopy-derive/tests/ui/enum.stable.stderr +++ b/zerocopy/zerocopy-derive/tests/ui/enum.stable.stderr @@ -307,14 +307,7 @@ error[E0277]: the trait bound `UnsafeCell<()>: Immutable` is not satisfied | = note: Consider adding `#[derive(Immutable)]` to `UnsafeCell<()>` = help: the following other types implement trait `Immutable`: - &T - &mut T - () - (A, B) - (A, B, C) - (A, B, C, D) - (A, B, C, D, E) - (A, B, C, D, E, F) + $IMPLEMENTATION_SAMPLES and $OTHER_TYPES others = note: the full name for the type has been written to '/long-type-HASH.txt' = note: consider using `--verbose` to print the full type name to the console @@ -328,14 +321,7 @@ error[E0277]: the trait bound `UnsafeCell: Immutable` is not satisfied | = note: Consider adding `#[derive(Immutable)]` to `UnsafeCell` = help: the following other types implement trait `Immutable`: - &T - &mut T - () - (A, B) - (A, B, C) - (A, B, C, D) - (A, B, C, D, E) - (A, B, C, D, E, F) + $IMPLEMENTATION_SAMPLES and $OTHER_TYPES others = note: the full name for the type has been written to '/long-type-HASH.txt' = note: consider using `--verbose` to print the full type name to the console @@ -354,14 +340,7 @@ help: the trait `TryFromBytes` is not implemented for `NotTryFromBytes` | ^^^^^^^^^^^^^^^^^^^^^^ = note: Consider adding `#[derive(TryFromBytes)]` to `NotTryFromBytes` = help: the following other types implement trait `TryFromBytes`: - () - (A, B) - (A, B, C) - (A, B, C, D) - (A, B, C, D, E) - (A, B, C, D, E, F) - (A, B, C, D, E, F, G) - (A, B, C, D, E, F, G, H) + $IMPLEMENTATION_SAMPLES and $OTHER_TYPES others = note: the full name for the type has been written to '/long-type-HASH.txt' = note: consider using `--verbose` to print the full type name to the console @@ -380,14 +359,7 @@ help: the trait `TryFromBytes` is not implemented for `NotFromZeros` | ^^^^^^^^^^^^^^^^^^^ = note: Consider adding `#[derive(TryFromBytes)]` to `NotFromZeros` = help: the following other types implement trait `TryFromBytes`: - () - (A, B) - (A, B, C) - (A, B, C, D) - (A, B, C, D, E) - (A, B, C, D, E, F) - (A, B, C, D, E, F, G) - (A, B, C, D, E, F, G, H) + $IMPLEMENTATION_SAMPLES and $OTHER_TYPES others = note: the full name for the type has been written to '/long-type-HASH.txt' = note: consider using `--verbose` to print the full type name to the console @@ -406,14 +378,7 @@ help: the trait `FromZeros` is not implemented for `NotFromZeros` | ^^^^^^^^^^^^^^^^^^^ = note: Consider adding `#[derive(FromZeros)]` to `NotFromZeros` = help: the following other types implement trait `FromZeros`: - () - (A, B) - (A, B, C) - (A, B, C, D) - (A, B, C, D, E) - (A, B, C, D, E, F) - (A, B, C, D, E, F, G) - (A, B, C, D, E, F, G, H) + $IMPLEMENTATION_SAMPLES and $OTHER_TYPES others = note: the full name for the type has been written to '/long-type-HASH.txt' = note: consider using `--verbose` to print the full type name to the console @@ -427,14 +392,7 @@ error[E0277]: the trait bound `bool: FromBytes` is not satisfied | = note: Consider adding `#[derive(FromBytes)]` to `bool` = help: the following other types implement trait `FromBytes`: - () - (A, B) - (A, B, C) - (A, B, C, D) - (A, B, C, D, E) - (A, B, C, D, E, F) - (A, B, C, D, E, F, G) - (A, B, C, D, E, F, G, H) + $IMPLEMENTATION_SAMPLES and $OTHER_TYPES others = note: this error originates in the derive macro `FromBytes` (in Nightly builds, run with -Z macro-backtrace for more info) @@ -515,14 +473,7 @@ error[E0277]: the trait bound `bool: FromBytes` is not satisfied | = note: Consider adding `#[derive(FromBytes)]` to `bool` = help: the following other types implement trait `FromBytes`: - () - (A, B) - (A, B, C) - (A, B, C, D) - (A, B, C, D, E) - (A, B, C, D, E, F) - (A, B, C, D, E, F, G) - (A, B, C, D, E, F, G, H) + $IMPLEMENTATION_SAMPLES and $OTHER_TYPES others note: required for `FooU8` to implement `FromBytes` --> $DIR/enum.rs:249:10 diff --git a/zerocopy/zerocopy-derive/tests/ui/late_compile_pass.nightly.stderr b/zerocopy/zerocopy-derive/tests/ui/late_compile_pass.nightly.stderr index 2bf2d2a7c2..12fb324ac1 100644 --- a/zerocopy/zerocopy-derive/tests/ui/late_compile_pass.nightly.stderr +++ b/zerocopy/zerocopy-derive/tests/ui/late_compile_pass.nightly.stderr @@ -19,14 +19,7 @@ help: the trait `zerocopy_renamed::TryFromBytes` is not implemented for `NotZero | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ = note: Consider adding `#[derive(TryFromBytes)]` to `NotZerocopy` = help: the following other types implement trait `zerocopy_renamed::TryFromBytes`: - () - (A, B) - (A, B, C) - (A, B, C, D) - (A, B, C, D, E) - (A, B, C, D, E, F) - (A, B, C, D, E, F, G) - (A, B, C, D, E, F, G, H) + $IMPLEMENTATION_SAMPLES and $OTHER_TYPES others = note: the full name for the type has been written to '/long-type-HASH.txt' = note: consider using `--verbose` to print the full type name to the console @@ -49,14 +42,7 @@ help: the trait `zerocopy_renamed::TryFromBytes` is not implemented for `NotZero | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ = note: Consider adding `#[derive(TryFromBytes)]` to `NotZerocopy` = help: the following other types implement trait `zerocopy_renamed::TryFromBytes`: - () - (A, B) - (A, B, C) - (A, B, C, D) - (A, B, C, D, E) - (A, B, C, D, E, F) - (A, B, C, D, E, F, G) - (A, B, C, D, E, F, G, H) + $IMPLEMENTATION_SAMPLES and $OTHER_TYPES others = note: the full name for the type has been written to '/long-type-HASH.txt' = note: consider using `--verbose` to print the full type name to the console @@ -79,14 +65,7 @@ help: the trait `FromZeros` is not implemented for `NotZerocopy` | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ = note: Consider adding `#[derive(FromZeros)]` to `NotZerocopy` = help: the following other types implement trait `FromZeros`: - () - (A, B) - (A, B, C) - (A, B, C, D) - (A, B, C, D, E) - (A, B, C, D, E, F) - (A, B, C, D, E, F, G) - (A, B, C, D, E, F, G, H) + $IMPLEMENTATION_SAMPLES and $OTHER_TYPES others = note: the full name for the type has been written to '/long-type-HASH.txt' = note: consider using `--verbose` to print the full type name to the console @@ -109,14 +88,7 @@ help: the trait `zerocopy_renamed::TryFromBytes` is not implemented for `NotZero | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ = note: Consider adding `#[derive(TryFromBytes)]` to `NotZerocopy` = help: the following other types implement trait `zerocopy_renamed::TryFromBytes`: - () - (A, B) - (A, B, C) - (A, B, C, D) - (A, B, C, D, E) - (A, B, C, D, E, F) - (A, B, C, D, E, F, G) - (A, B, C, D, E, F, G, H) + $IMPLEMENTATION_SAMPLES and $OTHER_TYPES others = note: the full name for the type has been written to '/long-type-HASH.txt' = note: consider using `--verbose` to print the full type name to the console @@ -139,14 +111,7 @@ help: the trait `FromZeros` is not implemented for `NotZerocopy` | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ = note: Consider adding `#[derive(FromZeros)]` to `NotZerocopy` = help: the following other types implement trait `FromZeros`: - () - (A, B) - (A, B, C) - (A, B, C, D) - (A, B, C, D, E) - (A, B, C, D, E, F) - (A, B, C, D, E, F, G) - (A, B, C, D, E, F, G, H) + $IMPLEMENTATION_SAMPLES and $OTHER_TYPES others = note: the full name for the type has been written to '/long-type-HASH.txt' = note: consider using `--verbose` to print the full type name to the console @@ -169,14 +134,7 @@ help: the trait `zerocopy_renamed::FromBytes` is not implemented for `NotZerocop | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ = note: Consider adding `#[derive(FromBytes)]` to `NotZerocopy` = help: the following other types implement trait `zerocopy_renamed::FromBytes`: - () - AU16 - Atomic - Atomic - Atomic - Atomic - Atomic - Atomic + $IMPLEMENTATION_SAMPLES and $OTHER_TYPES others = note: this error originates in the derive macro `FromBytes` (in Nightly builds, run with -Z macro-backtrace for more info) help: add `#![feature(trivial_bounds)]` to the crate attributes to enable @@ -197,14 +155,7 @@ help: the trait `zerocopy_renamed::IntoBytes` is not implemented for `NotZerocop | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ = note: Consider adding `#[derive(IntoBytes)]` to `NotZerocopy` = help: the following other types implement trait `zerocopy_renamed::IntoBytes`: - () - AU16 - Atomic - Atomic - Atomic - Atomic - Atomic - Atomic + $IMPLEMENTATION_SAMPLES and $OTHER_TYPES others = note: this error originates in the derive macro `IntoBytes` (in Nightly builds, run with -Z macro-backtrace for more info) help: add `#![feature(trivial_bounds)]` to the crate attributes to enable @@ -225,14 +176,7 @@ help: the trait `zerocopy_renamed::Unaligned` is not implemented for `AU16` | ^^^^^^^^^^^^^^^ = note: Consider adding `#[derive(Unaligned)]` to `AU16` = help: the following other types implement trait `zerocopy_renamed::Unaligned`: - () - Atomic - Atomic - Atomic - Cell - F32 - F64 - I128 + $IMPLEMENTATION_SAMPLES and $OTHER_TYPES others = note: this error originates in the derive macro `Unaligned` (in Nightly builds, run with -Z macro-backtrace for more info) help: add `#![feature(trivial_bounds)]` to the crate attributes to enable @@ -253,14 +197,7 @@ help: the trait `zerocopy_renamed::Unaligned` is not implemented for `AU16` | ^^^^^^^^^^^^^^^ = note: Consider adding `#[derive(Unaligned)]` to `AU16` = help: the following other types implement trait `zerocopy_renamed::Unaligned`: - () - Atomic - Atomic - Atomic - Cell - F32 - F64 - I128 + $IMPLEMENTATION_SAMPLES and $OTHER_TYPES others = note: this error originates in the derive macro `Unaligned` (in Nightly builds, run with -Z macro-backtrace for more info) help: add `#![feature(trivial_bounds)]` to the crate attributes to enable @@ -281,14 +218,7 @@ help: the trait `zerocopy_renamed::Unaligned` is not implemented for `AU16` | ^^^^^^^^^^^^^^^ = note: Consider adding `#[derive(Unaligned)]` to `AU16` = help: the following other types implement trait `zerocopy_renamed::Unaligned`: - () - Atomic - Atomic - Atomic - Cell - F32 - F64 - I128 + $IMPLEMENTATION_SAMPLES and $OTHER_TYPES others = note: this error originates in the derive macro `Unaligned` (in Nightly builds, run with -Z macro-backtrace for more info) help: add `#![feature(trivial_bounds)]` to the crate attributes to enable @@ -309,14 +239,7 @@ help: the trait `zerocopy_renamed::FromBytes` is not implemented for `NotZerocop | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ = note: Consider adding `#[derive(FromBytes)]` to `NotZerocopy` = help: the following other types implement trait `zerocopy_renamed::FromBytes`: - () - AU16 - Atomic - Atomic - Atomic - Atomic - Atomic - Atomic + $IMPLEMENTATION_SAMPLES and $OTHER_TYPES others note: required for `FromBytes1` to implement `zerocopy_renamed::FromBytes` --> $DIR/late_compile_pass.rs:54:10 diff --git a/zerocopy/zerocopy-derive/tests/ui/late_compile_pass.stable.stderr b/zerocopy/zerocopy-derive/tests/ui/late_compile_pass.stable.stderr index 4da32f2466..c818f513ce 100644 --- a/zerocopy/zerocopy-derive/tests/ui/late_compile_pass.stable.stderr +++ b/zerocopy/zerocopy-derive/tests/ui/late_compile_pass.stable.stderr @@ -19,14 +19,7 @@ help: the trait `zerocopy_renamed::TryFromBytes` is not implemented for `NotZero | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ = note: Consider adding `#[derive(TryFromBytes)]` to `NotZerocopy` = help: the following other types implement trait `zerocopy_renamed::TryFromBytes`: - () - (A, B) - (A, B, C) - (A, B, C, D) - (A, B, C, D, E) - (A, B, C, D, E, F) - (A, B, C, D, E, F, G) - (A, B, C, D, E, F, G, H) + $IMPLEMENTATION_SAMPLES and $OTHER_TYPES others = note: the full name for the type has been written to '/long-type-HASH.txt' = note: consider using `--verbose` to print the full type name to the console @@ -45,14 +38,7 @@ help: the trait `zerocopy_renamed::TryFromBytes` is not implemented for `NotZero | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ = note: Consider adding `#[derive(TryFromBytes)]` to `NotZerocopy` = help: the following other types implement trait `zerocopy_renamed::TryFromBytes`: - () - (A, B) - (A, B, C) - (A, B, C, D) - (A, B, C, D, E) - (A, B, C, D, E, F) - (A, B, C, D, E, F, G) - (A, B, C, D, E, F, G, H) + $IMPLEMENTATION_SAMPLES and $OTHER_TYPES others = note: the full name for the type has been written to '/long-type-HASH.txt' = note: consider using `--verbose` to print the full type name to the console @@ -71,14 +57,7 @@ help: the trait `FromZeros` is not implemented for `NotZerocopy` | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ = note: Consider adding `#[derive(FromZeros)]` to `NotZerocopy` = help: the following other types implement trait `FromZeros`: - () - (A, B) - (A, B, C) - (A, B, C, D) - (A, B, C, D, E) - (A, B, C, D, E, F) - (A, B, C, D, E, F, G) - (A, B, C, D, E, F, G, H) + $IMPLEMENTATION_SAMPLES and $OTHER_TYPES others = note: the full name for the type has been written to '/long-type-HASH.txt' = note: consider using `--verbose` to print the full type name to the console @@ -97,14 +76,7 @@ help: the trait `zerocopy_renamed::TryFromBytes` is not implemented for `NotZero | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ = note: Consider adding `#[derive(TryFromBytes)]` to `NotZerocopy` = help: the following other types implement trait `zerocopy_renamed::TryFromBytes`: - () - (A, B) - (A, B, C) - (A, B, C, D) - (A, B, C, D, E) - (A, B, C, D, E, F) - (A, B, C, D, E, F, G) - (A, B, C, D, E, F, G, H) + $IMPLEMENTATION_SAMPLES and $OTHER_TYPES others = note: the full name for the type has been written to '/long-type-HASH.txt' = note: consider using `--verbose` to print the full type name to the console @@ -123,14 +95,7 @@ help: the trait `FromZeros` is not implemented for `NotZerocopy` | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ = note: Consider adding `#[derive(FromZeros)]` to `NotZerocopy` = help: the following other types implement trait `FromZeros`: - () - (A, B) - (A, B, C) - (A, B, C, D) - (A, B, C, D, E) - (A, B, C, D, E, F) - (A, B, C, D, E, F, G) - (A, B, C, D, E, F, G, H) + $IMPLEMENTATION_SAMPLES and $OTHER_TYPES others = note: the full name for the type has been written to '/long-type-HASH.txt' = note: consider using `--verbose` to print the full type name to the console @@ -149,14 +114,7 @@ help: the trait `zerocopy_renamed::FromBytes` is not implemented for `NotZerocop | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ = note: Consider adding `#[derive(FromBytes)]` to `NotZerocopy` = help: the following other types implement trait `zerocopy_renamed::FromBytes`: - () - AU16 - Atomic - Atomic - Atomic - Atomic - Atomic - Atomic + $IMPLEMENTATION_SAMPLES and $OTHER_TYPES others = note: this error originates in the derive macro `FromBytes` (in Nightly builds, run with -Z macro-backtrace for more info) @@ -173,14 +131,7 @@ help: the trait `zerocopy_renamed::IntoBytes` is not implemented for `NotZerocop | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ = note: Consider adding `#[derive(IntoBytes)]` to `NotZerocopy` = help: the following other types implement trait `zerocopy_renamed::IntoBytes`: - () - AU16 - Atomic - Atomic - Atomic - Atomic - Atomic - Atomic + $IMPLEMENTATION_SAMPLES and $OTHER_TYPES others = note: this error originates in the derive macro `IntoBytes` (in Nightly builds, run with -Z macro-backtrace for more info) @@ -197,14 +148,7 @@ help: the trait `zerocopy_renamed::Unaligned` is not implemented for `AU16` | ^^^^^^^^^^^^^^^ = note: Consider adding `#[derive(Unaligned)]` to `AU16` = help: the following other types implement trait `zerocopy_renamed::Unaligned`: - () - Atomic - Atomic - Atomic - Cell - F32 - F64 - I128 + $IMPLEMENTATION_SAMPLES and $OTHER_TYPES others = note: this error originates in the derive macro `Unaligned` (in Nightly builds, run with -Z macro-backtrace for more info) @@ -221,14 +165,7 @@ help: the trait `zerocopy_renamed::Unaligned` is not implemented for `AU16` | ^^^^^^^^^^^^^^^ = note: Consider adding `#[derive(Unaligned)]` to `AU16` = help: the following other types implement trait `zerocopy_renamed::Unaligned`: - () - Atomic - Atomic - Atomic - Cell - F32 - F64 - I128 + $IMPLEMENTATION_SAMPLES and $OTHER_TYPES others = note: this error originates in the derive macro `Unaligned` (in Nightly builds, run with -Z macro-backtrace for more info) @@ -245,14 +182,7 @@ help: the trait `zerocopy_renamed::Unaligned` is not implemented for `AU16` | ^^^^^^^^^^^^^^^ = note: Consider adding `#[derive(Unaligned)]` to `AU16` = help: the following other types implement trait `zerocopy_renamed::Unaligned`: - () - Atomic - Atomic - Atomic - Cell - F32 - F64 - I128 + $IMPLEMENTATION_SAMPLES and $OTHER_TYPES others = note: this error originates in the derive macro `Unaligned` (in Nightly builds, run with -Z macro-backtrace for more info) @@ -269,14 +199,7 @@ help: the trait `zerocopy_renamed::FromBytes` is not implemented for `NotZerocop | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ = note: Consider adding `#[derive(FromBytes)]` to `NotZerocopy` = help: the following other types implement trait `zerocopy_renamed::FromBytes`: - () - AU16 - Atomic - Atomic - Atomic - Atomic - Atomic - Atomic + $IMPLEMENTATION_SAMPLES and $OTHER_TYPES others note: required for `FromBytes1` to implement `zerocopy_renamed::FromBytes` --> $DIR/late_compile_pass.rs:54:10 diff --git a/zerocopy/zerocopy-derive/tests/ui/msrv_specific.nightly.stderr b/zerocopy/zerocopy-derive/tests/ui/msrv_specific.nightly.stderr index 697c86e785..179171ced4 100644 --- a/zerocopy/zerocopy-derive/tests/ui/msrv_specific.nightly.stderr +++ b/zerocopy/zerocopy-derive/tests/ui/msrv_specific.nightly.stderr @@ -19,14 +19,7 @@ help: the trait `zerocopy_renamed::Unaligned` is not implemented for `AU16` | ^^^^^^^^^^^^^^^ = note: Consider adding `#[derive(Unaligned)]` to `AU16` = help: the following other types implement trait `zerocopy_renamed::Unaligned`: - () - Atomic - Atomic - Atomic - Cell - F32 - F64 - I128 + $IMPLEMENTATION_SAMPLES and $OTHER_TYPES others note: required for `IntoBytes1` to implement `zerocopy_renamed::IntoBytes` --> $DIR/msrv_specific.rs:25:10 diff --git a/zerocopy/zerocopy-derive/tests/ui/msrv_specific.stable.stderr b/zerocopy/zerocopy-derive/tests/ui/msrv_specific.stable.stderr index 4e32de3ff4..c2c8a09fb6 100644 --- a/zerocopy/zerocopy-derive/tests/ui/msrv_specific.stable.stderr +++ b/zerocopy/zerocopy-derive/tests/ui/msrv_specific.stable.stderr @@ -19,14 +19,7 @@ help: the trait `zerocopy_renamed::Unaligned` is not implemented for `AU16` | ^^^^^^^^^^^^^^^ = note: Consider adding `#[derive(Unaligned)]` to `AU16` = help: the following other types implement trait `zerocopy_renamed::Unaligned`: - () - Atomic - Atomic - Atomic - Cell - F32 - F64 - I128 + $IMPLEMENTATION_SAMPLES and $OTHER_TYPES others note: required for `IntoBytes1` to implement `zerocopy_renamed::IntoBytes` --> $DIR/msrv_specific.rs:25:10 diff --git a/zerocopy/zerocopy-derive/tests/ui/struct.msrv.stderr b/zerocopy/zerocopy-derive/tests/ui/struct.msrv.stderr index 6ef759542c..6358819d63 100644 --- a/zerocopy/zerocopy-derive/tests/ui/struct.msrv.stderr +++ b/zerocopy/zerocopy-derive/tests/ui/struct.msrv.stderr @@ -1,7 +1,267 @@ error: this conflicts with another representation hint --> $DIR/struct.rs:210:11 | -210 | #[repr(C, C)] /$RUSTUP_TOOLCHAIN/lib/rustlib/src/rust/library/core/src/mem/mod.rs:303:22 +210 | #[repr(C, C)] // zerocopy-derive conservatively treats these as conflicting reprs + | ^ + +error: must have a non-align #[repr(...)] attribute in order to guarantee this type's memory layout + --> $DIR/struct.rs:216:10 + | +216 | #[derive(IntoBytes)] + | ^^^^^^^^^ + | + = note: this error originates in the derive macro `IntoBytes` (in Nightly builds, run with -Z macro-backtrace for more info) + +error: must have a non-align #[repr(...)] attribute in order to guarantee this type's memory layout + --> $DIR/struct.rs:223:10 + | +223 | #[derive(IntoBytes)] + | ^^^^^^^^^ + | + = note: this error originates in the derive macro `IntoBytes` (in Nightly builds, run with -Z macro-backtrace for more info) + +error: must have a non-align #[repr(...)] attribute in order to guarantee this type's memory layout + --> $DIR/struct.rs:250:10 + | +250 | #[derive(IntoBytes)] + | ^^^^^^^^^ + | + = note: this error originates in the derive macro `IntoBytes` (in Nightly builds, run with -Z macro-backtrace for more info) + +error: must have a non-align #[repr(...)] attribute in order to guarantee this type's memory layout + --> $DIR/struct.rs:270:10 + | +270 | #[derive(IntoBytes)] + | ^^^^^^^^^ + | + = note: this error originates in the derive macro `IntoBytes` (in Nightly builds, run with -Z macro-backtrace for more info) + +error: cannot derive `Unaligned` on type with alignment greater than 1 + --> $DIR/struct.rs:302:11 + | +302 | #[repr(C, align(2))] + | ^^^^^ + +error: this conflicts with another representation hint + --> $DIR/struct.rs:308:8 + | +308 | #[repr(transparent, align(2))] + | ^^^^^^^^^^^ + +error: this conflicts with another representation hint + --> $DIR/struct.rs:317:16 + | +317 | #[repr(packed, align(2))] + | ^^^^^ + +error: this conflicts with another representation hint + --> $DIR/struct.rs:324:18 + | +324 | #[repr(align(1), align(2))] + | ^^^^^ + +error: this conflicts with another representation hint + --> $DIR/struct.rs:330:18 + | +330 | #[repr(align(2), align(4))] + | ^^^^^ + +error: must have #[repr(C)], #[repr(transparent)], or #[repr(packed)] attribute in order to guarantee this type's alignment + --> $DIR/struct.rs:334:10 + | +334 | #[derive(Unaligned)] + | ^^^^^^^^^ + | + = note: this error originates in the derive macro `Unaligned` (in Nightly builds, run with -Z macro-backtrace for more info) + +error: must have #[repr(C)], #[repr(transparent)], or #[repr(packed)] attribute in order to guarantee this type's alignment + --> $DIR/struct.rs:339:10 + | +339 | #[derive(Unaligned)] + | ^^^^^^^^^ + | + = note: this error originates in the derive macro `Unaligned` (in Nightly builds, run with -Z macro-backtrace for more info) + +error: this conflicts with another representation hint + --> $DIR/struct.rs:353:8 + | +353 | #[repr(C, packed(2))] + | ^ + +error: `crate` attribute requires a path as the value + --> $DIR/struct.rs:371:20 + | +371 | #[zerocopy(crate = "zerocopy_renamed"typo)] + | ^^^^^^^^^^^^^^^^^^^^^^ + +error: `crate` attribute requires a valid module path + --> $DIR/struct.rs:377:20 + | +377 | #[zerocopy(crate = "Self::foo")] + | ^^^^^^^^^^^ + +error: `crate` attribute requires a valid module path + --> $DIR/struct.rs:383:20 + | +383 | #[zerocopy(crate = "::crate::foo")] + | ^^^^^^^^^^^^^^ + +error: `crate` attribute requires a valid module path + --> $DIR/struct.rs:389:20 + | +389 | #[zerocopy(crate = "foo::crate::bar")] + | ^^^^^^^^^^^^^^^^^ + +error: `crate` attribute requires a valid module path + --> $DIR/struct.rs:395:20 + | +395 | #[zerocopy(crate = "foo::super::bar")] + | ^^^^^^^^^^^^^^^^^ + +error: `crate` attribute requires a valid module path + --> $DIR/struct.rs:401:20 + | +401 | #[zerocopy(crate = "foo::Self::bar")] + | ^^^^^^^^^^^^^^^^ + +error: `crate` attribute requires a valid module path + --> $DIR/struct.rs:407:20 + | +407 | #[zerocopy(crate = "foo::self")] + | ^^^^^^^^^^^ + +error[E0692]: transparent struct cannot have other repr hints + --> $DIR/struct.rs:308:8 + | +308 | #[repr(transparent, align(2))] + | ^^^^^^^^^^^ ^^^^^^^^ + +error[E0277]: the size for values of type `[u8]` cannot be known at compilation time + --> $DIR/struct.rs:31:10 + | +31 | #[derive(KnownLayout)] + | ^^^^^^^^^^^ doesn't have a size known at compile-time + | + = help: within `KL00`, the trait `Sized` is not implemented for `[u8]` +note: required because it appears within the type `KL00` + --> $DIR/struct.rs:34:8 + | +34 | struct KL00(u8, NotKnownLayoutDst); + | ^^^^ + = help: see issue #48214 + = note: this error originates in the derive macro `KnownLayout` (in Nightly builds, run with -Z macro-backtrace for more info) + +error[E0277]: the size for values of type `[u8]` cannot be known at compilation time + --> $DIR/struct.rs:38:10 + | +38 | #[derive(KnownLayout)] + | ^^^^^^^^^^^ doesn't have a size known at compile-time + | + = help: within `KL02`, the trait `Sized` is not implemented for `[u8]` +note: required because it appears within the type `KL02` + --> $DIR/struct.rs:41:8 + | +41 | struct KL02(u8, [u8]); + | ^^^^ + = help: see issue #48214 + = note: this error originates in the derive macro `KnownLayout` (in Nightly builds, run with -Z macro-backtrace for more info) + +error[E0277]: the trait bound `NotKnownLayoutDst: zerocopy_renamed::KnownLayout` is not satisfied + --> $DIR/struct.rs:45:10 + | +45 | #[derive(KnownLayout)] + | ^^^^^^^^^^^ the trait `zerocopy_renamed::KnownLayout` is not implemented for `NotKnownLayoutDst` + | + = help: see issue #48214 + = note: this error originates in the derive macro `KnownLayout` (in Nightly builds, run with -Z macro-backtrace for more info) + +error[E0277]: the trait bound `NotKnownLayout: zerocopy_renamed::KnownLayout` is not satisfied + --> $DIR/struct.rs:53:10 + | +53 | #[derive(KnownLayout)] + | ^^^^^^^^^^^ the trait `zerocopy_renamed::KnownLayout` is not implemented for `NotKnownLayout` + | + = help: see issue #48214 + = note: this error originates in the derive macro `KnownLayout` (in Nightly builds, run with -Z macro-backtrace for more info) + +error[E0277]: the trait bound `UnsafeCell<()>: zerocopy_renamed::Immutable` is not satisfied + --> $DIR/struct.rs:63:10 + | +63 | #[derive(Immutable)] + | ^^^^^^^^^ the trait `zerocopy_renamed::Immutable` is not implemented for `UnsafeCell<()>` + | + = help: see issue #48214 + = note: this error originates in the derive macro `Immutable` (in Nightly builds, run with -Z macro-backtrace for more info) + +error[E0277]: the trait bound `UnsafeCell: zerocopy_renamed::Immutable` is not satisfied + --> $DIR/struct.rs:70:10 + | +70 | #[derive(Immutable)] + | ^^^^^^^^^ the trait `zerocopy_renamed::Immutable` is not implemented for `UnsafeCell` + | + = note: required because of the requirements on the impl of `zerocopy_renamed::Immutable` for `[UnsafeCell; 0]` + = help: see issue #48214 + = note: this error originates in the derive macro `Immutable` (in Nightly builds, run with -Z macro-backtrace for more info) + +error[E0277]: the trait bound `AU16: zerocopy_renamed::Unaligned` is not satisfied + --> $DIR/struct.rs:120:10 + | +120 | #[derive(IntoBytes)] + | ^^^^^^^^^ the trait `zerocopy_renamed::Unaligned` is not implemented for `AU16` + | + = help: see issue #48214 + = note: this error originates in the derive macro `IntoBytes` (in Nightly builds, run with -Z macro-backtrace for more info) + +error[E0277]: the trait bound `(): PaddingFree` is not satisfied + --> $DIR/struct.rs:129:10 + | +129 | #[derive(IntoBytes)] + | ^^^^^^^^^ the trait `PaddingFree` is not implemented for `()` + | + = help: the following implementations were found: + <() as PaddingFree> + = help: see issue #48214 + = note: this error originates in the derive macro `IntoBytes` (in Nightly builds, run with -Z macro-backtrace for more info) + +error[E0277]: the trait bound `(): PaddingFree` is not satisfied + --> $DIR/struct.rs:139:10 + | +139 | #[derive(IntoBytes)] + | ^^^^^^^^^ the trait `PaddingFree` is not implemented for `()` + | + = help: the following implementations were found: + <() as PaddingFree> + = help: see issue #48214 + = note: this error originates in the derive macro `IntoBytes` (in Nightly builds, run with -Z macro-backtrace for more info) + +error[E0277]: the size for values of type `[u8]` cannot be known at compilation time + --> $DIR/struct.rs:158:10 + | +158 | #[derive(IntoBytes)] + | ^^^^^^^^^ doesn't have a size known at compile-time + | + = help: within `IntoBytes4`, the trait `Sized` is not implemented for `[u8]` +note: required because it appears within the type `IntoBytes4` + --> $DIR/struct.rs:163:8 + | +163 | struct IntoBytes4 { + | ^^^^^^^^^^ +note: required by a bound in `std::mem::size_of` + --> $RUSTUP_TOOLCHAIN/lib/rustlib/src/rust/library/core/src/mem/mod.rs:303:22 + | +303 | pub const fn size_of() -> usize { + | ^ required by this bound in `std::mem::size_of` + = note: this error originates in the macro `::zerocopy_renamed::struct_padding` (in Nightly builds, run with -Z macro-backtrace for more info) + +error[E0277]: the size for values of type `[u8]` cannot be known at compilation time + --> $DIR/struct.rs:165:8 + | +165 | b: SliceU8, + | ^^^^^^^ doesn't have a size known at compile-time + | + = help: the trait `Sized` is not implemented for `[u8]` +note: required by a bound in `std::mem::size_of` + --> $RUSTUP_TOOLCHAIN/lib/rustlib/src/rust/library/core/src/mem/mod.rs:303:22 | 303 | pub const fn size_of() -> usize { | ^ required by this bound in `std::mem::size_of` diff --git a/zerocopy/zerocopy-derive/tests/ui/struct.nightly.stderr b/zerocopy/zerocopy-derive/tests/ui/struct.nightly.stderr index ceb6912231..49b44a751b 100644 --- a/zerocopy/zerocopy-derive/tests/ui/struct.nightly.stderr +++ b/zerocopy/zerocopy-derive/tests/ui/struct.nightly.stderr @@ -210,14 +210,7 @@ help: the trait `zerocopy_renamed::KnownLayout` is not implemented for `NotKnown | ^^^^^^^^^^^^^^^^^^^^^^^^ = note: Consider adding `#[derive(KnownLayout)]` to `NotKnownLayoutDst` = help: the following other types implement trait `zerocopy_renamed::KnownLayout`: - &T - &mut T - () - *const T - *mut T - AU16 - Atomic<*mut T> - Atomic + $IMPLEMENTATION_SAMPLES and $OTHER_TYPES others = note: this error originates in the derive macro `KnownLayout` (in Nightly builds, run with -Z macro-backtrace for more info) help: add `#![feature(trivial_bounds)]` to the crate attributes to enable @@ -238,14 +231,7 @@ help: the trait `zerocopy_renamed::KnownLayout` is not implemented for `NotKnown | ^^^^^^^^^^^^^^^^^^^^^ = note: Consider adding `#[derive(KnownLayout)]` to `NotKnownLayout` = help: the following other types implement trait `zerocopy_renamed::KnownLayout`: - &T - &mut T - () - *const T - *mut T - AU16 - Atomic<*mut T> - Atomic + $IMPLEMENTATION_SAMPLES and $OTHER_TYPES others = note: this error originates in the derive macro `KnownLayout` (in Nightly builds, run with -Z macro-backtrace for more info) help: add `#![feature(trivial_bounds)]` to the crate attributes to enable @@ -261,14 +247,7 @@ error[E0277]: the trait bound `UnsafeCell<()>: zerocopy_renamed::Immutable` is n | = note: Consider adding `#[derive(Immutable)]` to `UnsafeCell<()>` = help: the following other types implement trait `zerocopy_renamed::Immutable`: - &T - &mut T - () - (A, B) - (A, B, C) - (A, B, C, D) - (A, B, C, D, E) - (A, B, C, D, E, F) + $IMPLEMENTATION_SAMPLES and $OTHER_TYPES others = note: the full name for the type has been written to '/long-type-HASH.txt' = note: consider using `--verbose` to print the full type name to the console @@ -286,14 +265,7 @@ error[E0277]: the trait bound `UnsafeCell: zerocopy_renamed::Immutable` is n | = note: Consider adding `#[derive(Immutable)]` to `UnsafeCell` = help: the following other types implement trait `zerocopy_renamed::Immutable`: - &T - &mut T - () - (A, B) - (A, B, C) - (A, B, C, D) - (A, B, C, D, E) - (A, B, C, D, E, F) + $IMPLEMENTATION_SAMPLES and $OTHER_TYPES others = note: required for `[UnsafeCell; 0]` to implement `zerocopy_renamed::Immutable` = note: the full name for the type has been written to '/long-type-HASH.txt' @@ -342,14 +314,7 @@ help: the trait `zerocopy_renamed::Unaligned` is not implemented for `AU16` | ^^^^^^^^^^^^^^^ = note: Consider adding `#[derive(Unaligned)]` to `AU16` = help: the following other types implement trait `zerocopy_renamed::Unaligned`: - () - Atomic - Atomic - Atomic - Cell - F32 - F64 - I128 + $IMPLEMENTATION_SAMPLES and $OTHER_TYPES others = note: this error originates in the derive macro `IntoBytes` (in Nightly builds, run with -Z macro-backtrace for more info) help: add `#![feature(trivial_bounds)]` to the crate attributes to enable @@ -516,14 +481,7 @@ help: the trait `zerocopy_renamed::KnownLayout` is not implemented for `SplitAtN | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ = note: Consider adding `#[derive(KnownLayout)]` to `SplitAtNotKnownLayout` = help: the following other types implement trait `zerocopy_renamed::KnownLayout`: - &T - &mut T - () - *const T - *mut T - AU16 - Atomic<*mut T> - Atomic + $IMPLEMENTATION_SAMPLES and $OTHER_TYPES others note: required by a bound in `SplitAt` --> src/split_at.rs:63:0 @@ -566,14 +524,7 @@ help: the trait `zerocopy_renamed::Unaligned` is not implemented for `AU16` | ^^^^^^^^^^^^^^^ = note: Consider adding `#[derive(Unaligned)]` to `AU16` = help: the following other types implement trait `zerocopy_renamed::Unaligned`: - () - Atomic - Atomic - Atomic - Cell - F32 - F64 - I128 + $IMPLEMENTATION_SAMPLES and $OTHER_TYPES others note: required for `IntoBytes11` to implement `zerocopy_renamed::IntoBytes` --> $DIR/struct.rs:232:10 diff --git a/zerocopy/zerocopy-derive/tests/ui/struct.stable.stderr b/zerocopy/zerocopy-derive/tests/ui/struct.stable.stderr index 90078a9893..27038d9b49 100644 --- a/zerocopy/zerocopy-derive/tests/ui/struct.stable.stderr +++ b/zerocopy/zerocopy-derive/tests/ui/struct.stable.stderr @@ -177,14 +177,7 @@ help: the trait `zerocopy_renamed::KnownLayout` is not implemented for `NotKnown | ^^^^^^^^^^^^^^^^^^^^^^^^ = note: Consider adding `#[derive(KnownLayout)]` to `NotKnownLayoutDst` = help: the following other types implement trait `zerocopy_renamed::KnownLayout`: - &T - &mut T - () - *const T - *mut T - AU16 - Atomic<*mut T> - Atomic + $IMPLEMENTATION_SAMPLES and $OTHER_TYPES others = note: this error originates in the derive macro `KnownLayout` (in Nightly builds, run with -Z macro-backtrace for more info) @@ -201,14 +194,7 @@ help: the trait `zerocopy_renamed::KnownLayout` is not implemented for `NotKnown | ^^^^^^^^^^^^^^^^^^^^^ = note: Consider adding `#[derive(KnownLayout)]` to `NotKnownLayout` = help: the following other types implement trait `zerocopy_renamed::KnownLayout`: - &T - &mut T - () - *const T - *mut T - AU16 - Atomic<*mut T> - Atomic + $IMPLEMENTATION_SAMPLES and $OTHER_TYPES others = note: this error originates in the derive macro `KnownLayout` (in Nightly builds, run with -Z macro-backtrace for more info) @@ -220,14 +206,7 @@ error[E0277]: the trait bound `UnsafeCell<()>: zerocopy_renamed::Immutable` is n | = note: Consider adding `#[derive(Immutable)]` to `UnsafeCell<()>` = help: the following other types implement trait `zerocopy_renamed::Immutable`: - &T - &mut T - () - (A, B) - (A, B, C) - (A, B, C, D) - (A, B, C, D, E) - (A, B, C, D, E, F) + $IMPLEMENTATION_SAMPLES and $OTHER_TYPES others = note: the full name for the type has been written to '/long-type-HASH.txt' = note: consider using `--verbose` to print the full type name to the console @@ -241,14 +220,7 @@ error[E0277]: the trait bound `UnsafeCell: zerocopy_renamed::Immutable` is n | = note: Consider adding `#[derive(Immutable)]` to `UnsafeCell` = help: the following other types implement trait `zerocopy_renamed::Immutable`: - &T - &mut T - () - (A, B) - (A, B, C) - (A, B, C, D) - (A, B, C, D, E) - (A, B, C, D, E, F) + $IMPLEMENTATION_SAMPLES and $OTHER_TYPES others = note: required for `[UnsafeCell; 0]` to implement `zerocopy_renamed::Immutable` = note: the full name for the type has been written to '/long-type-HASH.txt' @@ -316,14 +288,7 @@ help: the trait `zerocopy_renamed::Unaligned` is not implemented for `AU16` | ^^^^^^^^^^^^^^^ = note: Consider adding `#[derive(Unaligned)]` to `AU16` = help: the following other types implement trait `zerocopy_renamed::Unaligned`: - () - Atomic - Atomic - Atomic - Cell - F32 - F64 - I128 + $IMPLEMENTATION_SAMPLES and $OTHER_TYPES others = note: this error originates in the derive macro `IntoBytes` (in Nightly builds, run with -Z macro-backtrace for more info) @@ -460,14 +425,7 @@ help: the trait `zerocopy_renamed::KnownLayout` is not implemented for `SplitAtN | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ = note: Consider adding `#[derive(KnownLayout)]` to `SplitAtNotKnownLayout` = help: the following other types implement trait `zerocopy_renamed::KnownLayout`: - &T - &mut T - () - *const T - *mut T - AU16 - Atomic<*mut T> - Atomic + $IMPLEMENTATION_SAMPLES and $OTHER_TYPES others note: required by a bound in `SplitAt` --> src/split_at.rs:63:0 @@ -506,14 +464,7 @@ help: the trait `zerocopy_renamed::Unaligned` is not implemented for `AU16` | ^^^^^^^^^^^^^^^ = note: Consider adding `#[derive(Unaligned)]` to `AU16` = help: the following other types implement trait `zerocopy_renamed::Unaligned`: - () - Atomic - Atomic - Atomic - Cell - F32 - F64 - I128 + $IMPLEMENTATION_SAMPLES and $OTHER_TYPES others note: required for `IntoBytes11` to implement `zerocopy_renamed::IntoBytes` --> $DIR/struct.rs:232:10 diff --git a/zerocopy/zerocopy-derive/tests/ui/union.nightly.stderr b/zerocopy/zerocopy-derive/tests/ui/union.nightly.stderr index b299a3a740..78c563f1b0 100644 --- a/zerocopy/zerocopy-derive/tests/ui/union.nightly.stderr +++ b/zerocopy/zerocopy-derive/tests/ui/union.nightly.stderr @@ -70,14 +70,7 @@ error[E0277]: the trait bound `UnsafeCell<()>: zerocopy_renamed::Immutable` is n | = note: Consider adding `#[derive(Immutable)]` to `UnsafeCell<()>` = help: the following other types implement trait `zerocopy_renamed::Immutable`: - &T - &mut T - () - (A, B) - (A, B, C) - (A, B, C, D) - (A, B, C, D, E) - (A, B, C, D, E, F) + $IMPLEMENTATION_SAMPLES and $OTHER_TYPES others = note: required for `ManuallyDrop>` to implement `zerocopy_renamed::Immutable` = note: the full name for the type has been written to '/long-type-HASH.txt' diff --git a/zerocopy/zerocopy-derive/tests/ui/union.stable.stderr b/zerocopy/zerocopy-derive/tests/ui/union.stable.stderr index 8bd8f5ffcb..60195938f7 100644 --- a/zerocopy/zerocopy-derive/tests/ui/union.stable.stderr +++ b/zerocopy/zerocopy-derive/tests/ui/union.stable.stderr @@ -70,14 +70,7 @@ error[E0277]: the trait bound `UnsafeCell<()>: zerocopy_renamed::Immutable` is n | = note: Consider adding `#[derive(Immutable)]` to `UnsafeCell<()>` = help: the following other types implement trait `zerocopy_renamed::Immutable`: - &T - &mut T - () - (A, B) - (A, B, C) - (A, B, C, D) - (A, B, C, D, E) - (A, B, C, D, E, F) + $IMPLEMENTATION_SAMPLES and $OTHER_TYPES others = note: required for `ManuallyDrop>` to implement `zerocopy_renamed::Immutable` = note: the full name for the type has been written to '/long-type-HASH.txt'