[INFO] fetching crate burning-sanders 0.1.0...
[INFO] testing burning-sanders-0.1.0 against master#1871252fc8bb672d40787e67404e6eaae7059369 for pr-125151
[INFO] extracting crate burning-sanders 0.1.0 into /workspace/builds/worker-4-tc1/source
[INFO] validating manifest of crates.io crate burning-sanders 0.1.0 on toolchain 1871252fc8bb672d40787e67404e6eaae7059369
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1871252fc8bb672d40787e67404e6eaae7059369" "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-4-tc1/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1871252fc8bb672d40787e67404e6eaae7059369" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 10 packages to latest compatible versions
[INFO] [stderr]       Adding log v0.3.9 (latest: v0.4.21)
[INFO] [stderr]       Adding ncurses v5.101.0 (latest: v6.0.0)
[INFO] [stderr]       Adding pancurses v0.8.0 (latest: v0.17.0)
[INFO] [stderr]       Adding pdcurses-sys v0.4.0 (latest: v0.7.1)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1871252fc8bb672d40787e67404e6eaae7059369" "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] * 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 `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 pancurses v0.8.0
[INFO] [stderr]   Downloaded pdcurses-sys v0.4.0
[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:59a85a07ab18ca8720692f8e61effa1c651d9e2ca591e072c2b212bb91a6b8b5" "/opt/rustwide/cargo-home/bin/cargo" "+1871252fc8bb672d40787e67404e6eaae7059369" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] e5ccb26c18a900d92b2db3154bf3e57b9d3fc8d5ffa55a00fbac8ecc65dac4fe
[INFO] running `Command { std: "docker" "start" "-a" "e5ccb26c18a900d92b2db3154bf3e57b9d3fc8d5ffa55a00fbac8ecc65dac4fe", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "e5ccb26c18a900d92b2db3154bf3e57b9d3fc8d5ffa55a00fbac8ecc65dac4fe", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e5ccb26c18a900d92b2db3154bf3e57b9d3fc8d5ffa55a00fbac8ecc65dac4fe", kill_on_drop: false }`
[INFO] [stdout] e5ccb26c18a900d92b2db3154bf3e57b9d3fc8d5ffa55a00fbac8ecc65dac4fe
[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:59a85a07ab18ca8720692f8e61effa1c651d9e2ca591e072c2b212bb91a6b8b5" "/opt/rustwide/cargo-home/bin/cargo" "+1871252fc8bb672d40787e67404e6eaae7059369" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] cee1d6ad309d57943b146a9353c3c3bb9b1b433d23a52fa070352d99dee955f8
[INFO] running `Command { std: "docker" "start" "-a" "cee1d6ad309d57943b146a9353c3c3bb9b1b433d23a52fa070352d99dee955f8", 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] * 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 `src/main.rs` was erroneously implicitly accepted for binary `sdr`,
[INFO] [stderr] please set bin.path in Cargo.toml
[INFO] [stderr]    Compiling cc v1.0.98
[INFO] [stderr]    Compiling pkg-config v0.3.30
[INFO] [stderr]    Compiling libc v0.2.155
[INFO] [stderr]    Compiling log v0.4.21
[INFO] [stderr]    Compiling log v0.3.9
[INFO] [stderr]    Compiling ncurses v5.101.0
[INFO] [stderr]    Compiling pancurses v0.8.0
[INFO] [stderr]    Compiling 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: 4 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 2.64s
[INFO] running `Command { std: "docker" "inspect" "cee1d6ad309d57943b146a9353c3c3bb9b1b433d23a52fa070352d99dee955f8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "cee1d6ad309d57943b146a9353c3c3bb9b1b433d23a52fa070352d99dee955f8", kill_on_drop: false }`
[INFO] [stdout] cee1d6ad309d57943b146a9353c3c3bb9b1b433d23a52fa070352d99dee955f8
[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:59a85a07ab18ca8720692f8e61effa1c651d9e2ca591e072c2b212bb91a6b8b5" "/opt/rustwide/cargo-home/bin/cargo" "+1871252fc8bb672d40787e67404e6eaae7059369" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] e950e9e316de10adfce8c9694da9d7f5311e686b7dbe1313f0e7bdd661ea4161
[INFO] running `Command { std: "docker" "start" "-a" "e950e9e316de10adfce8c9694da9d7f5311e686b7dbe1313f0e7bdd661ea4161", 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] * 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 `src/main.rs` was erroneously implicitly accepted for binary `sdr`,
[INFO] [stderr] please set bin.path in Cargo.toml
[INFO] [stderr]    Compiling 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: 4 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.27s
[INFO] running `Command { std: "docker" "inspect" "e950e9e316de10adfce8c9694da9d7f5311e686b7dbe1313f0e7bdd661ea4161", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e950e9e316de10adfce8c9694da9d7f5311e686b7dbe1313f0e7bdd661ea4161", kill_on_drop: false }`
[INFO] [stdout] e950e9e316de10adfce8c9694da9d7f5311e686b7dbe1313f0e7bdd661ea4161
[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:59a85a07ab18ca8720692f8e61effa1c651d9e2ca591e072c2b212bb91a6b8b5" "/opt/rustwide/cargo-home/bin/cargo" "+1871252fc8bb672d40787e67404e6eaae7059369" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 9de8495bf7c1620cf3a71e20e7bcfba3b15ceb813c0468387f069c299db5a9c9
[INFO] running `Command { std: "docker" "start" "-a" "9de8495bf7c1620cf3a71e20e7bcfba3b15ceb813c0468387f069c299db5a9c9", 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] * 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 `src/main.rs` was erroneously implicitly accepted for binary `sdr`,
[INFO] [stderr] please set bin.path in Cargo.toml
[INFO] [stderr] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stderr]   --> src/main.rs:32:34
[INFO] [stderr]    |
[INFO] [stderr] 32 |         choices.push(input.trim().clone().to_string());
[INFO] [stderr]    |                                  ^^^^^^^^ help: remove this redundant call
[INFO] [stderr]    |
[INFO] [stderr]    = 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] [stderr]    = note: `#[warn(noop_method_call)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: getting the inner pointer of a temporary `CString`
[INFO] [stderr]   --> src/main.rs:42:41
[INFO] [stderr]    |
[INFO] [stderr] 42 |       CString::new("/dev/tty").unwrap().as_ptr(),
[INFO] [stderr]    |       --------------------------------- ^^^^^^ this pointer will be invalid
[INFO] [stderr]    |       |
[INFO] [stderr]    |       this `CString` is deallocated at the end of the statement, bind it to a variable to extend its lifetime
[INFO] [stderr]    |
[INFO] [stderr]    = 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] [stderr]    = help: for more information, see https://doc.rust-lang.org/reference/destructors.html
[INFO] [stderr]    = note: `#[warn(temporary_cstring_as_ptr)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: getting the inner pointer of a temporary `CString`
[INFO] [stderr]   --> src/main.rs:43:35
[INFO] [stderr]    |
[INFO] [stderr] 43 |       CString::new("r+").unwrap().as_ptr()
[INFO] [stderr]    |       --------------------------- ^^^^^^ this pointer will be invalid
[INFO] [stderr]    |       |
[INFO] [stderr]    |       this `CString` is deallocated at the end of the statement, bind it to a variable to extend its lifetime
[INFO] [stderr]    |
[INFO] [stderr]    = 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] [stderr]    = help: for more information, see https://doc.rust-lang.org/reference/destructors.html
[INFO] [stderr] 
[INFO] [stderr] 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] [stderr]   --> src/main.rs:59:33
[INFO] [stderr]    |
[INFO] [stderr] 59 |   for (i, color) in COLOR_TABLE.into_iter().enumerate() {
[INFO] [stderr]    |                                 ^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this changes meaning in Rust 2021
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/IntoIterator-for-arrays.html>
[INFO] [stderr]    = note: `#[warn(array_into_iter)]` on by default
[INFO] [stderr] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity
[INFO] [stderr]    |
[INFO] [stderr] 59 |   for (i, color) in COLOR_TABLE.iter().enumerate() {
[INFO] [stderr]    |                                 ~~~~
[INFO] [stderr] help: or use `IntoIterator::into_iter(..)` instead of `.into_iter()` to explicitly iterate by value
[INFO] [stderr]    |
[INFO] [stderr] 59 |   for (i, color) in IntoIterator::into_iter(COLOR_TABLE).enumerate() {
[INFO] [stderr]    |                     ++++++++++++++++++++++++           ~
[INFO] [stderr] 
[INFO] [stderr] warning: `burning-sanders` (bin "sdr" test) generated 4 warnings (run `cargo fix --bin "sdr" --tests` to apply 2 suggestions)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.01s
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/sdr-3194fa8b5ce7e8d0)
[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" "9de8495bf7c1620cf3a71e20e7bcfba3b15ceb813c0468387f069c299db5a9c9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "9de8495bf7c1620cf3a71e20e7bcfba3b15ceb813c0468387f069c299db5a9c9", kill_on_drop: false }`
[INFO] [stdout] 9de8495bf7c1620cf3a71e20e7bcfba3b15ceb813c0468387f069c299db5a9c9
