[INFO] fetching crate burning-sanders 0.1.0...
[INFO] checking burning-sanders-0.1.0 against master#b0696a5160711c068cb1f01b7437db7990d15750 for pr-121848
[INFO] extracting crate burning-sanders 0.1.0 into /workspace/builds/worker-5-tc1/source
[INFO] validating manifest of crates.io crate burning-sanders 0.1.0 on toolchain b0696a5160711c068cb1f01b7437db7990d15750
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b0696a5160711c068cb1f01b7437db7990d15750" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate burning-sanders 0.1.0
[INFO] finished tweaking crates.io crate burning-sanders 0.1.0
[INFO] tweaked toml for crates.io crate burning-sanders 0.1.0 written to /workspace/builds/worker-5-tc1/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b0696a5160711c068cb1f01b7437db7990d15750" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b0696a5160711c068cb1f01b7437db7990d15750" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: An explicit [[bin]] section is specified in Cargo.toml which currently
[INFO] [stderr] disables Cargo from automatically inferring other binary targets.
[INFO] [stderr] This inference behavior will change in the Rust 2018 edition and the following
[INFO] [stderr] files will be included as a binary target:
[INFO] [stderr] 
[INFO] [stderr] * /workspace/builds/worker-5-tc1/source/src/main.rs
[INFO] [stderr] 
[INFO] [stderr] This is likely to break cargo build or cargo test as these files may not be
[INFO] [stderr] ready to be compiled as a binary target today. You can future-proof yourself
[INFO] [stderr] and disable this warning by adding `autobins = false` to your [package]
[INFO] [stderr] section. You may also move the files to a location where Cargo would not
[INFO] [stderr] automatically infer them to be a target, such as in subfolders.
[INFO] [stderr] 
[INFO] [stderr] For more information on this warning you can consult
[INFO] [stderr] https://github.com/rust-lang/cargo/issues/5330
[INFO] [stderr] warning: path `/workspace/builds/worker-5-tc1/source/src/main.rs` was erroneously implicitly accepted for binary `sdr`,
[INFO] [stderr] please set bin.path in Cargo.toml
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded ncurses v5.101.0
[INFO] [stderr]   Downloaded pdcurses-sys v0.4.0
[INFO] [stderr]   Downloaded pancurses v0.8.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+b0696a5160711c068cb1f01b7437db7990d15750" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 64b1aac42cf6a5df122e47e14046b992b34a49acca293e0ba765cc52fa030ed9
[INFO] running `Command { std: "docker" "start" "-a" "64b1aac42cf6a5df122e47e14046b992b34a49acca293e0ba765cc52fa030ed9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "64b1aac42cf6a5df122e47e14046b992b34a49acca293e0ba765cc52fa030ed9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "64b1aac42cf6a5df122e47e14046b992b34a49acca293e0ba765cc52fa030ed9", kill_on_drop: false }`
[INFO] [stdout] 64b1aac42cf6a5df122e47e14046b992b34a49acca293e0ba765cc52fa030ed9
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+b0696a5160711c068cb1f01b7437db7990d15750" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 1af1574017a057e051f2859b56590147549eb5dd830d1a215f6c06d1629c17a2
[INFO] running `Command { std: "docker" "start" "-a" "1af1574017a057e051f2859b56590147549eb5dd830d1a215f6c06d1629c17a2", kill_on_drop: false }`
[INFO] [stderr] warning: An explicit [[bin]] section is specified in Cargo.toml which currently
[INFO] [stderr] disables Cargo from automatically inferring other binary targets.
[INFO] [stderr] This inference behavior will change in the Rust 2018 edition and the following
[INFO] [stderr] files will be included as a binary target:
[INFO] [stderr] 
[INFO] [stderr] * /opt/rustwide/workdir/src/main.rs
[INFO] [stderr] 
[INFO] [stderr] This is likely to break cargo build or cargo test as these files may not be
[INFO] [stderr] ready to be compiled as a binary target today. You can future-proof yourself
[INFO] [stderr] and disable this warning by adding `autobins = false` to your [package]
[INFO] [stderr] section. You may also move the files to a location where Cargo would not
[INFO] [stderr] automatically infer them to be a target, such as in subfolders.
[INFO] [stderr] 
[INFO] [stderr] For more information on this warning you can consult
[INFO] [stderr] https://github.com/rust-lang/cargo/issues/5330
[INFO] [stderr] warning: path `/opt/rustwide/workdir/src/main.rs` was erroneously implicitly accepted for binary `sdr`,
[INFO] [stderr] please set bin.path in Cargo.toml
[INFO] [stderr]    Compiling ncurses v5.101.0
[INFO] [stderr]     Checking pancurses v0.8.0
[INFO] [stderr]     Checking burning-sanders v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]   --> src/main.rs:32:34
[INFO] [stdout]    |
[INFO] [stdout] 32 |         choices.push(input.trim().clone().to_string());
[INFO] [stdout]    |                                  ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]    |
[INFO] [stdout]    = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout]    = note: `#[warn(noop_method_call)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]   --> src/main.rs:32:34
[INFO] [stdout]    |
[INFO] [stdout] 32 |         choices.push(input.trim().clone().to_string());
[INFO] [stdout]    |                                  ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]    |
[INFO] [stdout]    = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout]    = note: `#[warn(noop_method_call)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: getting the inner pointer of a temporary `CString`
[INFO] [stdout]   --> src/main.rs:42:41
[INFO] [stdout]    |
[INFO] [stdout] 42 |       CString::new("/dev/tty").unwrap().as_ptr(),
[INFO] [stdout]    |       --------------------------------- ^^^^^^ this pointer will be invalid
[INFO] [stdout]    |       |
[INFO] [stdout]    |       this `CString` is deallocated at the end of the statement, bind it to a variable to extend its lifetime
[INFO] [stdout]    |
[INFO] [stdout]    = note: pointers do not have a lifetime; when calling `as_ptr` the `CString` will be deallocated at the end of the statement because nothing is referencing it as far as the type system is concerned
[INFO] [stdout]    = help: for more information, see https://doc.rust-lang.org/reference/destructors.html
[INFO] [stdout]    = note: `#[warn(temporary_cstring_as_ptr)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: getting the inner pointer of a temporary `CString`
[INFO] [stdout]   --> src/main.rs:43:35
[INFO] [stdout]    |
[INFO] [stdout] 43 |       CString::new("r+").unwrap().as_ptr()
[INFO] [stdout]    |       --------------------------- ^^^^^^ this pointer will be invalid
[INFO] [stdout]    |       |
[INFO] [stdout]    |       this `CString` is deallocated at the end of the statement, bind it to a variable to extend its lifetime
[INFO] [stdout]    |
[INFO] [stdout]    = note: pointers do not have a lifetime; when calling `as_ptr` the `CString` will be deallocated at the end of the statement because nothing is referencing it as far as the type system is concerned
[INFO] [stdout]    = help: for more information, see https://doc.rust-lang.org/reference/destructors.html
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: this method call resolves to `<&[T; N] as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to <[T; N] as IntoIterator>::into_iter in Rust 2021
[INFO] [stdout]   --> src/main.rs:59:33
[INFO] [stdout]    |
[INFO] [stdout] 59 |   for (i, color) in COLOR_TABLE.into_iter().enumerate() {
[INFO] [stdout]    |                                 ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2021
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/IntoIterator-for-arrays.html>
[INFO] [stdout]    = note: `#[warn(array_into_iter)]` on by default
[INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity
[INFO] [stdout]    |
[INFO] [stdout] 59 |   for (i, color) in COLOR_TABLE.iter().enumerate() {
[INFO] [stdout]    |                                 ~~~~
[INFO] [stdout] help: or use `IntoIterator::into_iter(..)` instead of `.into_iter()` to explicitly iterate by value
[INFO] [stdout]    |
[INFO] [stdout] 59 |   for (i, color) in IntoIterator::into_iter(COLOR_TABLE).enumerate() {
[INFO] [stdout]    |                     ++++++++++++++++++++++++           ~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: getting the inner pointer of a temporary `CString`
[INFO] [stdout]   --> src/main.rs:42:41
[INFO] [stdout]    |
[INFO] [stdout] 42 |       CString::new("/dev/tty").unwrap().as_ptr(),
[INFO] [stdout]    |       --------------------------------- ^^^^^^ this pointer will be invalid
[INFO] [stdout]    |       |
[INFO] [stdout]    |       this `CString` is deallocated at the end of the statement, bind it to a variable to extend its lifetime
[INFO] [stdout]    |
[INFO] [stdout]    = note: pointers do not have a lifetime; when calling `as_ptr` the `CString` will be deallocated at the end of the statement because nothing is referencing it as far as the type system is concerned
[INFO] [stdout]    = help: for more information, see https://doc.rust-lang.org/reference/destructors.html
[INFO] [stdout]    = note: `#[warn(temporary_cstring_as_ptr)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: getting the inner pointer of a temporary `CString`
[INFO] [stdout]   --> src/main.rs:43:35
[INFO] [stdout]    |
[INFO] [stdout] 43 |       CString::new("r+").unwrap().as_ptr()
[INFO] [stdout]    |       --------------------------- ^^^^^^ this pointer will be invalid
[INFO] [stdout]    |       |
[INFO] [stdout]    |       this `CString` is deallocated at the end of the statement, bind it to a variable to extend its lifetime
[INFO] [stdout]    |
[INFO] [stdout]    = note: pointers do not have a lifetime; when calling `as_ptr` the `CString` will be deallocated at the end of the statement because nothing is referencing it as far as the type system is concerned
[INFO] [stdout]    = help: for more information, see https://doc.rust-lang.org/reference/destructors.html
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: this method call resolves to `<&[T; N] as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to <[T; N] as IntoIterator>::into_iter in Rust 2021
[INFO] [stdout]   --> src/main.rs:59:33
[INFO] [stdout]    |
[INFO] [stdout] 59 |   for (i, color) in COLOR_TABLE.into_iter().enumerate() {
[INFO] [stdout]    |                                 ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2021
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/IntoIterator-for-arrays.html>
[INFO] [stdout]    = note: `#[warn(array_into_iter)]` on by default
[INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity
[INFO] [stdout]    |
[INFO] [stdout] 59 |   for (i, color) in COLOR_TABLE.iter().enumerate() {
[INFO] [stdout]    |                                 ~~~~
[INFO] [stdout] help: or use `IntoIterator::into_iter(..)` instead of `.into_iter()` to explicitly iterate by value
[INFO] [stdout]    |
[INFO] [stdout] 59 |   for (i, color) in IntoIterator::into_iter(COLOR_TABLE).enumerate() {
[INFO] [stdout]    |                     ++++++++++++++++++++++++           ~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 4 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 4 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1.05s
[INFO] running `Command { std: "docker" "inspect" "1af1574017a057e051f2859b56590147549eb5dd830d1a215f6c06d1629c17a2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "1af1574017a057e051f2859b56590147549eb5dd830d1a215f6c06d1629c17a2", kill_on_drop: false }`
[INFO] [stdout] 1af1574017a057e051f2859b56590147549eb5dd830d1a215f6c06d1629c17a2
[INFO] checking burning-sanders-0.1.0 against try#bfe97fcae016881ad333f0ff8cea2cadb9cf136c for pr-121848
[INFO] extracting crate burning-sanders 0.1.0 into /workspace/builds/worker-5-tc2/source
[INFO] validating manifest of crates.io crate burning-sanders 0.1.0 on toolchain bfe97fcae016881ad333f0ff8cea2cadb9cf136c
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+bfe97fcae016881ad333f0ff8cea2cadb9cf136c" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate burning-sanders 0.1.0
[INFO] finished tweaking crates.io crate burning-sanders 0.1.0
[INFO] tweaked toml for crates.io crate burning-sanders 0.1.0 written to /workspace/builds/worker-5-tc2/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+bfe97fcae016881ad333f0ff8cea2cadb9cf136c" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+bfe97fcae016881ad333f0ff8cea2cadb9cf136c" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: An explicit [[bin]] section is specified in Cargo.toml which currently
[INFO] [stderr] disables Cargo from automatically inferring other binary targets.
[INFO] [stderr] This inference behavior will change in the Rust 2018 edition and the following
[INFO] [stderr] files will be included as a binary target:
[INFO] [stderr] 
[INFO] [stderr] * /workspace/builds/worker-5-tc2/source/src/main.rs
[INFO] [stderr] 
[INFO] [stderr] This is likely to break cargo build or cargo test as these files may not be
[INFO] [stderr] ready to be compiled as a binary target today. You can future-proof yourself
[INFO] [stderr] and disable this warning by adding `autobins = false` to your [package]
[INFO] [stderr] section. You may also move the files to a location where Cargo would not
[INFO] [stderr] automatically infer them to be a target, such as in subfolders.
[INFO] [stderr] 
[INFO] [stderr] For more information on this warning you can consult
[INFO] [stderr] https://github.com/rust-lang/cargo/issues/5330
[INFO] [stderr] warning: path `/workspace/builds/worker-5-tc2/source/src/main.rs` was erroneously implicitly accepted for binary `sdr`,
[INFO] [stderr] please set bin.path in Cargo.toml
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+bfe97fcae016881ad333f0ff8cea2cadb9cf136c" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 474d049c3f6c3cc13e1219f9b479b67884257acac9b07b4782f4852915d8f79a
[INFO] running `Command { std: "docker" "start" "-a" "474d049c3f6c3cc13e1219f9b479b67884257acac9b07b4782f4852915d8f79a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "474d049c3f6c3cc13e1219f9b479b67884257acac9b07b4782f4852915d8f79a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "474d049c3f6c3cc13e1219f9b479b67884257acac9b07b4782f4852915d8f79a", kill_on_drop: false }`
[INFO] [stdout] 474d049c3f6c3cc13e1219f9b479b67884257acac9b07b4782f4852915d8f79a
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+bfe97fcae016881ad333f0ff8cea2cadb9cf136c" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 7475c21d279312208aebe75a3ab89c4e20181e09b7537e11395b0dbb76c294c1
[INFO] running `Command { std: "docker" "start" "-a" "7475c21d279312208aebe75a3ab89c4e20181e09b7537e11395b0dbb76c294c1", kill_on_drop: false }`
[INFO] [stderr] warning: An explicit [[bin]] section is specified in Cargo.toml which currently
[INFO] [stderr] disables Cargo from automatically inferring other binary targets.
[INFO] [stderr] This inference behavior will change in the Rust 2018 edition and the following
[INFO] [stderr] files will be included as a binary target:
[INFO] [stderr] 
[INFO] [stderr] * /opt/rustwide/workdir/src/main.rs
[INFO] [stderr] 
[INFO] [stderr] This is likely to break cargo build or cargo test as these files may not be
[INFO] [stderr] ready to be compiled as a binary target today. You can future-proof yourself
[INFO] [stderr] and disable this warning by adding `autobins = false` to your [package]
[INFO] [stderr] section. You may also move the files to a location where Cargo would not
[INFO] [stderr] automatically infer them to be a target, such as in subfolders.
[INFO] [stderr] 
[INFO] [stderr] For more information on this warning you can consult
[INFO] [stderr] https://github.com/rust-lang/cargo/issues/5330
[INFO] [stderr] warning: path `/opt/rustwide/workdir/src/main.rs` was erroneously implicitly accepted for binary `sdr`,
[INFO] [stderr] please set bin.path in Cargo.toml
[INFO] [stderr]    Compiling ncurses v5.101.0
[INFO] [stderr]     Checking pancurses v0.8.0
[INFO] [stderr]     Checking burning-sanders v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]   --> src/main.rs:32:34
[INFO] [stdout]    |
[INFO] [stdout] 32 |         choices.push(input.trim().clone().to_string());
[INFO] [stdout]    |                                  ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]    |
[INFO] [stdout]    = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout]    = note: `#[warn(noop_method_call)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: getting the inner pointer of a temporary `CString`
[INFO] [stdout]   --> src/main.rs:42:41
[INFO] [stdout]    |
[INFO] [stdout] 42 |       CString::new("/dev/tty").unwrap().as_ptr(),
[INFO] [stdout]    |       --------------------------------- ^^^^^^ this pointer will be invalid
[INFO] [stdout]    |       |
[INFO] [stdout]    |       this `CString` is deallocated at the end of the statement, bind it to a variable to extend its lifetime
[INFO] [stdout]    |
[INFO] [stdout]    = note: pointers do not have a lifetime; when calling `as_ptr` the `CString` will be deallocated at the end of the statement because nothing is referencing it as far as the type system is concerned
[INFO] [stdout]    = help: for more information, see https://doc.rust-lang.org/reference/destructors.html
[INFO] [stdout]    = note: `#[warn(temporary_cstring_as_ptr)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: getting the inner pointer of a temporary `CString`
[INFO] [stdout]   --> src/main.rs:43:35
[INFO] [stdout]    |
[INFO] [stdout] 43 |       CString::new("r+").unwrap().as_ptr()
[INFO] [stdout]    |       --------------------------- ^^^^^^ this pointer will be invalid
[INFO] [stdout]    |       |
[INFO] [stdout]    |       this `CString` is deallocated at the end of the statement, bind it to a variable to extend its lifetime
[INFO] [stdout]    |
[INFO] [stdout]    = note: pointers do not have a lifetime; when calling `as_ptr` the `CString` will be deallocated at the end of the statement because nothing is referencing it as far as the type system is concerned
[INFO] [stdout]    = help: for more information, see https://doc.rust-lang.org/reference/destructors.html
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: this method call resolves to `<&[T; N] as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to <[T; N] as IntoIterator>::into_iter in Rust 2021
[INFO] [stdout]   --> src/main.rs:59:33
[INFO] [stdout]    |
[INFO] [stdout] 59 |   for (i, color) in COLOR_TABLE.into_iter().enumerate() {
[INFO] [stdout]    |                                 ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2021
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/IntoIterator-for-arrays.html>
[INFO] [stdout]    = note: `#[warn(array_into_iter)]` on by default
[INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity
[INFO] [stdout]    |
[INFO] [stdout] 59 |   for (i, color) in COLOR_TABLE.iter().enumerate() {
[INFO] [stdout]    |                                 ~~~~
[INFO] [stdout] help: or use `IntoIterator::into_iter(..)` instead of `.into_iter()` to explicitly iterate by value
[INFO] [stdout]    |
[INFO] [stdout] 59 |   for (i, color) in IntoIterator::into_iter(COLOR_TABLE).enumerate() {
[INFO] [stdout]    |                     ++++++++++++++++++++++++           ~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]   --> src/main.rs:32:34
[INFO] [stdout]    |
[INFO] [stdout] 32 |         choices.push(input.trim().clone().to_string());
[INFO] [stdout]    |                                  ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]    |
[INFO] [stdout]    = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout]    = note: `#[warn(noop_method_call)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: getting the inner pointer of a temporary `CString`
[INFO] [stdout]   --> src/main.rs:42:41
[INFO] [stdout]    |
[INFO] [stdout] 42 |       CString::new("/dev/tty").unwrap().as_ptr(),
[INFO] [stdout]    |       --------------------------------- ^^^^^^ this pointer will be invalid
[INFO] [stdout]    |       |
[INFO] [stdout]    |       this `CString` is deallocated at the end of the statement, bind it to a variable to extend its lifetime
[INFO] [stdout]    |
[INFO] [stdout]    = note: pointers do not have a lifetime; when calling `as_ptr` the `CString` will be deallocated at the end of the statement because nothing is referencing it as far as the type system is concerned
[INFO] [stdout]    = help: for more information, see https://doc.rust-lang.org/reference/destructors.html
[INFO] [stdout]    = note: `#[warn(temporary_cstring_as_ptr)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: getting the inner pointer of a temporary `CString`
[INFO] [stdout]   --> src/main.rs:43:35
[INFO] [stdout]    |
[INFO] [stdout] 43 |       CString::new("r+").unwrap().as_ptr()
[INFO] [stdout]    |       --------------------------- ^^^^^^ this pointer will be invalid
[INFO] [stdout]    |       |
[INFO] [stdout]    |       this `CString` is deallocated at the end of the statement, bind it to a variable to extend its lifetime
[INFO] [stdout]    |
[INFO] [stdout]    = note: pointers do not have a lifetime; when calling `as_ptr` the `CString` will be deallocated at the end of the statement because nothing is referencing it as far as the type system is concerned
[INFO] [stdout]    = help: for more information, see https://doc.rust-lang.org/reference/destructors.html
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: this method call resolves to `<&[T; N] as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to <[T; N] as IntoIterator>::into_iter in Rust 2021
[INFO] [stdout]   --> src/main.rs:59:33
[INFO] [stdout]    |
[INFO] [stdout] 59 |   for (i, color) in COLOR_TABLE.into_iter().enumerate() {
[INFO] [stdout]    |                                 ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2021
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/IntoIterator-for-arrays.html>
[INFO] [stdout]    = note: `#[warn(array_into_iter)]` on by default
[INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity
[INFO] [stdout]    |
[INFO] [stdout] 59 |   for (i, color) in COLOR_TABLE.iter().enumerate() {
[INFO] [stdout]    |                                 ~~~~
[INFO] [stdout] help: or use `IntoIterator::into_iter(..)` instead of `.into_iter()` to explicitly iterate by value
[INFO] [stdout]    |
[INFO] [stdout] 59 |   for (i, color) in IntoIterator::into_iter(COLOR_TABLE).enumerate() {
[INFO] [stdout]    |                     ++++++++++++++++++++++++           ~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 4 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 4 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1.10s
[INFO] running `Command { std: "docker" "inspect" "7475c21d279312208aebe75a3ab89c4e20181e09b7537e11395b0dbb76c294c1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "7475c21d279312208aebe75a3ab89c4e20181e09b7537e11395b0dbb76c294c1", kill_on_drop: false }`
[INFO] [stdout] 7475c21d279312208aebe75a3ab89c4e20181e09b7537e11395b0dbb76c294c1
