[INFO] fetching crate wokelangiser 0.1.0...
[INFO] testing wokelangiser-0.1.0 against master#ec6f9a5b4413f74386267ef8efc93712c2ce6db6 for pr-155739-1
[INFO] extracting crate wokelangiser 0.1.0 into /workspace/builds/worker-4-tc1/source
[INFO] started tweaking crates.io crate wokelangiser 0.1.0
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate wokelangiser 0.1.0
[INFO] tweaked toml for crates.io crate wokelangiser 0.1.0 written to /workspace/builds/worker-4-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate wokelangiser 0.1.0 on toolchain ec6f9a5b4413f74386267ef8efc93712c2ce6db6
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ec6f9a5b4413f74386267ef8efc93712c2ce6db6" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate wokelangiser 0.1.0 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ec6f9a5b4413f74386267ef8efc93712c2ce6db6" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+ec6f9a5b4413f74386267ef8efc93712c2ce6db6" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] eb450688897695c70ebceb35b0850216c9d17624a48660d288fc9f3c09ac3c79
[INFO] running `Command { std: "docker" "start" "-a" "eb450688897695c70ebceb35b0850216c9d17624a48660d288fc9f3c09ac3c79", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "eb450688897695c70ebceb35b0850216c9d17624a48660d288fc9f3c09ac3c79", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "eb450688897695c70ebceb35b0850216c9d17624a48660d288fc9f3c09ac3c79", kill_on_drop: false }`
[INFO] [stdout] eb450688897695c70ebceb35b0850216c9d17624a48660d288fc9f3c09ac3c79
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+ec6f9a5b4413f74386267ef8efc93712c2ce6db6" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] f26a4ca20cd374b19738f88a46311ef5831c2c41fd533f18f5dc0474da5ddc90
[INFO] running `Command { std: "docker" "start" "-a" "f26a4ca20cd374b19738f88a46311ef5831c2c41fd533f18f5dc0474da5ddc90", kill_on_drop: false }`
[INFO] [stderr]    Compiling utf8parse v0.2.2
[INFO] [stderr]    Compiling anstyle v1.0.14
[INFO] [stderr]    Compiling hashbrown v0.16.1
[INFO] [stderr]    Compiling anstyle-query v1.1.5
[INFO] [stderr]    Compiling is_terminal_polyfill v1.70.2
[INFO] [stderr]    Compiling colorchoice v1.0.5
[INFO] [stderr]    Compiling clap_lex v1.1.0
[INFO] [stderr]    Compiling strsim v0.11.1
[INFO] [stderr]    Compiling toml_write v0.1.2
[INFO] [stderr]    Compiling anyhow v1.0.102
[INFO] [stderr]    Compiling winnow v0.7.15
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling same-file v1.0.6
[INFO] [stderr]    Compiling anstyle-parse v1.0.0
[INFO] [stderr]    Compiling walkdir v2.5.0
[INFO] [stderr]    Compiling anstream v1.0.0
[INFO] [stderr]    Compiling clap_builder v4.6.0
[INFO] [stderr]    Compiling indexmap v2.13.0
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling clap_derive v4.6.0
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling clap v4.6.0
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling serde_spanned v0.6.9
[INFO] [stderr]    Compiling toml_datetime v0.6.11
[INFO] [stderr]    Compiling toml_edit v0.22.27
[INFO] [stderr]    Compiling toml v0.8.23
[INFO] [stderr]    Compiling wokelangiser v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: methods `is_allowed` and `transition` are never used
[INFO] [stdout]   --> src/abi/mod.rs:34:12
[INFO] [stdout]    |
[INFO] [stdout] 31 | impl ConsentState {
[INFO] [stdout]    | ----------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 34 |     pub fn is_allowed(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 40 |     pub fn transition(&self, grant: bool) -> ConsentState {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `language` and `region` are never used
[INFO] [stdout]    --> src/abi/mod.rs:200:12
[INFO] [stdout]     |
[INFO] [stdout] 191 | impl Locale {
[INFO] [stdout]     | ----------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 200 |     pub fn language(&self) -> &str {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 205 |     pub fn region(&self) -> Option<&str> {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `linearise_channel` is never used
[INFO] [stdout]   --> src/codegen/accessibility.rs:25:4
[INFO] [stdout]    |
[INFO] [stdout] 25 | fn linearise_channel(value: u8) -> f64 {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `relative_luminance` is never used
[INFO] [stdout]   --> src/codegen/accessibility.rs:37:8
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub fn relative_luminance(r: u8, g: u8, b: u8) -> f64 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `contrast_ratio` is never used
[INFO] [stdout]   --> src/codegen/accessibility.rs:46:8
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub fn contrast_ratio(r1: u8, g1: u8, b1: u8, r2: u8, g2: u8, b2: u8) -> f64 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `meets_contrast_requirement` is never used
[INFO] [stdout]   --> src/codegen/accessibility.rs:60:8
[INFO] [stdout]    |
[INFO] [stdout] 60 | pub fn meets_contrast_requirement(ratio: f64, level: WCAGLevel, is_large_text: bool) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_hex_colour` is never used
[INFO] [stdout]   --> src/codegen/accessibility.rs:77:8
[INFO] [stdout]    |
[INFO] [stdout] 77 | pub fn parse_hex_colour(hex: &str) -> Option<(u8, u8, u8)> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `line` and `snippet` are never read
[INFO] [stdout]   --> src/codegen/parser.rs:27:9
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub struct ConsentPoint {
[INFO] [stdout]    |            ------------ fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 27 |     pub line: usize,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 28 |     /// The code snippet containing the data collection call.
[INFO] [stdout] 29 |     pub snippet: String,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ConsentPoint` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 20.75s
[INFO] running `Command { std: "docker" "inspect" "f26a4ca20cd374b19738f88a46311ef5831c2c41fd533f18f5dc0474da5ddc90", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f26a4ca20cd374b19738f88a46311ef5831c2c41fd533f18f5dc0474da5ddc90", kill_on_drop: false }`
[INFO] [stdout] f26a4ca20cd374b19738f88a46311ef5831c2c41fd533f18f5dc0474da5ddc90
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+ec6f9a5b4413f74386267ef8efc93712c2ce6db6" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 1f5b2db17b2c546d5f85e3072da1e68c83dbba0afb53ba52402b3f0fe88a064f
[INFO] running `Command { std: "docker" "start" "-a" "1f5b2db17b2c546d5f85e3072da1e68c83dbba0afb53ba52402b3f0fe88a064f", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.183
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling getrandom v0.4.2
[INFO] [stderr]    Compiling linux-raw-sys v0.12.1
[INFO] [stderr]    Compiling bitflags v2.11.0
[INFO] [stderr]    Compiling once_cell v1.21.4
[INFO] [stdout] warning: methods `is_allowed` and `transition` are never used
[INFO] [stdout]   --> src/abi/mod.rs:34:12
[INFO] [stdout]    |
[INFO] [stdout] 31 | impl ConsentState {
[INFO] [stdout]    | ----------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 34 |     pub fn is_allowed(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 40 |     pub fn transition(&self, grant: bool) -> ConsentState {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `language` and `region` are never used
[INFO] [stdout]    --> src/abi/mod.rs:200:12
[INFO] [stdout]     |
[INFO] [stdout] 191 | impl Locale {
[INFO] [stdout]     | ----------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 200 |     pub fn language(&self) -> &str {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 205 |     pub fn region(&self) -> Option<&str> {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `linearise_channel` is never used
[INFO] [stdout]   --> src/codegen/accessibility.rs:25:4
[INFO] [stdout]    |
[INFO] [stdout] 25 | fn linearise_channel(value: u8) -> f64 {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `relative_luminance` is never used
[INFO] [stdout]   --> src/codegen/accessibility.rs:37:8
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub fn relative_luminance(r: u8, g: u8, b: u8) -> f64 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `contrast_ratio` is never used
[INFO] [stdout]   --> src/codegen/accessibility.rs:46:8
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub fn contrast_ratio(r1: u8, g1: u8, b1: u8, r2: u8, g2: u8, b2: u8) -> f64 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `meets_contrast_requirement` is never used
[INFO] [stdout]   --> src/codegen/accessibility.rs:60:8
[INFO] [stdout]    |
[INFO] [stdout] 60 | pub fn meets_contrast_requirement(ratio: f64, level: WCAGLevel, is_large_text: bool) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_hex_colour` is never used
[INFO] [stdout]   --> src/codegen/accessibility.rs:77:8
[INFO] [stdout]    |
[INFO] [stdout] 77 | pub fn parse_hex_colour(hex: &str) -> Option<(u8, u8, u8)> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `line` and `snippet` are never read
[INFO] [stdout]   --> src/codegen/parser.rs:27:9
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub struct ConsentPoint {
[INFO] [stdout]    |            ------------ fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 27 |     pub line: usize,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 28 |     /// The code snippet containing the data collection call.
[INFO] [stdout] 29 |     pub snippet: String,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ConsentPoint` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling tempfile v3.27.0
[INFO] [stderr]    Compiling wokelangiser v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: fields `line` and `snippet` are never read
[INFO] [stdout]   --> src/codegen/parser.rs:27:9
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub struct ConsentPoint {
[INFO] [stdout]    |            ------------ fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 27 |     pub line: usize,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 28 |     /// The code snippet containing the data collection call.
[INFO] [stdout] 29 |     pub snippet: String,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ConsentPoint` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 6.05s
[INFO] running `Command { std: "docker" "inspect" "1f5b2db17b2c546d5f85e3072da1e68c83dbba0afb53ba52402b3f0fe88a064f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "1f5b2db17b2c546d5f85e3072da1e68c83dbba0afb53ba52402b3f0fe88a064f", kill_on_drop: false }`
[INFO] [stdout] 1f5b2db17b2c546d5f85e3072da1e68c83dbba0afb53ba52402b3f0fe88a064f
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+ec6f9a5b4413f74386267ef8efc93712c2ce6db6" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 7bd9d5a57c0e0e0a3805bd5a6d8a6a61f9001e0f5ff83e8ddac8f114e5adc0cc
[INFO] running `Command { std: "docker" "start" "-a" "7bd9d5a57c0e0e0a3805bd5a6d8a6a61f9001e0f5ff83e8ddac8f114e5adc0cc", kill_on_drop: false }`
[INFO] [stderr] warning: methods `is_allowed` and `transition` are never used
[INFO] [stderr]   --> src/abi/mod.rs:34:12
[INFO] [stderr]    |
[INFO] [stderr] 31 | impl ConsentState {
[INFO] [stderr]    | ----------------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 34 |     pub fn is_allowed(&self) -> bool {
[INFO] [stderr]    |            ^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 40 |     pub fn transition(&self, grant: bool) -> ConsentState {
[INFO] [stderr]    |            ^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: methods `language` and `region` are never used
[INFO] [stderr]    --> src/abi/mod.rs:200:12
[INFO] [stderr]     |
[INFO] [stderr] 191 | impl Locale {
[INFO] [stderr]     | ----------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 200 |     pub fn language(&self) -> &str {
[INFO] [stderr]     |            ^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 205 |     pub fn region(&self) -> Option<&str> {
[INFO] [stderr]     |            ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `linearise_channel` is never used
[INFO] [stderr]   --> src/codegen/accessibility.rs:25:4
[INFO] [stderr]    |
[INFO] [stderr] 25 | fn linearise_channel(value: u8) -> f64 {
[INFO] [stderr]    |    ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `relative_luminance` is never used
[INFO] [stderr]   --> src/codegen/accessibility.rs:37:8
[INFO] [stderr]    |
[INFO] [stderr] 37 | pub fn relative_luminance(r: u8, g: u8, b: u8) -> f64 {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `contrast_ratio` is never used
[INFO] [stderr]   --> src/codegen/accessibility.rs:46:8
[INFO] [stderr]    |
[INFO] [stderr] 46 | pub fn contrast_ratio(r1: u8, g1: u8, b1: u8, r2: u8, g2: u8, b2: u8) -> f64 {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `meets_contrast_requirement` is never used
[INFO] [stderr]   --> src/codegen/accessibility.rs:60:8
[INFO] [stderr]    |
[INFO] [stderr] 60 | pub fn meets_contrast_requirement(ratio: f64, level: WCAGLevel, is_large_text: bool) -> bool {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `parse_hex_colour` is never used
[INFO] [stderr]   --> src/codegen/accessibility.rs:77:8
[INFO] [stderr]    |
[INFO] [stderr] 77 | pub fn parse_hex_colour(hex: &str) -> Option<(u8, u8, u8)> {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `line` and `snippet` are never read
[INFO] [stderr]   --> src/codegen/parser.rs:27:9
[INFO] [stderr]    |
[INFO] [stderr] 23 | pub struct ConsentPoint {
[INFO] [stderr]    |            ------------ fields in this struct
[INFO] [stderr] ...
[INFO] [stderr] 27 |     pub line: usize,
[INFO] [stderr]    |         ^^^^
[INFO] [stderr] 28 |     /// The code snippet containing the data collection call.
[INFO] [stderr] 29 |     pub snippet: String,
[INFO] [stderr]    |         ^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `ConsentPoint` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: fields `line` and `snippet` are never read
[INFO] [stderr]   --> src/codegen/parser.rs:27:9
[INFO] [stderr]    |
[INFO] [stderr] 23 | pub struct ConsentPoint {
[INFO] [stderr]    |            ------------ fields in this struct
[INFO] [stderr] ...
[INFO] [stderr] 27 |     pub line: usize,
[INFO] [stderr]    |         ^^^^
[INFO] [stderr] 28 |     /// The code snippet containing the data collection call.
[INFO] [stderr] 29 |     pub snippet: String,
[INFO] [stderr]    |         ^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `ConsentPoint` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `wokelangiser` (bin "wokelangiser") generated 8 warnings
[INFO] [stderr] warning: `wokelangiser` (bin "wokelangiser" test) generated 1 warning
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.15s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/wokelangiser-9fe81277107e437c)
[INFO] [stdout] 
[INFO] [stdout] running 44 tests
[INFO] [stdout] test abi::tests::test_consent_category_parsing ... ok
[INFO] [stdout] test abi::tests::test_consent_state_transitions ... ok
[INFO] [stdout] test abi::tests::test_consent_state_allowed ... ok
[INFO] [stdout] test abi::tests::test_locale_parsing ... ok
[INFO] [stdout] test abi::tests::test_compliance_report_pass_fail ... ok
[INFO] [stdout] test abi::tests::test_wcag_contrast_ratios ... ok
[INFO] [stdout] test abi::tests::test_wcag_level_parsing ... ok
[INFO] [stdout] test codegen::accessibility::tests::test_contrast_ratio_symmetry ... ok
[INFO] [stdout] test codegen::accessibility::tests::test_contrast_ratio_same_colour ... ok
[INFO] [stdout] test codegen::accessibility::tests::test_format_report_a2ml ... ok
[INFO] [stdout] test codegen::accessibility::tests::test_all_wcag_levels_contrast_thresholds ... ok
[INFO] [stdout] test codegen::accessibility::tests::test_contrast_ratio_black_white ... ok
[INFO] [stdout] test codegen::accessibility::tests::test_format_report_json ... ok
[INFO] [stdout] test codegen::accessibility::tests::test_format_report_text ... ok
[INFO] [stdout] test codegen::accessibility::tests::test_parse_hex_colour_3digit ... ok
[INFO] [stdout] test codegen::accessibility::tests::test_parse_hex_colour_6digit ... ok
[INFO] [stdout] test codegen::accessibility::tests::test_parse_hex_colour_invalid ... ok
[INFO] [stdout] test codegen::accessibility::tests::test_relative_luminance_black ... ok
[INFO] [stdout] test codegen::accessibility::tests::test_relative_luminance_white ... ok
[INFO] [stdout] test codegen::accessibility::tests::test_report_generation ... ok
[INFO] [stdout] test codegen::accessibility::tests::test_wcag_aa_contrast_check ... ok
[INFO] [stdout] test codegen::accessibility::tests::test_wcag_aa_contrast_fail ... ok
[INFO] [stdout] test codegen::accessibility::tests::test_wcag_large_text_relaxed ... ok
[INFO] [stdout] test codegen::consent::tests::test_capitalise ... ok
[INFO] [stdout] test codegen::consent::tests::test_generate_consent_manager_contains_categories ... ok
[INFO] [stdout] test codegen::consent::tests::test_sanitise_filename ... ok
[INFO] [stdout] test codegen::consent::tests::test_sanitise_identifier ... ok
[INFO] [stdout] test codegen::i18n::tests::test_escape_json ... ok
[INFO] [stdout] test codegen::i18n::tests::test_generate_keys_manifest_empty ... ok
[INFO] [stdout] test codegen::consent::tests::test_parse_default_state ... ok
[INFO] [stdout] test codegen::i18n::tests::test_generate_keys_manifest_with_strings ... ok
[INFO] [stdout] test codegen::parser::tests::test_consent_patterns_cover_all_categories ... ok
[INFO] [stdout] test codegen::parser::tests::test_extract_attribute_value ... ok
[INFO] [stdout] test codegen::parser::tests::test_extract_attribute_value_missing ... ok
[INFO] [stdout] test codegen::parser::tests::test_extract_html_text_content ... ok
[INFO] [stdout] test codegen::parser::tests::test_extract_html_text_content_multiple ... ok
[INFO] [stdout] test codegen::parser::tests::test_is_translatable_filters ... ok
[INFO] [stdout] test manifest::tests::test_default_locale_not_in_supported_fails ... ok
[INFO] [stdout] test manifest::tests::test_empty_project_name_fails ... ok
[INFO] [stdout] test manifest::tests::test_gdpr_with_opt_in_default_fails ... ok
[INFO] [stdout] test manifest::tests::test_invalid_wcag_level_fails ... ok
[INFO] [stdout] test manifest::tests::test_valid_manifest_passes_validation ... ok
[INFO] [stdout] test codegen::i18n::tests::test_locale_file_generation ... ok
[INFO] [stdout] test manifest::tests::test_parse_default_manifest ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 44 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/wokelangiser-7b695d50b70b36ce)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 44 tests
[INFO] [stdout] test abi::tests::test_compliance_report_pass_fail ... ok
[INFO] [stdout] test abi::tests::test_consent_category_parsing ... ok
[INFO] [stdout] test abi::tests::test_consent_state_allowed ... ok
[INFO] [stdout] test abi::tests::test_consent_state_transitions ... ok
[INFO] [stdout] test abi::tests::test_locale_parsing ... ok
[INFO] [stdout] test abi::tests::test_wcag_level_parsing ... ok
[INFO] [stdout] test abi::tests::test_wcag_contrast_ratios ... ok
[INFO] [stdout] test codegen::accessibility::tests::test_all_wcag_levels_contrast_thresholds ... ok
[INFO] [stdout] test codegen::accessibility::tests::test_contrast_ratio_same_colour ... ok
[INFO] [stdout] test codegen::accessibility::tests::test_contrast_ratio_symmetry ... ok
[INFO] [stdout] test codegen::accessibility::tests::test_contrast_ratio_black_white ... ok
[INFO] [stdout] test codegen::accessibility::tests::test_format_report_json ... ok
[INFO] [stdout] test codegen::accessibility::tests::test_format_report_text ... ok
[INFO] [stdout] test codegen::accessibility::tests::test_parse_hex_colour_3digit ... ok
[INFO] [stdout] test codegen::accessibility::tests::test_format_report_a2ml ... ok
[INFO] [stdout] test codegen::accessibility::tests::test_parse_hex_colour_6digit ... ok
[INFO] [stdout] test codegen::accessibility::tests::test_relative_luminance_black ... ok
[INFO] [stdout] test codegen::accessibility::tests::test_relative_luminance_white ... ok
[INFO] [stdout] test codegen::accessibility::tests::test_report_generation ... ok
[INFO] [stdout] test codegen::accessibility::tests::test_wcag_aa_contrast_check ... ok
[INFO] [stdout] test codegen::accessibility::tests::test_wcag_aa_contrast_fail ... ok
[INFO] [stdout] test codegen::accessibility::tests::test_wcag_large_text_relaxed ... ok
[INFO] [stdout] test codegen::consent::tests::test_generate_consent_manager_contains_categories ... ok
[INFO] [stdout] test codegen::consent::tests::test_parse_default_state ... ok
[INFO] [stdout] test codegen::consent::tests::test_sanitise_filename ... ok
[INFO] [stdout] test codegen::consent::tests::test_capitalise ... ok
[INFO] [stdout] test codegen::consent::tests::test_sanitise_identifier ... ok
[INFO] [stdout] test codegen::i18n::tests::test_escape_json ... ok
[INFO] [stdout] test codegen::i18n::tests::test_generate_keys_manifest_empty ... ok
[INFO] [stdout] test codegen::i18n::tests::test_generate_keys_manifest_with_strings ... ok
[INFO] [stdout] test codegen::parser::tests::test_consent_patterns_cover_all_categories ... ok
[INFO] [stdout] test codegen::accessibility::tests::test_parse_hex_colour_invalid ... ok
[INFO] [stdout] test codegen::parser::tests::test_extract_attribute_value ... ok
[INFO] [stdout] test codegen::parser::tests::test_extract_attribute_value_missing ... ok
[INFO] [stdout] test codegen::parser::tests::test_extract_html_text_content ... ok
[INFO] [stdout] test codegen::parser::tests::test_extract_html_text_content_multiple ... ok
[INFO] [stdout] test codegen::i18n::tests::test_locale_file_generation ... ok
[INFO] [stdout] test codegen::parser::tests::test_is_translatable_filters ... ok
[INFO] [stdout] test manifest::tests::test_default_locale_not_in_supported_fails ... ok
[INFO] [stdout] test manifest::tests::test_empty_project_name_fails ... ok
[INFO] [stdout] test manifest::tests::test_gdpr_with_opt_in_default_fails ... ok
[INFO] [stdout] test manifest::tests::test_invalid_wcag_level_fails ... ok
[INFO] [stdout] test manifest::tests::test_valid_manifest_passes_validation ... ok
[INFO] [stdout] test manifest::tests::test_parse_default_manifest ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 44 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/integration_test.rs (/opt/rustwide/target/debug/deps/integration_test-4b437e84664ead76)
[INFO] [stdout] 
[INFO] [stdout] running 10 tests
[INFO] [stdout] test test_all_wcag_levels ... ok
[INFO] [stdout] test test_consent_category_custom ... ok
[INFO] [stdout] test test_locale_region_parsing ... ok
[INFO] [stdout] test test_compliance_report_summary ... ok
[INFO] [stdout] test test_consent_state_machine ... ok
[INFO] [stdout] test test_wcag_contrast_check ... ok
[INFO] [stdout] test test_manifest_gdpr_opt_in_rejected ... ok
[INFO] [stdout] test test_i18n_string_extraction ... ok
[INFO] [stdout] test test_init_creates_manifest ... ok
[INFO] [stdout] test test_generate_produces_consent_gates ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 10 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests wokelangiser
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "7bd9d5a57c0e0e0a3805bd5a6d8a6a61f9001e0f5ff83e8ddac8f114e5adc0cc", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "7bd9d5a57c0e0e0a3805bd5a6d8a6a61f9001e0f5ff83e8ddac8f114e5adc0cc", kill_on_drop: false }`
[INFO] [stdout] 7bd9d5a57c0e0e0a3805bd5a6d8a6a61f9001e0f5ff83e8ddac8f114e5adc0cc
