[INFO] fetching crate knightrs 0.8.12...
[INFO] testing knightrs-0.8.12 against try#c2e32f1c9652b13ed99608599c1e855462f421f3 for pr-146098-7
[INFO] extracting crate knightrs 0.8.12 into /workspace/builds/worker-2-tc2/source
[INFO] started tweaking crates.io crate knightrs 0.8.12
[INFO] finished tweaking crates.io crate knightrs 0.8.12
[INFO] tweaked toml for crates.io crate knightrs 0.8.12 written to /workspace/builds/worker-2-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate knightrs 0.8.12 on toolchain c2e32f1c9652b13ed99608599c1e855462f421f3
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate knightrs 0.8.12 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" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] c418896b395e1c8e6ac5c06cd4e8fd0bb7a1348ddfa7556d1b65edbbf7f8fea3
[INFO] running `Command { std: "docker" "start" "-a" "c418896b395e1c8e6ac5c06cd4e8fd0bb7a1348ddfa7556d1b65edbbf7f8fea3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "c418896b395e1c8e6ac5c06cd4e8fd0bb7a1348ddfa7556d1b65edbbf7f8fea3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c418896b395e1c8e6ac5c06cd4e8fd0bb7a1348ddfa7556d1b65edbbf7f8fea3", kill_on_drop: false }`
[INFO] [stdout] c418896b395e1c8e6ac5c06cd4e8fd0bb7a1348ddfa7556d1b65edbbf7f8fea3
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] fa3877d9ac6bada8ab917afdafbb63796fb2ce89d6ebf350bda38a12b354f7ab
[INFO] running `Command { std: "docker" "start" "-a" "fa3877d9ac6bada8ab917afdafbb63796fb2ce89d6ebf350bda38a12b354f7ab", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.91
[INFO] [stderr]    Compiling getrandom v0.2.2
[INFO] [stderr]    Compiling ppv-lite86 v0.2.10
[INFO] [stderr]    Compiling once_cell v1.7.2
[INFO] [stderr]    Compiling rand_core v0.6.2
[INFO] [stderr]    Compiling rand_chacha v0.3.0
[INFO] [stderr]    Compiling rand v0.8.3
[INFO] [stderr]    Compiling knightrs v0.8.12 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unexpected `cfg` condition name: `Feature`
[INFO] [stdout]    --> src/function.rs:151:9
[INFO] [stdout]     |
[INFO] [stdout] 151 |         #[cfg(Feature="variable-lookup")]
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]     = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout] help: there is a config with a similar name and value (notice the capitalization)
[INFO] [stdout]     |
[INFO] [stdout] 151 -         #[cfg(Feature="variable-lookup")]
[INFO] [stdout] 151 +         #[cfg(feature="variable-lookup")]
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]   --> src/text.rs:51:12
[INFO] [stdout]    |
[INFO] [stdout] 51 |         unsafe { &EMPTY }.get_or_init(|| unsafe { Self::new_unchecked("") }).clone()
[INFO] [stdout]    |                  ^^^^^^ shared reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]    = note: `#[warn(static_mut_refs)]` (part of `#[warn(rust_2024_compatibility)]`) on by default
[INFO] [stdout] help: use `&raw const` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 51 |         unsafe { &raw const EMPTY }.get_or_init(|| unsafe { Self::new_unchecked("") }).clone()
[INFO] [stdout]    |                   +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/value.rs:108:30
[INFO] [stdout]     |
[INFO] [stdout] 108 |             Value::Null => Ok(unsafe {&NULL}.get_or_init(|| unsafe { Self::new_unchecked("null") }).clone()),
[INFO] [stdout]     |                                       ^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] help: use `&raw const` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 108 |             Value::Null => Ok(unsafe {&raw const NULL}.get_or_init(|| unsafe { Self::new_unchecked("null") }).clone()),
[INFO] [stdout]     |                                        +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/value.rs:109:39
[INFO] [stdout]     |
[INFO] [stdout] 109 |             Value::Boolean(true) => Ok(unsafe {&TRUE}.get_or_init(|| unsafe { Self::new_unchecked("true") }).clone()),
[INFO] [stdout]     |                                                ^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] help: use `&raw const` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 109 |             Value::Boolean(true) => Ok(unsafe {&raw const TRUE}.get_or_init(|| unsafe { Self::new_unchecked("true") }).clone()),
[INFO] [stdout]     |                                                 +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/value.rs:110:40
[INFO] [stdout]     |
[INFO] [stdout] 110 |             Value::Boolean(false) => Ok(unsafe {&FALSE}.get_or_init(|| unsafe { Self::new_unchecked("false") }).clone()),
[INFO] [stdout]     |                                                 ^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] help: use `&raw const` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 110 |             Value::Boolean(false) => Ok(unsafe {&raw const FALSE}.get_or_init(|| unsafe { Self::new_unchecked("false") }).clone()),
[INFO] [stdout]     |                                                  +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/value.rs:111:35
[INFO] [stdout]     |
[INFO] [stdout] 111 |             Value::Number(0) => Ok(unsafe {&ZERO}.get_or_init(|| unsafe { Self::new_unchecked("0") }).clone()),
[INFO] [stdout]     |                                            ^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] help: use `&raw const` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 111 |             Value::Number(0) => Ok(unsafe {&raw const ZERO}.get_or_init(|| unsafe { Self::new_unchecked("0") }).clone()),
[INFO] [stdout]     |                                             +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/value.rs:112:35
[INFO] [stdout]     |
[INFO] [stdout] 112 |             Value::Number(1) => Ok(unsafe {&ONE}.get_or_init(|| unsafe { Self::new_unchecked("1") }).clone()),
[INFO] [stdout]     |                                            ^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] help: use `&raw const` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 112 |             Value::Number(1) => Ok(unsafe {&raw const ONE}.get_or_init(|| unsafe { Self::new_unchecked("1") }).clone()),
[INFO] [stdout]     |                                             +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 3.84s
[INFO] running `Command { std: "docker" "inspect" "fa3877d9ac6bada8ab917afdafbb63796fb2ce89d6ebf350bda38a12b354f7ab", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "fa3877d9ac6bada8ab917afdafbb63796fb2ce89d6ebf350bda38a12b354f7ab", kill_on_drop: false }`
[INFO] [stdout] fa3877d9ac6bada8ab917afdafbb63796fb2ce89d6ebf350bda38a12b354f7ab
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 578f3e9086a4f954107e294bd9beb9c0d0176eebe217d9a11fb2ac65022d57c8
[INFO] running `Command { std: "docker" "start" "-a" "578f3e9086a4f954107e294bd9beb9c0d0176eebe217d9a11fb2ac65022d57c8", kill_on_drop: false }`
[INFO] [stderr]    Compiling knightrs v0.8.12 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unexpected `cfg` condition name: `Feature`
[INFO] [stdout]    --> src/function.rs:151:9
[INFO] [stdout]     |
[INFO] [stdout] 151 |         #[cfg(Feature="variable-lookup")]
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]     = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout] help: there is a config with a similar name and value (notice the capitalization)
[INFO] [stdout]     |
[INFO] [stdout] 151 -         #[cfg(Feature="variable-lookup")]
[INFO] [stdout] 151 +         #[cfg(feature="variable-lookup")]
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]   --> src/text.rs:51:12
[INFO] [stdout]    |
[INFO] [stdout] 51 |         unsafe { &EMPTY }.get_or_init(|| unsafe { Self::new_unchecked("") }).clone()
[INFO] [stdout]    |                  ^^^^^^ shared reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]    = note: `#[warn(static_mut_refs)]` (part of `#[warn(rust_2024_compatibility)]`) on by default
[INFO] [stdout] help: use `&raw const` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 51 |         unsafe { &raw const EMPTY }.get_or_init(|| unsafe { Self::new_unchecked("") }).clone()
[INFO] [stdout]    |                   +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/value.rs:108:30
[INFO] [stdout]     |
[INFO] [stdout] 108 |             Value::Null => Ok(unsafe {&NULL}.get_or_init(|| unsafe { Self::new_unchecked("null") }).clone()),
[INFO] [stdout]     |                                       ^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] help: use `&raw const` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 108 |             Value::Null => Ok(unsafe {&raw const NULL}.get_or_init(|| unsafe { Self::new_unchecked("null") }).clone()),
[INFO] [stdout]     |                                        +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/value.rs:109:39
[INFO] [stdout]     |
[INFO] [stdout] 109 |             Value::Boolean(true) => Ok(unsafe {&TRUE}.get_or_init(|| unsafe { Self::new_unchecked("true") }).clone()),
[INFO] [stdout]     |                                                ^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] help: use `&raw const` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 109 |             Value::Boolean(true) => Ok(unsafe {&raw const TRUE}.get_or_init(|| unsafe { Self::new_unchecked("true") }).clone()),
[INFO] [stdout]     |                                                 +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/value.rs:110:40
[INFO] [stdout]     |
[INFO] [stdout] 110 |             Value::Boolean(false) => Ok(unsafe {&FALSE}.get_or_init(|| unsafe { Self::new_unchecked("false") }).clone()),
[INFO] [stdout]     |                                                 ^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] help: use `&raw const` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 110 |             Value::Boolean(false) => Ok(unsafe {&raw const FALSE}.get_or_init(|| unsafe { Self::new_unchecked("false") }).clone()),
[INFO] [stdout]     |                                                  +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/value.rs:111:35
[INFO] [stdout]     |
[INFO] [stdout] 111 |             Value::Number(0) => Ok(unsafe {&ZERO}.get_or_init(|| unsafe { Self::new_unchecked("0") }).clone()),
[INFO] [stdout]     |                                            ^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] help: use `&raw const` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 111 |             Value::Number(0) => Ok(unsafe {&raw const ZERO}.get_or_init(|| unsafe { Self::new_unchecked("0") }).clone()),
[INFO] [stdout]     |                                             +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/value.rs:112:35
[INFO] [stdout]     |
[INFO] [stdout] 112 |             Value::Number(1) => Ok(unsafe {&ONE}.get_or_init(|| unsafe { Self::new_unchecked("1") }).clone()),
[INFO] [stdout]     |                                            ^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] help: use `&raw const` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 112 |             Value::Number(1) => Ok(unsafe {&raw const ONE}.get_or_init(|| unsafe { Self::new_unchecked("1") }).clone()),
[INFO] [stdout]     |                                             +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `Feature`
[INFO] [stdout]    --> src/function.rs:151:9
[INFO] [stdout]     |
[INFO] [stdout] 151 |         #[cfg(Feature="variable-lookup")]
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]     = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout] help: there is a config with a similar name and value (notice the capitalization)
[INFO] [stdout]     |
[INFO] [stdout] 151 -         #[cfg(Feature="variable-lookup")]
[INFO] [stdout] 151 +         #[cfg(feature="variable-lookup")]
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]   --> src/text.rs:51:12
[INFO] [stdout]    |
[INFO] [stdout] 51 |         unsafe { &EMPTY }.get_or_init(|| unsafe { Self::new_unchecked("") }).clone()
[INFO] [stdout]    |                  ^^^^^^ shared reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]    = note: `#[warn(static_mut_refs)]` (part of `#[warn(rust_2024_compatibility)]`) on by default
[INFO] [stdout] help: use `&raw const` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 51 |         unsafe { &raw const EMPTY }.get_or_init(|| unsafe { Self::new_unchecked("") }).clone()
[INFO] [stdout]    |                   +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/value.rs:108:30
[INFO] [stdout]     |
[INFO] [stdout] 108 |             Value::Null => Ok(unsafe {&NULL}.get_or_init(|| unsafe { Self::new_unchecked("null") }).clone()),
[INFO] [stdout]     |                                       ^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] help: use `&raw const` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 108 |             Value::Null => Ok(unsafe {&raw const NULL}.get_or_init(|| unsafe { Self::new_unchecked("null") }).clone()),
[INFO] [stdout]     |                                        +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/value.rs:109:39
[INFO] [stdout]     |
[INFO] [stdout] 109 |             Value::Boolean(true) => Ok(unsafe {&TRUE}.get_or_init(|| unsafe { Self::new_unchecked("true") }).clone()),
[INFO] [stdout]     |                                                ^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] help: use `&raw const` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 109 |             Value::Boolean(true) => Ok(unsafe {&raw const TRUE}.get_or_init(|| unsafe { Self::new_unchecked("true") }).clone()),
[INFO] [stdout]     |                                                 +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/value.rs:110:40
[INFO] [stdout]     |
[INFO] [stdout] 110 |             Value::Boolean(false) => Ok(unsafe {&FALSE}.get_or_init(|| unsafe { Self::new_unchecked("false") }).clone()),
[INFO] [stdout]     |                                                 ^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] help: use `&raw const` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 110 |             Value::Boolean(false) => Ok(unsafe {&raw const FALSE}.get_or_init(|| unsafe { Self::new_unchecked("false") }).clone()),
[INFO] [stdout]     |                                                  +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/value.rs:111:35
[INFO] [stdout]     |
[INFO] [stdout] 111 |             Value::Number(0) => Ok(unsafe {&ZERO}.get_or_init(|| unsafe { Self::new_unchecked("0") }).clone()),
[INFO] [stdout]     |                                            ^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] help: use `&raw const` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 111 |             Value::Number(0) => Ok(unsafe {&raw const ZERO}.get_or_init(|| unsafe { Self::new_unchecked("0") }).clone()),
[INFO] [stdout]     |                                             +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/value.rs:112:35
[INFO] [stdout]     |
[INFO] [stdout] 112 |             Value::Number(1) => Ok(unsafe {&ONE}.get_or_init(|| unsafe { Self::new_unchecked("1") }).clone()),
[INFO] [stdout]     |                                            ^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] help: use `&raw const` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 112 |             Value::Number(1) => Ok(unsafe {&raw const ONE}.get_or_init(|| unsafe { Self::new_unchecked("1") }).clone()),
[INFO] [stdout]     |                                             +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.79s
[INFO] running `Command { std: "docker" "inspect" "578f3e9086a4f954107e294bd9beb9c0d0176eebe217d9a11fb2ac65022d57c8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "578f3e9086a4f954107e294bd9beb9c0d0176eebe217d9a11fb2ac65022d57c8", kill_on_drop: false }`
[INFO] [stdout] 578f3e9086a4f954107e294bd9beb9c0d0176eebe217d9a11fb2ac65022d57c8
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] cd20b9bc109230e420219c684f0701df1dd4e37073dde5fe5b4a49cd9ceefb8b
[INFO] running `Command { std: "docker" "start" "-a" "cd20b9bc109230e420219c684f0701df1dd4e37073dde5fe5b4a49cd9ceefb8b", kill_on_drop: false }`
[INFO] [stderr] warning: unexpected `cfg` condition name: `Feature`
[INFO] [stderr]    --> src/function.rs:151:9
[INFO] [stderr]     |
[INFO] [stderr] 151 |         #[cfg(Feature="variable-lookup")]
[INFO] [stderr]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stderr]     = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stderr] help: there is a config with a similar name and value (notice the capitalization)
[INFO] [stderr]     |
[INFO] [stderr] 151 -         #[cfg(Feature="variable-lookup")]
[INFO] [stderr] 151 +         #[cfg(feature="variable-lookup")]
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: creating a shared reference to mutable static
[INFO] [stderr]   --> src/text.rs:51:12
[INFO] [stderr]    |
[INFO] [stderr] 51 |         unsafe { &EMPTY }.get_or_init(|| unsafe { Self::new_unchecked("") }).clone()
[INFO] [stderr]    |                  ^^^^^^ shared reference to mutable static
[INFO] [stderr]    |
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stderr]    = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stderr]    = note: `#[warn(static_mut_refs)]` (part of `#[warn(rust_2024_compatibility)]`) on by default
[INFO] [stderr] help: use `&raw const` instead to create a raw pointer
[INFO] [stderr]    |
[INFO] [stderr] 51 |         unsafe { &raw const EMPTY }.get_or_init(|| unsafe { Self::new_unchecked("") }).clone()
[INFO] [stderr]    |                   +++++++++
[INFO] [stderr] 
[INFO] [stderr] warning: creating a shared reference to mutable static
[INFO] [stderr]    --> src/value.rs:108:30
[INFO] [stderr]     |
[INFO] [stderr] 108 |             Value::Null => Ok(unsafe {&NULL}.get_or_init(|| unsafe { Self::new_unchecked("null") }).clone()),
[INFO] [stderr]     |                                       ^^^^^ shared reference to mutable static
[INFO] [stderr]     |
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stderr]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stderr] help: use `&raw const` instead to create a raw pointer
[INFO] [stderr]     |
[INFO] [stderr] 108 |             Value::Null => Ok(unsafe {&raw const NULL}.get_or_init(|| unsafe { Self::new_unchecked("null") }).clone()),
[INFO] [stderr]     |                                        +++++++++
[INFO] [stderr] 
[INFO] [stderr] warning: creating a shared reference to mutable static
[INFO] [stderr]    --> src/value.rs:109:39
[INFO] [stderr]     |
[INFO] [stderr] 109 |             Value::Boolean(true) => Ok(unsafe {&TRUE}.get_or_init(|| unsafe { Self::new_unchecked("true") }).clone()),
[INFO] [stderr]     |                                                ^^^^^ shared reference to mutable static
[INFO] [stderr]     |
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stderr]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stderr] help: use `&raw const` instead to create a raw pointer
[INFO] [stderr]     |
[INFO] [stderr] 109 |             Value::Boolean(true) => Ok(unsafe {&raw const TRUE}.get_or_init(|| unsafe { Self::new_unchecked("true") }).clone()),
[INFO] [stderr]     |                                                 +++++++++
[INFO] [stderr] 
[INFO] [stderr] warning: creating a shared reference to mutable static
[INFO] [stderr]    --> src/value.rs:110:40
[INFO] [stderr]     |
[INFO] [stderr] 110 |             Value::Boolean(false) => Ok(unsafe {&FALSE}.get_or_init(|| unsafe { Self::new_unchecked("false") }).clone()),
[INFO] [stderr]     |                                                 ^^^^^^ shared reference to mutable static
[INFO] [stderr]     |
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stderr]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stderr] help: use `&raw const` instead to create a raw pointer
[INFO] [stderr]     |
[INFO] [stderr] 110 |             Value::Boolean(false) => Ok(unsafe {&raw const FALSE}.get_or_init(|| unsafe { Self::new_unchecked("false") }).clone()),
[INFO] [stderr]     |                                                  +++++++++
[INFO] [stderr] 
[INFO] [stderr] warning: creating a shared reference to mutable static
[INFO] [stderr]    --> src/value.rs:111:35
[INFO] [stderr]     |
[INFO] [stderr] 111 |             Value::Number(0) => Ok(unsafe {&ZERO}.get_or_init(|| unsafe { Self::new_unchecked("0") }).clone()),
[INFO] [stderr]     |                                            ^^^^^ shared reference to mutable static
[INFO] [stderr]     |
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stderr]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stderr] help: use `&raw const` instead to create a raw pointer
[INFO] [stderr]     |
[INFO] [stderr] 111 |             Value::Number(0) => Ok(unsafe {&raw const ZERO}.get_or_init(|| unsafe { Self::new_unchecked("0") }).clone()),
[INFO] [stderr]     |                                             +++++++++
[INFO] [stderr] 
[INFO] [stderr] warning: creating a shared reference to mutable static
[INFO] [stderr]    --> src/value.rs:112:35
[INFO] [stderr]     |
[INFO] [stderr] 112 |             Value::Number(1) => Ok(unsafe {&ONE}.get_or_init(|| unsafe { Self::new_unchecked("1") }).clone()),
[INFO] [stderr]     |                                            ^^^^ shared reference to mutable static
[INFO] [stderr]     |
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stderr]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stderr] help: use `&raw const` instead to create a raw pointer
[INFO] [stderr]     |
[INFO] [stderr] 112 |             Value::Number(1) => Ok(unsafe {&raw const ONE}.get_or_init(|| unsafe { Self::new_unchecked("1") }).clone()),
[INFO] [stderr]     |                                             +++++++++
[INFO] [stderr] 
[INFO] [stderr] warning: `knightrs` (lib) generated 7 warnings
[INFO] [stderr] warning: `knightrs` (lib test) generated 7 warnings (7 duplicates)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.04s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/knightrs-69419da9e9fd79f2)
[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] [stderr]    Doc-tests knightrs
[INFO] [stdout] 
[INFO] [stdout] running 9 tests
[INFO] [stdout] test src/environment/variable.rs - environment::variable::Variable::name (line 68) ... ok
[INFO] [stdout] test src/environment.rs - environment::Environment<'i,'o,'c>::new (line 73) ... ok
[INFO] [stdout] test src/environment.rs - environment::Environment<'i,'o,'c>::system (line 131) ... ok
[INFO] [stdout] test src/environment.rs - environment::Environment<'i,'o,'c>::builder (line 89) ... ok
[INFO] [stdout] test src/environment.rs - environment::Environment (line 27) - compile ... ok
[INFO] [stdout] test src/environment/variable.rs - environment::variable::Variable::is_assigned (line 83) ... ok
[INFO] [stdout] test src/environment.rs - environment::Environment<'i,'o,'c>::get (line 106) ... ok
[INFO] [stdout] test src/environment/variable.rs - environment::variable::Variable::fetch (line 126) ... ok
[INFO] [stdout] test src/environment/variable.rs - environment::variable::Variable::assign (line 106) ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 9 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.84s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "cd20b9bc109230e420219c684f0701df1dd4e37073dde5fe5b4a49cd9ceefb8b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "cd20b9bc109230e420219c684f0701df1dd4e37073dde5fe5b4a49cd9ceefb8b", kill_on_drop: false }`
[INFO] [stdout] cd20b9bc109230e420219c684f0701df1dd4e37073dde5fe5b4a49cd9ceefb8b
