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'