[INFO] fetching crate sanitizer_macros 0.2.2... [INFO] testing sanitizer_macros-0.2.2 against try#b83b707f97d809763b7861afa7638871f3339a33 for pr-145838-1 [INFO] extracting crate sanitizer_macros 0.2.2 into /workspace/builds/worker-0-tc2/source [INFO] started tweaking crates.io crate sanitizer_macros 0.2.2 [INFO] finished tweaking crates.io crate sanitizer_macros 0.2.2 [INFO] tweaked toml for crates.io crate sanitizer_macros 0.2.2 written to /workspace/builds/worker-0-tc2/source/Cargo.toml [INFO] validating manifest of crates.io crate sanitizer_macros 0.2.2 on toolchain b83b707f97d809763b7861afa7638871f3339a33 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b83b707f97d809763b7861afa7638871f3339a33" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b83b707f97d809763b7861afa7638871f3339a33" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Locking 4 packages to latest compatible versions [INFO] [stderr] Adding syn v1.0.109 (available: v2.0.106) [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b83b707f97d809763b7861afa7638871f3339a33" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+b83b707f97d809763b7861afa7638871f3339a33" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 93fcbfaf65fc4b541a07fcf8e116767dda130db364dc3749642b393ec445c238 [INFO] running `Command { std: "docker" "start" "-a" "93fcbfaf65fc4b541a07fcf8e116767dda130db364dc3749642b393ec445c238", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "93fcbfaf65fc4b541a07fcf8e116767dda130db364dc3749642b393ec445c238", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "93fcbfaf65fc4b541a07fcf8e116767dda130db364dc3749642b393ec445c238", kill_on_drop: false }` [INFO] [stdout] 93fcbfaf65fc4b541a07fcf8e116767dda130db364dc3749642b393ec445c238 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+b83b707f97d809763b7861afa7638871f3339a33" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] cc9d95c050af625b3701bb4a329bd0cae1359fe1b7a29eb8e6da0d27e574534b [INFO] running `Command { std: "docker" "start" "-a" "cc9d95c050af625b3701bb4a329bd0cae1359fe1b7a29eb8e6da0d27e574534b", kill_on_drop: false }` [INFO] [stderr] Compiling sanitizer_macros v0.2.2 (/opt/rustwide/workdir) [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 1.24s [INFO] running `Command { std: "docker" "inspect" "cc9d95c050af625b3701bb4a329bd0cae1359fe1b7a29eb8e6da0d27e574534b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "cc9d95c050af625b3701bb4a329bd0cae1359fe1b7a29eb8e6da0d27e574534b", kill_on_drop: false }` [INFO] [stdout] cc9d95c050af625b3701bb4a329bd0cae1359fe1b7a29eb8e6da0d27e574534b [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+b83b707f97d809763b7861afa7638871f3339a33" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 1f738ad26621c77820361cbb72abb4fe15ab72a7d7f0358b9b91bf8fceb5f7ff [INFO] running `Command { std: "docker" "start" "-a" "1f738ad26621c77820361cbb72abb4fe15ab72a7d7f0358b9b91bf8fceb5f7ff", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.101 [INFO] [stderr] Compiling syn v1.0.109 [INFO] [stderr] Compiling quote v1.0.40 [INFO] [stderr] Compiling sanitizer_macros v0.2.2 (/opt/rustwide/workdir) [INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `sanitizer` [INFO] [stdout] --> tests/nested_macro.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use sanitizer::prelude::*; [INFO] [stdout] | ^^^^^^^^^ use of unresolved module or unlinked crate `sanitizer` [INFO] [stdout] | [INFO] [stdout] = help: if you wanted to use a crate named `sanitizer`, use `cargo add sanitizer` to add it to your `Cargo.toml` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `sanitizer` [INFO] [stdout] --> tests/enums.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use sanitizer::prelude::*; [INFO] [stdout] | ^^^^^^^^^ use of unresolved module or unlinked crate `sanitizer` [INFO] [stdout] | [INFO] [stdout] = help: if you wanted to use a crate named `sanitizer`, use `cargo add sanitizer` to add it to your `Cargo.toml` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `sanitizer` [INFO] [stdout] --> tests/option.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use sanitizer::prelude::*; [INFO] [stdout] | ^^^^^^^^^ use of unresolved module or unlinked crate `sanitizer` [INFO] [stdout] | [INFO] [stdout] = help: if you wanted to use a crate named `sanitizer`, use `cargo add sanitizer` to add it to your `Cargo.toml` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `sanitizer` [INFO] [stdout] --> tests/struct.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use sanitizer::prelude::*; [INFO] [stdout] | ^^^^^^^^^ use of unresolved module or unlinked crate `sanitizer` [INFO] [stdout] | [INFO] [stdout] = help: if you wanted to use a crate named `sanitizer`, use `cargo add sanitizer` to add it to your `Cargo.toml` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: cannot find derive macro `Sanitize` in this scope [INFO] [stdout] --> tests/nested_macro.rs:3:10 [INFO] [stdout] | [INFO] [stdout] 3 | #[derive(Sanitize)] [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: consider importing this derive macro [INFO] [stdout] | [INFO] [stdout] 1 + use sanitizer_macros::Sanitize; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: cannot find derive macro `Sanitize` in this scope [INFO] [stdout] --> tests/nested_macro.rs:11:10 [INFO] [stdout] | [INFO] [stdout] 11 | #[derive(Sanitize)] [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: consider importing this derive macro [INFO] [stdout] | [INFO] [stdout] 1 + use sanitizer_macros::Sanitize; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: cannot find derive macro `Sanitize` in this scope [INFO] [stdout] --> tests/option.rs:3:10 [INFO] [stdout] | [INFO] [stdout] 3 | #[derive(Sanitize, Default)] [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: consider importing this derive macro [INFO] [stdout] | [INFO] [stdout] 1 + use sanitizer_macros::Sanitize; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: cannot find derive macro `Sanitize` in this scope [INFO] [stdout] --> tests/nested_macro.rs:20:10 [INFO] [stdout] | [INFO] [stdout] 20 | #[derive(Sanitize)] [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: consider importing this derive macro [INFO] [stdout] | [INFO] [stdout] 1 + use sanitizer_macros::Sanitize; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: the `#[sanitize]` attribute is an experimental feature [INFO] [stdout] --> tests/option.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | #[sanitize(trim)] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #39699 for more information [INFO] [stdout] = help: add `#![feature(sanitize)]` to the crate attributes to enable [INFO] [stdout] = note: this compiler was built on 2025-08-28; consider upgrading it if it is out of date [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: the `#[sanitize]` attribute is an experimental feature [INFO] [stdout] --> tests/option.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | #[sanitize(trim)] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #39699 for more information [INFO] [stdout] = help: add `#![feature(sanitize)]` to the crate attributes to enable [INFO] [stdout] = note: this compiler was built on 2025-08-28; consider upgrading it if it is out of date [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: the `#[sanitize]` attribute is an experimental feature [INFO] [stdout] --> tests/option.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | #[sanitize(clamp(1, 18))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #39699 for more information [INFO] [stdout] = help: add `#![feature(sanitize)]` to the crate attributes to enable [INFO] [stdout] = note: this compiler was built on 2025-08-28; consider upgrading it if it is out of date [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: the `#[sanitize]` attribute is an experimental feature [INFO] [stdout] --> tests/option.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 15 | #[sanitize(trim)] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #39699 for more information [INFO] [stdout] = help: add `#![feature(sanitize)]` to the crate attributes to enable [INFO] [stdout] = note: this compiler was built on 2025-08-28; consider upgrading it if it is out of date [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: the `#[sanitize]` attribute is an experimental feature [INFO] [stdout] --> tests/option.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 17 | #[sanitize(trim)] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #39699 for more information [INFO] [stdout] = help: add `#![feature(sanitize)]` to the crate attributes to enable [INFO] [stdout] = note: this compiler was built on 2025-08-28; consider upgrading it if it is out of date [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: cannot find derive macro `Sanitize` in this scope [INFO] [stdout] --> tests/nested_macro.rs:28:10 [INFO] [stdout] | [INFO] [stdout] 28 | #[derive(Sanitize)] [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: consider importing this derive macro [INFO] [stdout] | [INFO] [stdout] 1 + use sanitizer_macros::Sanitize; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0539]: malformed `sanitize` attribute input [INFO] [stdout] --> tests/option.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | #[sanitize(trim)] [INFO] [stdout] | ^^^^^^^^^^^----^^ [INFO] [stdout] | | [INFO] [stdout] | expected this to be of the form `trim = "..."` [INFO] [stdout] | [INFO] [stdout] help: try changing it to one of the following valid forms of the attribute [INFO] [stdout] | [INFO] [stdout] 6 - #[sanitize(trim)] [INFO] [stdout] 6 + #[sanitize(address = "on|off")] [INFO] [stdout] | [INFO] [stdout] 6 - #[sanitize(trim)] [INFO] [stdout] 6 + #[sanitize(cfi = "on|off")] [INFO] [stdout] | [INFO] [stdout] 6 - #[sanitize(trim)] [INFO] [stdout] 6 + #[sanitize(hwaddress = "on|off")] [INFO] [stdout] | [INFO] [stdout] 6 - #[sanitize(trim)] [INFO] [stdout] 6 + #[sanitize(kcfi = "on|off")] [INFO] [stdout] | [INFO] [stdout] = and 5 other candidates [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0539]: malformed `sanitize` attribute input [INFO] [stdout] --> tests/option.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | #[sanitize(trim)] [INFO] [stdout] | ^^^^^^^^^^^----^^ [INFO] [stdout] | | [INFO] [stdout] | expected this to be of the form `trim = "..."` [INFO] [stdout] | [INFO] [stdout] help: try changing it to one of the following valid forms of the attribute [INFO] [stdout] | [INFO] [stdout] 8 - #[sanitize(trim)] [INFO] [stdout] 8 + #[sanitize(address = "on|off")] [INFO] [stdout] | [INFO] [stdout] 8 - #[sanitize(trim)] [INFO] [stdout] 8 + #[sanitize(cfi = "on|off")] [INFO] [stdout] | [INFO] [stdout] 8 - #[sanitize(trim)] [INFO] [stdout] 8 + #[sanitize(hwaddress = "on|off")] [INFO] [stdout] | [INFO] [stdout] 8 - #[sanitize(trim)] [INFO] [stdout] 8 + #[sanitize(kcfi = "on|off")] [INFO] [stdout] | [INFO] [stdout] = and 5 other candidates [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0539]: malformed `sanitize` attribute input [INFO] [stdout] --> tests/option.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | #[sanitize(clamp(1, 18))] [INFO] [stdout] | ^^^^^^^^^^^------------^^ [INFO] [stdout] | | [INFO] [stdout] | expected this to be of the form `clamp = "..."` [INFO] [stdout] | [INFO] [stdout] help: try changing it to one of the following valid forms of the attribute [INFO] [stdout] | [INFO] [stdout] 11 - #[sanitize(clamp(1, 18))] [INFO] [stdout] 11 + #[sanitize(address = "on|off")] [INFO] [stdout] | [INFO] [stdout] 11 - #[sanitize(clamp(1, 18))] [INFO] [stdout] 11 + #[sanitize(cfi = "on|off")] [INFO] [stdout] | [INFO] [stdout] 11 - #[sanitize(clamp(1, 18))] [INFO] [stdout] 11 + #[sanitize(hwaddress = "on|off")] [INFO] [stdout] | [INFO] [stdout] 11 - #[sanitize(clamp(1, 18))] [INFO] [stdout] 11 + #[sanitize(kcfi = "on|off")] [INFO] [stdout] | [INFO] [stdout] = and 5 other candidates [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0539]: malformed `sanitize` attribute input [INFO] [stdout] --> tests/option.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 15 | #[sanitize(trim)] [INFO] [stdout] | ^^^^^^^^^^^----^^ [INFO] [stdout] | | [INFO] [stdout] | expected this to be of the form `trim = "..."` [INFO] [stdout] | [INFO] [stdout] help: try changing it to one of the following valid forms of the attribute [INFO] [stdout] | [INFO] [stdout] 15 - #[sanitize(trim)] [INFO] [stdout] 15 + #[sanitize(address = "on|off")] [INFO] [stdout] | [INFO] [stdout] 15 - #[sanitize(trim)] [INFO] [stdout] 15 + #[sanitize(cfi = "on|off")] [INFO] [stdout] | [INFO] [stdout] 15 - #[sanitize(trim)] [INFO] [stdout] 15 + #[sanitize(hwaddress = "on|off")] [INFO] [stdout] | [INFO] [stdout] 15 - #[sanitize(trim)] [INFO] [stdout] 15 + #[sanitize(kcfi = "on|off")] [INFO] [stdout] | [INFO] [stdout] = and 5 other candidates [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0539]: malformed `sanitize` attribute input [INFO] [stdout] --> tests/option.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 17 | #[sanitize(trim)] [INFO] [stdout] | ^^^^^^^^^^^----^^ [INFO] [stdout] | | [INFO] [stdout] | expected this to be of the form `trim = "..."` [INFO] [stdout] | [INFO] [stdout] help: try changing it to one of the following valid forms of the attribute [INFO] [stdout] | [INFO] [stdout] 17 - #[sanitize(trim)] [INFO] [stdout] 17 + #[sanitize(address = "on|off")] [INFO] [stdout] | [INFO] [stdout] 17 - #[sanitize(trim)] [INFO] [stdout] 17 + #[sanitize(cfi = "on|off")] [INFO] [stdout] | [INFO] [stdout] 17 - #[sanitize(trim)] [INFO] [stdout] 17 + #[sanitize(hwaddress = "on|off")] [INFO] [stdout] | [INFO] [stdout] 17 - #[sanitize(trim)] [INFO] [stdout] 17 + #[sanitize(kcfi = "on|off")] [INFO] [stdout] | [INFO] [stdout] = and 5 other candidates [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: sanitize attribute not allowed here [INFO] [stdout] --> tests/option.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | #[sanitize(trim)] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] 7 | name: Option, [INFO] [stdout] | -------------------- not a function, impl block, or module [INFO] [stdout] | [INFO] [stdout] = help: sanitize attribute can be applied to a function (with body), impl block, or module [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: sanitize attribute not allowed here [INFO] [stdout] --> tests/option.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | #[sanitize(trim)] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] 9 | // even with random paths [INFO] [stdout] 10 | address: std::option::Option, [INFO] [stdout] | ------------------------------------------------- not a function, impl block, or module [INFO] [stdout] | [INFO] [stdout] = help: sanitize attribute can be applied to a function (with body), impl block, or module [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: the `#[sanitize]` attribute is an experimental feature [INFO] [stdout] --> tests/nested_macro.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | #[sanitize(trim)] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #39699 for more information [INFO] [stdout] = help: add `#![feature(sanitize)]` to the crate attributes to enable [INFO] [stdout] = note: this compiler was built on 2025-08-28; consider upgrading it if it is out of date [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: the `#[sanitize]` attribute is an experimental feature [INFO] [stdout] --> tests/nested_macro.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | #[sanitize] [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #39699 for more information [INFO] [stdout] = help: add `#![feature(sanitize)]` to the crate attributes to enable [INFO] [stdout] = note: this compiler was built on 2025-08-28; consider upgrading it if it is out of date [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: sanitize attribute not allowed here [INFO] [stdout] --> tests/option.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | #[sanitize(clamp(1, 18))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 12 | // even with ints [INFO] [stdout] 13 | age: std::option::Option, [INFO] [stdout] | ---------------------------- not a function, impl block, or module [INFO] [stdout] | [INFO] [stdout] = help: sanitize attribute can be applied to a function (with body), impl block, or module [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: the `#[sanitize]` attribute is an experimental feature [INFO] [stdout] --> tests/nested_macro.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | #[sanitize(numeric)] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #39699 for more information [INFO] [stdout] = help: add `#![feature(sanitize)]` to the crate attributes to enable [INFO] [stdout] = note: this compiler was built on 2025-08-28; consider upgrading it if it is out of date [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: sanitize attribute not allowed here [INFO] [stdout] --> tests/option.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 15 | #[sanitize(trim)] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] 16 | name_last: Option>, [INFO] [stdout] | --------------------------------- not a function, impl block, or module [INFO] [stdout] | [INFO] [stdout] = help: sanitize attribute can be applied to a function (with body), impl block, or module [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: the `#[sanitize]` attribute is an experimental feature [INFO] [stdout] --> tests/nested_macro.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 15 | #[sanitize(lower_case, trim)] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #39699 for more information [INFO] [stdout] = help: add `#![feature(sanitize)]` to the crate attributes to enable [INFO] [stdout] = note: this compiler was built on 2025-08-28; consider upgrading it if it is out of date [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: sanitize attribute not allowed here [INFO] [stdout] --> tests/option.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 17 | #[sanitize(trim)] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] 18 | // None values should NOT be sanitized [INFO] [stdout] 19 | city: Option, [INFO] [stdout] | -------------------- not a function, impl block, or module [INFO] [stdout] | [INFO] [stdout] = help: sanitize attribute can be applied to a function (with body), impl block, or module [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: the `#[sanitize]` attribute is an experimental feature [INFO] [stdout] --> tests/nested_macro.rs:22:5 [INFO] [stdout] | [INFO] [stdout] 22 | #[sanitize] [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #39699 for more information [INFO] [stdout] = help: add `#![feature(sanitize)]` to the crate attributes to enable [INFO] [stdout] = note: this compiler was built on 2025-08-28; consider upgrading it if it is out of date [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: the `#[sanitize]` attribute is an experimental feature [INFO] [stdout] --> tests/nested_macro.rs:30:5 [INFO] [stdout] | [INFO] [stdout] 30 | #[sanitize(trim)] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #39699 for more information [INFO] [stdout] = help: add `#![feature(sanitize)]` to the crate attributes to enable [INFO] [stdout] = note: this compiler was built on 2025-08-28; consider upgrading it if it is out of date [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0539]: malformed `sanitize` attribute input [INFO] [stdout] --> tests/nested_macro.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | #[sanitize(trim)] [INFO] [stdout] | ^^^^^^^^^^^----^^ [INFO] [stdout] | | [INFO] [stdout] | expected this to be of the form `trim = "..."` [INFO] [stdout] | [INFO] [stdout] help: try changing it to one of the following valid forms of the attribute [INFO] [stdout] | [INFO] [stdout] 5 - #[sanitize(trim)] [INFO] [stdout] 5 + #[sanitize(address = "on|off")] [INFO] [stdout] | [INFO] [stdout] 5 - #[sanitize(trim)] [INFO] [stdout] 5 + #[sanitize(cfi = "on|off")] [INFO] [stdout] | [INFO] [stdout] 5 - #[sanitize(trim)] [INFO] [stdout] 5 + #[sanitize(hwaddress = "on|off")] [INFO] [stdout] | [INFO] [stdout] 5 - #[sanitize(trim)] [INFO] [stdout] 5 + #[sanitize(kcfi = "on|off")] [INFO] [stdout] | [INFO] [stdout] = and 5 other candidates [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0539]: malformed `sanitize` attribute input [INFO] [stdout] --> tests/nested_macro.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | #[sanitize] [INFO] [stdout] | ^^^^^^^^^^^ expected this to be a list [INFO] [stdout] | [INFO] [stdout] help: try changing it to one of the following valid forms of the attribute [INFO] [stdout] | [INFO] [stdout] 7 | #[sanitize(address = "on|off")] [INFO] [stdout] | ++++++++++++++++++++ [INFO] [stdout] 7 | #[sanitize(cfi = "on|off")] [INFO] [stdout] | ++++++++++++++++ [INFO] [stdout] 7 | #[sanitize(hwaddress = "on|off")] [INFO] [stdout] | ++++++++++++++++++++++ [INFO] [stdout] 7 | #[sanitize(kcfi = "on|off")] [INFO] [stdout] | +++++++++++++++++ [INFO] [stdout] = and 5 other candidates [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0539]: malformed `sanitize` attribute input [INFO] [stdout] --> tests/nested_macro.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | #[sanitize(numeric)] [INFO] [stdout] | ^^^^^^^^^^^-------^^ [INFO] [stdout] | | [INFO] [stdout] | expected this to be of the form `numeric = "..."` [INFO] [stdout] | [INFO] [stdout] help: try changing it to one of the following valid forms of the attribute [INFO] [stdout] | [INFO] [stdout] 13 - #[sanitize(numeric)] [INFO] [stdout] 13 + #[sanitize(address = "on|off")] [INFO] [stdout] | [INFO] [stdout] 13 - #[sanitize(numeric)] [INFO] [stdout] 13 + #[sanitize(cfi = "on|off")] [INFO] [stdout] | [INFO] [stdout] 13 - #[sanitize(numeric)] [INFO] [stdout] 13 + #[sanitize(hwaddress = "on|off")] [INFO] [stdout] | [INFO] [stdout] 13 - #[sanitize(numeric)] [INFO] [stdout] 13 + #[sanitize(kcfi = "on|off")] [INFO] [stdout] | [INFO] [stdout] = and 5 other candidates [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0539]: malformed `sanitize` attribute input [INFO] [stdout] --> tests/nested_macro.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 15 | #[sanitize(lower_case, trim)] [INFO] [stdout] | ^^^^^^^^^^^----------^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | expected this to be of the form `lower_case = "..."` [INFO] [stdout] | [INFO] [stdout] help: try changing it to one of the following valid forms of the attribute [INFO] [stdout] | [INFO] [stdout] 15 - #[sanitize(lower_case, trim)] [INFO] [stdout] 15 + #[sanitize(address = "on|off")] [INFO] [stdout] | [INFO] [stdout] 15 - #[sanitize(lower_case, trim)] [INFO] [stdout] 15 + #[sanitize(cfi = "on|off")] [INFO] [stdout] | [INFO] [stdout] 15 - #[sanitize(lower_case, trim)] [INFO] [stdout] 15 + #[sanitize(hwaddress = "on|off")] [INFO] [stdout] | [INFO] [stdout] 15 - #[sanitize(lower_case, trim)] [INFO] [stdout] 15 + #[sanitize(kcfi = "on|off")] [INFO] [stdout] | [INFO] [stdout] = and 5 other candidates [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0539]: malformed `sanitize` attribute input [INFO] [stdout] --> tests/nested_macro.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 15 | #[sanitize(lower_case, trim)] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^----^^ [INFO] [stdout] | | [INFO] [stdout] | expected this to be of the form `trim = "..."` [INFO] [stdout] | [INFO] [stdout] help: try changing it to one of the following valid forms of the attribute [INFO] [stdout] | [INFO] [stdout] 15 - #[sanitize(lower_case, trim)] [INFO] [stdout] 15 + #[sanitize(address = "on|off")] [INFO] [stdout] | [INFO] [stdout] 15 - #[sanitize(lower_case, trim)] [INFO] [stdout] 15 + #[sanitize(cfi = "on|off")] [INFO] [stdout] | [INFO] [stdout] 15 - #[sanitize(lower_case, trim)] [INFO] [stdout] 15 + #[sanitize(hwaddress = "on|off")] [INFO] [stdout] | [INFO] [stdout] 15 - #[sanitize(lower_case, trim)] [INFO] [stdout] 15 + #[sanitize(kcfi = "on|off")] [INFO] [stdout] | [INFO] [stdout] = and 5 other candidates [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0539]: malformed `sanitize` attribute input [INFO] [stdout] --> tests/nested_macro.rs:22:5 [INFO] [stdout] | [INFO] [stdout] 22 | #[sanitize] [INFO] [stdout] | ^^^^^^^^^^^ expected this to be a list [INFO] [stdout] | [INFO] [stdout] help: try changing it to one of the following valid forms of the attribute [INFO] [stdout] | [INFO] [stdout] 22 | #[sanitize(address = "on|off")] [INFO] [stdout] | ++++++++++++++++++++ [INFO] [stdout] 22 | #[sanitize(cfi = "on|off")] [INFO] [stdout] | ++++++++++++++++ [INFO] [stdout] 22 | #[sanitize(hwaddress = "on|off")] [INFO] [stdout] | ++++++++++++++++++++++ [INFO] [stdout] 22 | #[sanitize(kcfi = "on|off")] [INFO] [stdout] | +++++++++++++++++ [INFO] [stdout] = and 5 other candidates [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0539]: malformed `sanitize` attribute input [INFO] [stdout] --> tests/nested_macro.rs:30:5 [INFO] [stdout] | [INFO] [stdout] 30 | #[sanitize(trim)] [INFO] [stdout] | ^^^^^^^^^^^----^^ [INFO] [stdout] | | [INFO] [stdout] | expected this to be of the form `trim = "..."` [INFO] [stdout] | [INFO] [stdout] help: try changing it to one of the following valid forms of the attribute [INFO] [stdout] | [INFO] [stdout] 30 - #[sanitize(trim)] [INFO] [stdout] 30 + #[sanitize(address = "on|off")] [INFO] [stdout] | [INFO] [stdout] 30 - #[sanitize(trim)] [INFO] [stdout] 30 + #[sanitize(cfi = "on|off")] [INFO] [stdout] | [INFO] [stdout] 30 - #[sanitize(trim)] [INFO] [stdout] 30 + #[sanitize(hwaddress = "on|off")] [INFO] [stdout] | [INFO] [stdout] 30 - #[sanitize(trim)] [INFO] [stdout] 30 + #[sanitize(kcfi = "on|off")] [INFO] [stdout] | [INFO] [stdout] = and 5 other candidates [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: sanitize attribute not allowed here [INFO] [stdout] --> tests/nested_macro.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | #[sanitize(trim)] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] 6 | name: String, [INFO] [stdout] | ------------ not a function, impl block, or module [INFO] [stdout] | [INFO] [stdout] = help: sanitize attribute can be applied to a function (with body), impl block, or module [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: sanitize attribute not allowed here [INFO] [stdout] --> tests/nested_macro.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | #[sanitize(numeric)] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 14 | id: String, [INFO] [stdout] | ---------- not a function, impl block, or module [INFO] [stdout] | [INFO] [stdout] = help: sanitize attribute can be applied to a function (with body), impl block, or module [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: sanitize attribute not allowed here [INFO] [stdout] --> tests/nested_macro.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 15 | #[sanitize(lower_case, trim)] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 16 | email: String, [INFO] [stdout] | ------------- not a function, impl block, or module [INFO] [stdout] | [INFO] [stdout] = help: sanitize attribute can be applied to a function (with body), impl block, or module [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: sanitize attribute not allowed here [INFO] [stdout] --> tests/nested_macro.rs:30:5 [INFO] [stdout] | [INFO] [stdout] 30 | #[sanitize(trim)] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] 31 | Test(String), [INFO] [stdout] | ------------ not a function, impl block, or module [INFO] [stdout] | [INFO] [stdout] = help: sanitize attribute can be applied to a function (with body), impl block, or module [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: cannot find derive macro `Sanitize` in this scope [INFO] [stdout] --> tests/struct.rs:3:10 [INFO] [stdout] | [INFO] [stdout] 3 | #[derive(Sanitize)] [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: consider importing this derive macro [INFO] [stdout] | [INFO] [stdout] 1 + use sanitizer_macros::Sanitize; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: the `#[sanitize]` attribute is an experimental feature [INFO] [stdout] --> tests/struct.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | #[sanitize(trim)] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #39699 for more information [INFO] [stdout] = help: add `#![feature(sanitize)]` to the crate attributes to enable [INFO] [stdout] = note: this compiler was built on 2025-08-28; consider upgrading it if it is out of date [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: the `#[sanitize]` attribute is an experimental feature [INFO] [stdout] --> tests/struct.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | #[sanitize(numeric)] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #39699 for more information [INFO] [stdout] = help: add `#![feature(sanitize)]` to the crate attributes to enable [INFO] [stdout] = note: this compiler was built on 2025-08-28; consider upgrading it if it is out of date [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: the `#[sanitize]` attribute is an experimental feature [INFO] [stdout] --> tests/struct.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | #[sanitize(alphanumeric)] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #39699 for more information [INFO] [stdout] = help: add `#![feature(sanitize)]` to the crate attributes to enable [INFO] [stdout] = note: this compiler was built on 2025-08-28; consider upgrading it if it is out of date [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: the `#[sanitize]` attribute is an experimental feature [INFO] [stdout] --> tests/struct.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | #[sanitize(lower_case)] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #39699 for more information [INFO] [stdout] = help: add `#![feature(sanitize)]` to the crate attributes to enable [INFO] [stdout] = note: this compiler was built on 2025-08-28; consider upgrading it if it is out of date [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: the `#[sanitize]` attribute is an experimental feature [INFO] [stdout] --> tests/struct.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | #[sanitize(upper_case)] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #39699 for more information [INFO] [stdout] = help: add `#![feature(sanitize)]` to the crate attributes to enable [INFO] [stdout] = note: this compiler was built on 2025-08-28; consider upgrading it if it is out of date [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: the `#[sanitize]` attribute is an experimental feature [INFO] [stdout] --> tests/struct.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 15 | #[sanitize(camel_case)] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #39699 for more information [INFO] [stdout] = help: add `#![feature(sanitize)]` to the crate attributes to enable [INFO] [stdout] = note: this compiler was built on 2025-08-28; consider upgrading it if it is out of date [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: the `#[sanitize]` attribute is an experimental feature [INFO] [stdout] --> tests/struct.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 17 | #[sanitize(snake_case)] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #39699 for more information [INFO] [stdout] = help: add `#![feature(sanitize)]` to the crate attributes to enable [INFO] [stdout] = note: this compiler was built on 2025-08-28; consider upgrading it if it is out of date [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: the `#[sanitize]` attribute is an experimental feature [INFO] [stdout] --> tests/struct.rs:19:5 [INFO] [stdout] | [INFO] [stdout] 19 | #[sanitize(screaming_snake_case)] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #39699 for more information [INFO] [stdout] = help: add `#![feature(sanitize)]` to the crate attributes to enable [INFO] [stdout] = note: this compiler was built on 2025-08-28; consider upgrading it if it is out of date [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: the `#[sanitize]` attribute is an experimental feature [INFO] [stdout] --> tests/struct.rs:21:5 [INFO] [stdout] | [INFO] [stdout] 21 | #[sanitize(kebab_case)] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #39699 for more information [INFO] [stdout] = help: add `#![feature(sanitize)]` to the crate attributes to enable [INFO] [stdout] = note: this compiler was built on 2025-08-28; consider upgrading it if it is out of date [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: the `#[sanitize]` attribute is an experimental feature [INFO] [stdout] --> tests/struct.rs:23:5 [INFO] [stdout] | [INFO] [stdout] 23 | #[sanitize(screaming_kebab_case)] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #39699 for more information [INFO] [stdout] = help: add `#![feature(sanitize)]` to the crate attributes to enable [INFO] [stdout] = note: this compiler was built on 2025-08-28; consider upgrading it if it is out of date [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: the `#[sanitize]` attribute is an experimental feature [INFO] [stdout] --> tests/struct.rs:25:5 [INFO] [stdout] | [INFO] [stdout] 25 | #[sanitize(clamp(10))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #39699 for more information [INFO] [stdout] = help: add `#![feature(sanitize)]` to the crate attributes to enable [INFO] [stdout] = note: this compiler was built on 2025-08-28; consider upgrading it if it is out of date [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: the `#[sanitize]` attribute is an experimental feature [INFO] [stdout] --> tests/struct.rs:27:5 [INFO] [stdout] | [INFO] [stdout] 27 | #[sanitize(clamp(10, 50))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #39699 for more information [INFO] [stdout] = help: add `#![feature(sanitize)]` to the crate attributes to enable [INFO] [stdout] = note: this compiler was built on 2025-08-28; consider upgrading it if it is out of date [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: the `#[sanitize]` attribute is an experimental feature [INFO] [stdout] --> tests/struct.rs:29:5 [INFO] [stdout] | [INFO] [stdout] 29 | #[sanitize(e164)] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #39699 for more information [INFO] [stdout] = help: add `#![feature(sanitize)]` to the crate attributes to enable [INFO] [stdout] = note: this compiler was built on 2025-08-28; consider upgrading it if it is out of date [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: the `#[sanitize]` attribute is an experimental feature [INFO] [stdout] --> tests/struct.rs:31:5 [INFO] [stdout] | [INFO] [stdout] 31 | #[sanitize(trim, screaming_snake_case)] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #39699 for more information [INFO] [stdout] = help: add `#![feature(sanitize)]` to the crate attributes to enable [INFO] [stdout] = note: this compiler was built on 2025-08-28; consider upgrading it if it is out of date [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0539]: malformed `sanitize` attribute input [INFO] [stdout] --> tests/struct.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | #[sanitize(trim)] [INFO] [stdout] | ^^^^^^^^^^^----^^ [INFO] [stdout] | | [INFO] [stdout] | expected this to be of the form `trim = "..."` [INFO] [stdout] | [INFO] [stdout] help: try changing it to one of the following valid forms of the attribute [INFO] [stdout] | [INFO] [stdout] 5 - #[sanitize(trim)] [INFO] [stdout] 5 + #[sanitize(address = "on|off")] [INFO] [stdout] | [INFO] [stdout] 5 - #[sanitize(trim)] [INFO] [stdout] 5 + #[sanitize(cfi = "on|off")] [INFO] [stdout] | [INFO] [stdout] 5 - #[sanitize(trim)] [INFO] [stdout] 5 + #[sanitize(hwaddress = "on|off")] [INFO] [stdout] | [INFO] [stdout] 5 - #[sanitize(trim)] [INFO] [stdout] 5 + #[sanitize(kcfi = "on|off")] [INFO] [stdout] | [INFO] [stdout] = and 5 other candidates [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0539]: malformed `sanitize` attribute input [INFO] [stdout] --> tests/struct.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | #[sanitize(numeric)] [INFO] [stdout] | ^^^^^^^^^^^-------^^ [INFO] [stdout] | | [INFO] [stdout] | expected this to be of the form `numeric = "..."` [INFO] [stdout] | [INFO] [stdout] help: try changing it to one of the following valid forms of the attribute [INFO] [stdout] | [INFO] [stdout] 7 - #[sanitize(numeric)] [INFO] [stdout] 7 + #[sanitize(address = "on|off")] [INFO] [stdout] | [INFO] [stdout] 7 - #[sanitize(numeric)] [INFO] [stdout] 7 + #[sanitize(cfi = "on|off")] [INFO] [stdout] | [INFO] [stdout] 7 - #[sanitize(numeric)] [INFO] [stdout] 7 + #[sanitize(hwaddress = "on|off")] [INFO] [stdout] | [INFO] [stdout] 7 - #[sanitize(numeric)] [INFO] [stdout] 7 + #[sanitize(kcfi = "on|off")] [INFO] [stdout] | [INFO] [stdout] = and 5 other candidates [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0539]: malformed `sanitize` attribute input [INFO] [stdout] --> tests/struct.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | #[sanitize(alphanumeric)] [INFO] [stdout] | ^^^^^^^^^^^------------^^ [INFO] [stdout] | | [INFO] [stdout] | expected this to be of the form `alphanumeric = "..."` [INFO] [stdout] | [INFO] [stdout] help: try changing it to one of the following valid forms of the attribute [INFO] [stdout] | [INFO] [stdout] 9 - #[sanitize(alphanumeric)] [INFO] [stdout] 9 + #[sanitize(address = "on|off")] [INFO] [stdout] | [INFO] [stdout] 9 - #[sanitize(alphanumeric)] [INFO] [stdout] 9 + #[sanitize(cfi = "on|off")] [INFO] [stdout] | [INFO] [stdout] 9 - #[sanitize(alphanumeric)] [INFO] [stdout] 9 + #[sanitize(hwaddress = "on|off")] [INFO] [stdout] | [INFO] [stdout] 9 - #[sanitize(alphanumeric)] [INFO] [stdout] 9 + #[sanitize(kcfi = "on|off")] [INFO] [stdout] | [INFO] [stdout] = and 5 other candidates [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0539]: malformed `sanitize` attribute input [INFO] [stdout] --> tests/struct.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | #[sanitize(lower_case)] [INFO] [stdout] | ^^^^^^^^^^^----------^^ [INFO] [stdout] | | [INFO] [stdout] | expected this to be of the form `lower_case = "..."` [INFO] [stdout] | [INFO] [stdout] help: try changing it to one of the following valid forms of the attribute [INFO] [stdout] | [INFO] [stdout] 11 - #[sanitize(lower_case)] [INFO] [stdout] 11 + #[sanitize(address = "on|off")] [INFO] [stdout] | [INFO] [stdout] 11 - #[sanitize(lower_case)] [INFO] [stdout] 11 + #[sanitize(cfi = "on|off")] [INFO] [stdout] | [INFO] [stdout] 11 - #[sanitize(lower_case)] [INFO] [stdout] 11 + #[sanitize(hwaddress = "on|off")] [INFO] [stdout] | [INFO] [stdout] 11 - #[sanitize(lower_case)] [INFO] [stdout] 11 + #[sanitize(kcfi = "on|off")] [INFO] [stdout] | [INFO] [stdout] = and 5 other candidates [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0539]: malformed `sanitize` attribute input [INFO] [stdout] --> tests/struct.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | #[sanitize(upper_case)] [INFO] [stdout] | ^^^^^^^^^^^----------^^ [INFO] [stdout] | | [INFO] [stdout] | expected this to be of the form `upper_case = "..."` [INFO] [stdout] | [INFO] [stdout] help: try changing it to one of the following valid forms of the attribute [INFO] [stdout] | [INFO] [stdout] 13 - #[sanitize(upper_case)] [INFO] [stdout] 13 + #[sanitize(address = "on|off")] [INFO] [stdout] | [INFO] [stdout] 13 - #[sanitize(upper_case)] [INFO] [stdout] 13 + #[sanitize(cfi = "on|off")] [INFO] [stdout] | [INFO] [stdout] 13 - #[sanitize(upper_case)] [INFO] [stdout] 13 + #[sanitize(hwaddress = "on|off")] [INFO] [stdout] | [INFO] [stdout] 13 - #[sanitize(upper_case)] [INFO] [stdout] 13 + #[sanitize(kcfi = "on|off")] [INFO] [stdout] | [INFO] [stdout] = and 5 other candidates [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0539]: malformed `sanitize` attribute input [INFO] [stdout] --> tests/struct.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 15 | #[sanitize(camel_case)] [INFO] [stdout] | ^^^^^^^^^^^----------^^ [INFO] [stdout] | | [INFO] [stdout] | expected this to be of the form `camel_case = "..."` [INFO] [stdout] | [INFO] [stdout] help: try changing it to one of the following valid forms of the attribute [INFO] [stdout] | [INFO] [stdout] 15 - #[sanitize(camel_case)] [INFO] [stdout] 15 + #[sanitize(address = "on|off")] [INFO] [stdout] | [INFO] [stdout] 15 - #[sanitize(camel_case)] [INFO] [stdout] 15 + #[sanitize(cfi = "on|off")] [INFO] [stdout] | [INFO] [stdout] 15 - #[sanitize(camel_case)] [INFO] [stdout] 15 + #[sanitize(hwaddress = "on|off")] [INFO] [stdout] | [INFO] [stdout] 15 - #[sanitize(camel_case)] [INFO] [stdout] 15 + #[sanitize(kcfi = "on|off")] [INFO] [stdout] | [INFO] [stdout] = and 5 other candidates [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0539]: malformed `sanitize` attribute input [INFO] [stdout] --> tests/struct.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 17 | #[sanitize(snake_case)] [INFO] [stdout] | ^^^^^^^^^^^----------^^ [INFO] [stdout] | | [INFO] [stdout] | expected this to be of the form `snake_case = "..."` [INFO] [stdout] | [INFO] [stdout] help: try changing it to one of the following valid forms of the attribute [INFO] [stdout] | [INFO] [stdout] 17 - #[sanitize(snake_case)] [INFO] [stdout] 17 + #[sanitize(address = "on|off")] [INFO] [stdout] | [INFO] [stdout] 17 - #[sanitize(snake_case)] [INFO] [stdout] 17 + #[sanitize(cfi = "on|off")] [INFO] [stdout] | [INFO] [stdout] 17 - #[sanitize(snake_case)] [INFO] [stdout] 17 + #[sanitize(hwaddress = "on|off")] [INFO] [stdout] | [INFO] [stdout] 17 - #[sanitize(snake_case)] [INFO] [stdout] 17 + #[sanitize(kcfi = "on|off")] [INFO] [stdout] | [INFO] [stdout] = and 5 other candidates [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0539]: malformed `sanitize` attribute input [INFO] [stdout] --> tests/struct.rs:19:5 [INFO] [stdout] | [INFO] [stdout] 19 | #[sanitize(screaming_snake_case)] [INFO] [stdout] | ^^^^^^^^^^^--------------------^^ [INFO] [stdout] | | [INFO] [stdout] | expected this to be of the form `screaming_snake_case = "..."` [INFO] [stdout] | [INFO] [stdout] help: try changing it to one of the following valid forms of the attribute [INFO] [stdout] | [INFO] [stdout] 19 - #[sanitize(screaming_snake_case)] [INFO] [stdout] 19 + #[sanitize(address = "on|off")] [INFO] [stdout] | [INFO] [stdout] 19 - #[sanitize(screaming_snake_case)] [INFO] [stdout] 19 + #[sanitize(cfi = "on|off")] [INFO] [stdout] | [INFO] [stdout] 19 - #[sanitize(screaming_snake_case)] [INFO] [stdout] 19 + #[sanitize(hwaddress = "on|off")] [INFO] [stdout] | [INFO] [stdout] 19 - #[sanitize(screaming_snake_case)] [INFO] [stdout] 19 + #[sanitize(kcfi = "on|off")] [INFO] [stdout] | [INFO] [stdout] = and 5 other candidates [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0539]: malformed `sanitize` attribute input [INFO] [stdout] --> tests/struct.rs:21:5 [INFO] [stdout] | [INFO] [stdout] 21 | #[sanitize(kebab_case)] [INFO] [stdout] | ^^^^^^^^^^^----------^^ [INFO] [stdout] | | [INFO] [stdout] | expected this to be of the form `kebab_case = "..."` [INFO] [stdout] | [INFO] [stdout] help: try changing it to one of the following valid forms of the attribute [INFO] [stdout] | [INFO] [stdout] 21 - #[sanitize(kebab_case)] [INFO] [stdout] 21 + #[sanitize(address = "on|off")] [INFO] [stdout] | [INFO] [stdout] 21 - #[sanitize(kebab_case)] [INFO] [stdout] 21 + #[sanitize(cfi = "on|off")] [INFO] [stdout] | [INFO] [stdout] 21 - #[sanitize(kebab_case)] [INFO] [stdout] 21 + #[sanitize(hwaddress = "on|off")] [INFO] [stdout] | [INFO] [stdout] 21 - #[sanitize(kebab_case)] [INFO] [stdout] 21 + #[sanitize(kcfi = "on|off")] [INFO] [stdout] | [INFO] [stdout] = and 5 other candidates [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0539]: malformed `sanitize` attribute input [INFO] [stdout] --> tests/struct.rs:23:5 [INFO] [stdout] | [INFO] [stdout] 23 | #[sanitize(screaming_kebab_case)] [INFO] [stdout] | ^^^^^^^^^^^--------------------^^ [INFO] [stdout] | | [INFO] [stdout] | expected this to be of the form `screaming_kebab_case = "..."` [INFO] [stdout] | [INFO] [stdout] help: try changing it to one of the following valid forms of the attribute [INFO] [stdout] | [INFO] [stdout] 23 - #[sanitize(screaming_kebab_case)] [INFO] [stdout] 23 + #[sanitize(address = "on|off")] [INFO] [stdout] | [INFO] [stdout] 23 - #[sanitize(screaming_kebab_case)] [INFO] [stdout] 23 + #[sanitize(cfi = "on|off")] [INFO] [stdout] | [INFO] [stdout] 23 - #[sanitize(screaming_kebab_case)] [INFO] [stdout] 23 + #[sanitize(hwaddress = "on|off")] [INFO] [stdout] | [INFO] [stdout] 23 - #[sanitize(screaming_kebab_case)] [INFO] [stdout] 23 + #[sanitize(kcfi = "on|off")] [INFO] [stdout] | [INFO] [stdout] = and 5 other candidates [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0539]: malformed `sanitize` attribute input [INFO] [stdout] --> tests/struct.rs:25:5 [INFO] [stdout] | [INFO] [stdout] 25 | #[sanitize(clamp(10))] [INFO] [stdout] | ^^^^^^^^^^^---------^^ [INFO] [stdout] | | [INFO] [stdout] | expected this to be of the form `clamp = "..."` [INFO] [stdout] | [INFO] [stdout] help: try changing it to one of the following valid forms of the attribute [INFO] [stdout] | [INFO] [stdout] 25 - #[sanitize(clamp(10))] [INFO] [stdout] 25 + #[sanitize(address = "on|off")] [INFO] [stdout] | [INFO] [stdout] 25 - #[sanitize(clamp(10))] [INFO] [stdout] 25 + #[sanitize(cfi = "on|off")] [INFO] [stdout] | [INFO] [stdout] 25 - #[sanitize(clamp(10))] [INFO] [stdout] 25 + #[sanitize(hwaddress = "on|off")] [INFO] [stdout] | [INFO] [stdout] 25 - #[sanitize(clamp(10))] [INFO] [stdout] 25 + #[sanitize(kcfi = "on|off")] [INFO] [stdout] | [INFO] [stdout] = and 5 other candidates [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0539]: malformed `sanitize` attribute input [INFO] [stdout] --> tests/struct.rs:27:5 [INFO] [stdout] | [INFO] [stdout] 27 | #[sanitize(clamp(10, 50))] [INFO] [stdout] | ^^^^^^^^^^^-------------^^ [INFO] [stdout] | | [INFO] [stdout] | expected this to be of the form `clamp = "..."` [INFO] [stdout] | [INFO] [stdout] help: try changing it to one of the following valid forms of the attribute [INFO] [stdout] | [INFO] [stdout] 27 - #[sanitize(clamp(10, 50))] [INFO] [stdout] 27 + #[sanitize(address = "on|off")] [INFO] [stdout] | [INFO] [stdout] 27 - #[sanitize(clamp(10, 50))] [INFO] [stdout] 27 + #[sanitize(cfi = "on|off")] [INFO] [stdout] | [INFO] [stdout] 27 - #[sanitize(clamp(10, 50))] [INFO] [stdout] 27 + #[sanitize(hwaddress = "on|off")] [INFO] [stdout] | [INFO] [stdout] 27 - #[sanitize(clamp(10, 50))] [INFO] [stdout] 27 + #[sanitize(kcfi = "on|off")] [INFO] [stdout] | [INFO] [stdout] = and 5 other candidates [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0539]: malformed `sanitize` attribute input [INFO] [stdout] --> tests/struct.rs:29:5 [INFO] [stdout] | [INFO] [stdout] 29 | #[sanitize(e164)] [INFO] [stdout] | ^^^^^^^^^^^----^^ [INFO] [stdout] | | [INFO] [stdout] | expected this to be of the form `e164 = "..."` [INFO] [stdout] | [INFO] [stdout] help: try changing it to one of the following valid forms of the attribute [INFO] [stdout] | [INFO] [stdout] 29 - #[sanitize(e164)] [INFO] [stdout] 29 + #[sanitize(address = "on|off")] [INFO] [stdout] | [INFO] [stdout] 29 - #[sanitize(e164)] [INFO] [stdout] 29 + #[sanitize(cfi = "on|off")] [INFO] [stdout] | [INFO] [stdout] 29 - #[sanitize(e164)] [INFO] [stdout] 29 + #[sanitize(hwaddress = "on|off")] [INFO] [stdout] | [INFO] [stdout] 29 - #[sanitize(e164)] [INFO] [stdout] 29 + #[sanitize(kcfi = "on|off")] [INFO] [stdout] | [INFO] [stdout] = and 5 other candidates [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0539]: malformed `sanitize` attribute input [INFO] [stdout] --> tests/struct.rs:31:5 [INFO] [stdout] | [INFO] [stdout] 31 | #[sanitize(trim, screaming_snake_case)] [INFO] [stdout] | ^^^^^^^^^^^----^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | expected this to be of the form `trim = "..."` [INFO] [stdout] | [INFO] [stdout] help: try changing it to one of the following valid forms of the attribute [INFO] [stdout] | [INFO] [stdout] 31 - #[sanitize(trim, screaming_snake_case)] [INFO] [stdout] 31 + #[sanitize(address = "on|off")] [INFO] [stdout] | [INFO] [stdout] 31 - #[sanitize(trim, screaming_snake_case)] [INFO] [stdout] 31 + #[sanitize(cfi = "on|off")] [INFO] [stdout] | [INFO] [stdout] 31 - #[sanitize(trim, screaming_snake_case)] [INFO] [stdout] 31 + #[sanitize(hwaddress = "on|off")] [INFO] [stdout] | [INFO] [stdout] 31 - #[sanitize(trim, screaming_snake_case)] [INFO] [stdout] 31 + #[sanitize(kcfi = "on|off")] [INFO] [stdout] | [INFO] [stdout] = and 5 other candidates [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0539]: malformed `sanitize` attribute input [INFO] [stdout] --> tests/struct.rs:31:5 [INFO] [stdout] | [INFO] [stdout] 31 | #[sanitize(trim, screaming_snake_case)] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^--------------------^^ [INFO] [stdout] | | [INFO] [stdout] | expected this to be of the form `screaming_snake_case = "..."` [INFO] [stdout] | [INFO] [stdout] help: try changing it to one of the following valid forms of the attribute [INFO] [stdout] | [INFO] [stdout] 31 - #[sanitize(trim, screaming_snake_case)] [INFO] [stdout] 31 + #[sanitize(address = "on|off")] [INFO] [stdout] | [INFO] [stdout] 31 - #[sanitize(trim, screaming_snake_case)] [INFO] [stdout] 31 + #[sanitize(cfi = "on|off")] [INFO] [stdout] | [INFO] [stdout] 31 - #[sanitize(trim, screaming_snake_case)] [INFO] [stdout] 31 + #[sanitize(hwaddress = "on|off")] [INFO] [stdout] | [INFO] [stdout] 31 - #[sanitize(trim, screaming_snake_case)] [INFO] [stdout] 31 + #[sanitize(kcfi = "on|off")] [INFO] [stdout] | [INFO] [stdout] = and 5 other candidates [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: sanitize attribute not allowed here [INFO] [stdout] --> tests/struct.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | #[sanitize(trim)] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] 6 | trim: String, [INFO] [stdout] | ------------ not a function, impl block, or module [INFO] [stdout] | [INFO] [stdout] = help: sanitize attribute can be applied to a function (with body), impl block, or module [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: sanitize attribute not allowed here [INFO] [stdout] --> tests/struct.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | #[sanitize(numeric)] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 8 | numeric: String, [INFO] [stdout] | --------------- not a function, impl block, or module [INFO] [stdout] | [INFO] [stdout] = help: sanitize attribute can be applied to a function (with body), impl block, or module [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: sanitize attribute not allowed here [INFO] [stdout] --> tests/struct.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | #[sanitize(alphanumeric)] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 10 | alphanumeric: String, [INFO] [stdout] | -------------------- not a function, impl block, or module [INFO] [stdout] | [INFO] [stdout] = help: sanitize attribute can be applied to a function (with body), impl block, or module [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: sanitize attribute not allowed here [INFO] [stdout] --> tests/struct.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | #[sanitize(lower_case)] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 12 | lower_case: String, [INFO] [stdout] | ------------------ not a function, impl block, or module [INFO] [stdout] | [INFO] [stdout] = help: sanitize attribute can be applied to a function (with body), impl block, or module [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: sanitize attribute not allowed here [INFO] [stdout] --> tests/struct.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | #[sanitize(upper_case)] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 14 | upper_case: String, [INFO] [stdout] | ------------------ not a function, impl block, or module [INFO] [stdout] | [INFO] [stdout] = help: sanitize attribute can be applied to a function (with body), impl block, or module [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: sanitize attribute not allowed here [INFO] [stdout] --> tests/struct.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 15 | #[sanitize(camel_case)] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 16 | camel_case: String, [INFO] [stdout] | ------------------ not a function, impl block, or module [INFO] [stdout] | [INFO] [stdout] = help: sanitize attribute can be applied to a function (with body), impl block, or module [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: sanitize attribute not allowed here [INFO] [stdout] --> tests/struct.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 17 | #[sanitize(snake_case)] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 18 | snake_case: String, [INFO] [stdout] | ------------------ not a function, impl block, or module [INFO] [stdout] | [INFO] [stdout] = help: sanitize attribute can be applied to a function (with body), impl block, or module [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: sanitize attribute not allowed here [INFO] [stdout] --> tests/struct.rs:19:5 [INFO] [stdout] | [INFO] [stdout] 19 | #[sanitize(screaming_snake_case)] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 20 | screaming_snake_case: String, [INFO] [stdout] | ---------------------------- not a function, impl block, or module [INFO] [stdout] | [INFO] [stdout] = help: sanitize attribute can be applied to a function (with body), impl block, or module [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: sanitize attribute not allowed here [INFO] [stdout] --> tests/struct.rs:21:5 [INFO] [stdout] | [INFO] [stdout] 21 | #[sanitize(kebab_case)] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 22 | kebab_case: String, [INFO] [stdout] | ------------------ not a function, impl block, or module [INFO] [stdout] | [INFO] [stdout] = help: sanitize attribute can be applied to a function (with body), impl block, or module [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: sanitize attribute not allowed here [INFO] [stdout] --> tests/struct.rs:23:5 [INFO] [stdout] | [INFO] [stdout] 23 | #[sanitize(screaming_kebab_case)] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 24 | screaming_kebab_case: String, [INFO] [stdout] | ---------------------------- not a function, impl block, or module [INFO] [stdout] | [INFO] [stdout] = help: sanitize attribute can be applied to a function (with body), impl block, or module [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: sanitize attribute not allowed here [INFO] [stdout] --> tests/struct.rs:25:5 [INFO] [stdout] | [INFO] [stdout] 25 | #[sanitize(clamp(10))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 26 | clamp_str: String, [INFO] [stdout] | ----------------- not a function, impl block, or module [INFO] [stdout] | [INFO] [stdout] = help: sanitize attribute can be applied to a function (with body), impl block, or module [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: sanitize attribute not allowed here [INFO] [stdout] --> tests/struct.rs:27:5 [INFO] [stdout] | [INFO] [stdout] 27 | #[sanitize(clamp(10, 50))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 28 | clamp_int: u8, [INFO] [stdout] | ------------- not a function, impl block, or module [INFO] [stdout] | [INFO] [stdout] = help: sanitize attribute can be applied to a function (with body), impl block, or module [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: sanitize attribute not allowed here [INFO] [stdout] --> tests/struct.rs:29:5 [INFO] [stdout] | [INFO] [stdout] 29 | #[sanitize(e164)] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] 30 | phone_number: String, [INFO] [stdout] | -------------------- not a function, impl block, or module [INFO] [stdout] | [INFO] [stdout] = help: sanitize attribute can be applied to a function (with body), impl block, or module [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: sanitize attribute not allowed here [INFO] [stdout] --> tests/struct.rs:31:5 [INFO] [stdout] | [INFO] [stdout] 31 | #[sanitize(trim, screaming_snake_case)] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 32 | multiple_sanitizers: String, [INFO] [stdout] | --------------------------- not a function, impl block, or module [INFO] [stdout] | [INFO] [stdout] = help: sanitize attribute can be applied to a function (with body), impl block, or module [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `sanitizer` [INFO] [stdout] --> tests/custom_functions.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use sanitizer::prelude::*; [INFO] [stdout] | ^^^^^^^^^ use of unresolved module or unlinked crate `sanitizer` [INFO] [stdout] | [INFO] [stdout] = help: if you wanted to use a crate named `sanitizer`, use `cargo add sanitizer` to add it to your `Cargo.toml` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `sanitize` found for struct `SanitizerTest` in the current scope [INFO] [stdout] --> tests/struct.rs:53:14 [INFO] [stdout] | [INFO] [stdout] 4 | struct SanitizerTest { [INFO] [stdout] | -------------------- method `sanitize` not found for this struct [INFO] [stdout] ... [INFO] [stdout] 53 | instance.sanitize(); [INFO] [stdout] | ^^^^^^^^ method not found in `SanitizerTest` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `sanitize` found for struct `First` in the current scope [INFO] [stdout] --> tests/nested_macro.rs:51:20 [INFO] [stdout] | [INFO] [stdout] 4 | struct First { [INFO] [stdout] | ------------ method `sanitize` not found for this struct [INFO] [stdout] ... [INFO] [stdout] 51 | first_instance.sanitize(); [INFO] [stdout] | ^^^^^^^^ method not found in `First` [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `sanitizer_macros` (test "struct") due to 46 previous errors [INFO] [stdout] error[E0599]: no method named `sanitize` found for struct `OtherInfo` in the current scope [INFO] [stdout] --> tests/nested_macro.rs:60:16 [INFO] [stdout] | [INFO] [stdout] 12 | struct OtherInfo { [INFO] [stdout] | ---------------- method `sanitize` not found for this struct [INFO] [stdout] ... [INFO] [stdout] 60 | other_info.sanitize(); [INFO] [stdout] | ^^^^^^^^ method not found in `OtherInfo` [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stdout] Some errors have detailed explanations: E0433, E0539, E0599, E0658. [INFO] [stdout] [INFO] [stderr] error: could not compile `sanitizer_macros` (test "nested_macro") due to 26 previous errors [INFO] [stdout] For more information about an error, try `rustc --explain E0433`. [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `sanitize` found for enum `FirstEnum` in the current scope [INFO] [stdout] --> tests/nested_macro.rs:69:20 [INFO] [stdout] | [INFO] [stdout] 21 | enum FirstEnum { [INFO] [stdout] | -------------- method `sanitize` not found for this enum [INFO] [stdout] ... [INFO] [stdout] 69 | first_instance.sanitize(); [INFO] [stdout] | ^^^^^^^^ method not found in `FirstEnum` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: cannot find derive macro `Sanitize` in this scope [INFO] [stdout] --> tests/enums.rs:2:10 [INFO] [stdout] | [INFO] [stdout] 2 | #[derive(Sanitize)] [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: consider importing this derive macro [INFO] [stdout] | [INFO] [stdout] 1 + use sanitizer_macros::Sanitize; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `sanitize` found for enum `OtherEnum` in the current scope [INFO] [stdout] --> tests/nested_macro.rs:84:16 [INFO] [stdout] | [INFO] [stdout] 29 | enum OtherEnum { [INFO] [stdout] | -------------- method `sanitize` not found for this enum [INFO] [stdout] ... [INFO] [stdout] 84 | other_info.sanitize(); [INFO] [stdout] | ^^^^^^^^ method not found in `OtherEnum` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: the `#[sanitize]` attribute is an experimental feature [INFO] [stdout] --> tests/enums.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | #[sanitize(clamp(10, 50))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #39699 for more information [INFO] [stdout] = help: add `#![feature(sanitize)]` to the crate attributes to enable [INFO] [stdout] = note: this compiler was built on 2025-08-28; consider upgrading it if it is out of date [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: the `#[sanitize]` attribute is an experimental feature [INFO] [stdout] --> tests/enums.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | #[sanitize(trim)] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #39699 for more information [INFO] [stdout] = help: add `#![feature(sanitize)]` to the crate attributes to enable [INFO] [stdout] = note: this compiler was built on 2025-08-28; consider upgrading it if it is out of date [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0539]: malformed `sanitize` attribute input [INFO] [stdout] --> tests/enums.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | #[sanitize(clamp(10, 50))] [INFO] [stdout] | ^^^^^^^^^^^-------------^^ [INFO] [stdout] | | [INFO] [stdout] | expected this to be of the form `clamp = "..."` [INFO] [stdout] | [INFO] [stdout] help: try changing it to one of the following valid forms of the attribute [INFO] [stdout] | [INFO] [stdout] 4 - #[sanitize(clamp(10, 50))] [INFO] [stdout] 4 + #[sanitize(address = "on|off")] [INFO] [stdout] | [INFO] [stdout] 4 - #[sanitize(clamp(10, 50))] [INFO] [stdout] 4 + #[sanitize(cfi = "on|off")] [INFO] [stdout] | [INFO] [stdout] 4 - #[sanitize(clamp(10, 50))] [INFO] [stdout] 4 + #[sanitize(hwaddress = "on|off")] [INFO] [stdout] | [INFO] [stdout] 4 - #[sanitize(clamp(10, 50))] [INFO] [stdout] 4 + #[sanitize(kcfi = "on|off")] [INFO] [stdout] | [INFO] [stdout] = and 5 other candidates [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0539]: malformed `sanitize` attribute input [INFO] [stdout] --> tests/enums.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | #[sanitize(trim)] [INFO] [stdout] | ^^^^^^^^^^^----^^ [INFO] [stdout] | | [INFO] [stdout] | expected this to be of the form `trim = "..."` [INFO] [stdout] | [INFO] [stdout] help: try changing it to one of the following valid forms of the attribute [INFO] [stdout] | [INFO] [stdout] 6 - #[sanitize(trim)] [INFO] [stdout] 6 + #[sanitize(address = "on|off")] [INFO] [stdout] | [INFO] [stdout] 6 - #[sanitize(trim)] [INFO] [stdout] 6 + #[sanitize(cfi = "on|off")] [INFO] [stdout] | [INFO] [stdout] 6 - #[sanitize(trim)] [INFO] [stdout] 6 + #[sanitize(hwaddress = "on|off")] [INFO] [stdout] | [INFO] [stdout] 6 - #[sanitize(trim)] [INFO] [stdout] 6 + #[sanitize(kcfi = "on|off")] [INFO] [stdout] | [INFO] [stdout] = and 5 other candidates [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: sanitize attribute not allowed here [INFO] [stdout] --> tests/enums.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | #[sanitize(clamp(10, 50))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 5 | Number(u8), [INFO] [stdout] | ---------- not a function, impl block, or module [INFO] [stdout] | [INFO] [stdout] = help: sanitize attribute can be applied to a function (with body), impl block, or module [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: sanitize attribute not allowed here [INFO] [stdout] --> tests/enums.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | #[sanitize(trim)] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] 7 | String(String), [INFO] [stdout] | -------------- not a function, impl block, or module [INFO] [stdout] | [INFO] [stdout] = help: sanitize attribute can be applied to a function (with body), impl block, or module [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0433, E0539, E0599, E0658. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0433`. [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `sanitize` found for enum `EnumTest` in the current scope [INFO] [stdout] --> tests/enums.rs:14:14 [INFO] [stdout] | [INFO] [stdout] 3 | enum EnumTest { [INFO] [stdout] | ------------- method `sanitize` not found for this enum [INFO] [stdout] ... [INFO] [stdout] 14 | instance.sanitize(); [INFO] [stdout] | ^^^^^^^^ method not found in `EnumTest` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `sanitize` found for enum `EnumTest` in the current scope [INFO] [stdout] --> tests/enums.rs:15:21 [INFO] [stdout] | [INFO] [stdout] 3 | enum EnumTest { [INFO] [stdout] | ------------- method `sanitize` not found for this enum [INFO] [stdout] ... [INFO] [stdout] 15 | string_instance.sanitize(); [INFO] [stdout] | ^^^^^^^^ method not found in `EnumTest` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0433, E0539, E0599, E0658. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0433`. [INFO] [stdout] [INFO] [stderr] error: could not compile `sanitizer_macros` (test "enums") due to 10 previous errors [INFO] [stdout] error[E0599]: no method named `sanitize` found for struct `First` in the current scope [INFO] [stdout] --> tests/option.rs:34:14 [INFO] [stdout] | [INFO] [stdout] 4 | struct First { [INFO] [stdout] | ------------ method `sanitize` not found for this struct [INFO] [stdout] ... [INFO] [stdout] 34 | instance.sanitize(); [INFO] [stdout] | ^^^^^^^^ method not found in `First` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: cannot find derive macro `Sanitize` in this scope [INFO] [stdout] --> tests/custom_functions.rs:3:10 [INFO] [stdout] | [INFO] [stdout] 3 | #[derive(Sanitize)] [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: consider importing this derive macro [INFO] [stdout] | [INFO] [stdout] 1 + use sanitizer_macros::Sanitize; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0433, E0539, E0599, E0658. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0433`. [INFO] [stdout] [INFO] [stderr] error: could not compile `sanitizer_macros` (test "option") due to 18 previous errors [INFO] [stdout] error[E0658]: the `#[sanitize]` attribute is an experimental feature [INFO] [stdout] --> tests/custom_functions.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | #[sanitize(custom(func_int))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #39699 for more information [INFO] [stdout] = help: add `#![feature(sanitize)]` to the crate attributes to enable [INFO] [stdout] = note: this compiler was built on 2025-08-28; consider upgrading it if it is out of date [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: the `#[sanitize]` attribute is an experimental feature [INFO] [stdout] --> tests/custom_functions.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | #[sanitize(custom(func_string))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #39699 for more information [INFO] [stdout] = help: add `#![feature(sanitize)]` to the crate attributes to enable [INFO] [stdout] = note: this compiler was built on 2025-08-28; consider upgrading it if it is out of date [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0539]: malformed `sanitize` attribute input [INFO] [stdout] --> tests/custom_functions.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | #[sanitize(custom(func_int))] [INFO] [stdout] | ^^^^^^^^^^^----------------^^ [INFO] [stdout] | | [INFO] [stdout] | expected this to be of the form `custom = "..."` [INFO] [stdout] | [INFO] [stdout] help: try changing it to one of the following valid forms of the attribute [INFO] [stdout] | [INFO] [stdout] 5 - #[sanitize(custom(func_int))] [INFO] [stdout] 5 + #[sanitize(address = "on|off")] [INFO] [stdout] | [INFO] [stdout] 5 - #[sanitize(custom(func_int))] [INFO] [stdout] 5 + #[sanitize(cfi = "on|off")] [INFO] [stdout] | [INFO] [stdout] 5 - #[sanitize(custom(func_int))] [INFO] [stdout] 5 + #[sanitize(hwaddress = "on|off")] [INFO] [stdout] | [INFO] [stdout] 5 - #[sanitize(custom(func_int))] [INFO] [stdout] 5 + #[sanitize(kcfi = "on|off")] [INFO] [stdout] | [INFO] [stdout] = and 5 other candidates [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0539]: malformed `sanitize` attribute input [INFO] [stdout] --> tests/custom_functions.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | #[sanitize(custom(func_string))] [INFO] [stdout] | ^^^^^^^^^^^-------------------^^ [INFO] [stdout] | | [INFO] [stdout] | expected this to be of the form `custom = "..."` [INFO] [stdout] | [INFO] [stdout] help: try changing it to one of the following valid forms of the attribute [INFO] [stdout] | [INFO] [stdout] 7 - #[sanitize(custom(func_string))] [INFO] [stdout] 7 + #[sanitize(address = "on|off")] [INFO] [stdout] | [INFO] [stdout] 7 - #[sanitize(custom(func_string))] [INFO] [stdout] 7 + #[sanitize(cfi = "on|off")] [INFO] [stdout] | [INFO] [stdout] 7 - #[sanitize(custom(func_string))] [INFO] [stdout] 7 + #[sanitize(hwaddress = "on|off")] [INFO] [stdout] | [INFO] [stdout] 7 - #[sanitize(custom(func_string))] [INFO] [stdout] 7 + #[sanitize(kcfi = "on|off")] [INFO] [stdout] | [INFO] [stdout] = and 5 other candidates [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: sanitize attribute not allowed here [INFO] [stdout] --> tests/custom_functions.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | #[sanitize(custom(func_int))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 6 | field_int: u8, [INFO] [stdout] | ------------- not a function, impl block, or module [INFO] [stdout] | [INFO] [stdout] = help: sanitize attribute can be applied to a function (with body), impl block, or module [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: sanitize attribute not allowed here [INFO] [stdout] --> tests/custom_functions.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | #[sanitize(custom(func_string))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 8 | field_string: String, [INFO] [stdout] | -------------------- not a function, impl block, or module [INFO] [stdout] | [INFO] [stdout] = help: sanitize attribute can be applied to a function (with body), impl block, or module [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `IntSanitizer` [INFO] [stdout] --> tests/custom_functions.rs:12:25 [INFO] [stdout] | [INFO] [stdout] 12 | let mut sanitizer = IntSanitizer::from(field); [INFO] [stdout] | ^^^^^^^^^^^^ use of undeclared type `IntSanitizer` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `StringSanitizer` [INFO] [stdout] --> tests/custom_functions.rs:18:25 [INFO] [stdout] | [INFO] [stdout] 18 | let mut sanitizer = StringSanitizer::from(field); [INFO] [stdout] | ^^^^^^^^^^^^^^^ use of undeclared type `StringSanitizer` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `sanitize` found for struct `SanitizerTest` in the current scope [INFO] [stdout] --> tests/custom_functions.rs:29:14 [INFO] [stdout] | [INFO] [stdout] 4 | struct SanitizerTest { [INFO] [stdout] | -------------------- method `sanitize` not found for this struct [INFO] [stdout] ... [INFO] [stdout] 29 | instance.sanitize(); [INFO] [stdout] | ^^^^^^^^ method not found in `SanitizerTest` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0433, E0539, E0599, E0658. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0433`. [INFO] [stdout] [INFO] [stderr] error: could not compile `sanitizer_macros` (test "custom_functions") due to 11 previous errors [INFO] running `Command { std: "docker" "inspect" "1f738ad26621c77820361cbb72abb4fe15ab72a7d7f0358b9b91bf8fceb5f7ff", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "1f738ad26621c77820361cbb72abb4fe15ab72a7d7f0358b9b91bf8fceb5f7ff", kill_on_drop: false }` [INFO] [stdout] 1f738ad26621c77820361cbb72abb4fe15ab72a7d7f0358b9b91bf8fceb5f7ff