[INFO] fetching crate nixterm 0.1.2...
[INFO] testing nixterm-0.1.2 against 1.76.0 for beta-1.77-1
[INFO] extracting crate nixterm 0.1.2 into /workspace/builds/worker-5-tc1/source
[INFO] validating manifest of crates.io crate nixterm 0.1.2 on toolchain 1.76.0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.76.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate nixterm 0.1.2
[INFO] removed 0 missing examples
[INFO] finished tweaking crates.io crate nixterm 0.1.2
[INFO] tweaked toml for crates.io crate nixterm 0.1.2 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" "+1.76.0" "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" "+1.76.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[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" "+1.76.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 9d335e5a7157ac8dc9b357d89922b0b2e8628e01ac080e7db68ab855bc2872d8
[INFO] running `Command { std: "docker" "start" "-a" "9d335e5a7157ac8dc9b357d89922b0b2e8628e01ac080e7db68ab855bc2872d8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "9d335e5a7157ac8dc9b357d89922b0b2e8628e01ac080e7db68ab855bc2872d8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "9d335e5a7157ac8dc9b357d89922b0b2e8628e01ac080e7db68ab855bc2872d8", kill_on_drop: false }`
[INFO] [stdout] 9d335e5a7157ac8dc9b357d89922b0b2e8628e01ac080e7db68ab855bc2872d8
[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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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" "+1.76.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] ccfcf223118f5aab3bf3abcc5b1582c75bb847e6afb6b730d637380f1525d638
[INFO] running `Command { std: "docker" "start" "-a" "ccfcf223118f5aab3bf3abcc5b1582c75bb847e6afb6b730d637380f1525d638", kill_on_drop: false }`
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling cc v1.0.85
[INFO] [stderr]    Compiling failure_derive v0.1.8
[INFO] [stderr]    Compiling memchr v2.7.1
[INFO] [stderr]    Compiling gimli v0.28.1
[INFO] [stderr]    Compiling unicode-xid v0.2.4
[INFO] [stderr]    Compiling miniz_oxide v0.7.2
[INFO] [stderr]    Compiling backtrace v0.3.69
[INFO] [stderr]    Compiling object v0.32.2
[INFO] [stderr]    Compiling synstructure v0.12.6
[INFO] [stderr]    Compiling addr2line v0.21.0
[INFO] [stderr]    Compiling failure v0.1.8
[INFO] [stderr]    Compiling nixterm v0.1.2 (/opt/rustwide/workdir)
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/ansi.rs:133:24
[INFO] [stdout]     |
[INFO] [stdout] 133 |                     '0'...'9' => (),
[INFO] [stdout]     |                        ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: `#[warn(ellipsis_inclusive_range_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/ansi.rs:184:16
[INFO] [stdout]     |
[INFO] [stdout] 184 |             '0'...'9' => Ok(Color::Index(
[INFO] [stdout]     |                ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/ansi.rs:211:27
[INFO] [stdout]     |
[INFO] [stdout] 211 |         Color::Index(x @ 0...7) => write!(w, "\x1b[{}m", x + 30),
[INFO] [stdout]     |                           ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/ansi.rs:212:27
[INFO] [stdout]     |
[INFO] [stdout] 212 |         Color::Index(x @ 8...15) => write!(w, "\x1b[{}m", x + 82),
[INFO] [stdout]     |                           ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/ansi.rs:220:27
[INFO] [stdout]     |
[INFO] [stdout] 220 |         Color::Index(x @ 0...7) => write!(w, "\x1b[{}m", x + 40),
[INFO] [stdout]     |                           ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/ansi.rs:221:27
[INFO] [stdout]     |
[INFO] [stdout] 221 |         Color::Index(x @ 8...15) => write!(w, "\x1b[{}m", x + 92),
[INFO] [stdout]     |                           ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/events.rs:246:14
[INFO] [stdout]     |
[INFO] [stdout] 246 |             0...8 | 10...12 | 14...26 | 28...31 => Key::Control((ch + 64) as char),
[INFO] [stdout]     |              ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/events.rs:246:23
[INFO] [stdout]     |
[INFO] [stdout] 246 |             0...8 | 10...12 | 14...26 | 28...31 => Key::Control((ch + 64) as char),
[INFO] [stdout]     |                       ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/events.rs:246:33
[INFO] [stdout]     |
[INFO] [stdout] 246 |             0...8 | 10...12 | 14...26 | 28...31 => Key::Control((ch + 64) as char),
[INFO] [stdout]     |                                 ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/events.rs:246:43
[INFO] [stdout]     |
[INFO] [stdout] 246 |             0...8 | 10...12 | 14...26 | 28...31 => Key::Control((ch + 64) as char),
[INFO] [stdout]     |                                           ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/events.rs:251:15
[INFO] [stdout]     |
[INFO] [stdout] 251 |             32...126 => Key::Char(ch as char),
[INFO] [stdout]     |               ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/term.rs:160:5
[INFO] [stdout]     |
[INFO] [stdout] 160 | /     /// Turn off canonical mode.
[INFO] [stdout] 161 | |     /// In non-canonical mode the terminal does perform line editing, the input buffer is 4096 characters long,
[INFO] [stdout] 162 | |     /// and timeouts may be set for input.
[INFO] [stdout]     | |_____-------------------------------------^
[INFO] [stdout]     |       |
[INFO] [stdout]     |       rustdoc does not generate documentation for macro invocations
[INFO] [stdout]     |
[INFO] [stdout]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout]     = note: `#[warn(unused_doc_comments)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/term.rs:165:5
[INFO] [stdout]     |
[INFO] [stdout] 165 | /     /// Set the minimum number of characters for the `Term::read` function to return.
[INFO] [stdout] 166 | |     ///
[INFO] [stdout] 167 | |     /// __*non-canonical mode only__
[INFO] [stdout]     | |_____-------------------------------^
[INFO] [stdout]     |       |
[INFO] [stdout]     |       rustdoc does not generate documentation for macro invocations
[INFO] [stdout]     |
[INFO] [stdout]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/term.rs:170:5
[INFO] [stdout]     |
[INFO] [stdout] 170 | /     /// Set the maximum time the `Term::read` function will wait before returning (time in deciseconds)
[INFO] [stdout] 171 | |     ///
[INFO] [stdout] 172 | |     ///
[INFO] [stdout] 173 | |     /// __*non-canonical mode only__
[INFO] [stdout]     | |_____-------------------------------^
[INFO] [stdout]     |       |
[INFO] [stdout]     |       rustdoc does not generate documentation for macro invocations
[INFO] [stdout]     |
[INFO] [stdout]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/term.rs:176:5
[INFO] [stdout]     |
[INFO] [stdout] 176 |     /// Set the character that will signal the stdout buffer should be flushed.
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]     |
[INFO] [stdout]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/term.rs:179:5
[INFO] [stdout]     |
[INFO] [stdout] 179 |     /// Set an extra end-of-line character
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]     |
[INFO] [stdout]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/term.rs:182:5
[INFO] [stdout]     |
[INFO] [stdout] 182 |     /// Set the erase char (typically it will be something like `DEL` by default)
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]     |
[INFO] [stdout]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/term.rs:185:5
[INFO] [stdout]     |
[INFO] [stdout] 185 |     /// Set the interrupt char, when this character is read the running process will be sent `SIGINT`.
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]     |
[INFO] [stdout]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/term.rs:188:5
[INFO] [stdout]     |
[INFO] [stdout] 188 |     /// Set the suspend char, when this character is read the running process will be sent `SIGTSTP`.
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]     |
[INFO] [stdout]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/term.rs:191:5
[INFO] [stdout]     |
[INFO] [stdout] 191 |     /// Set the kill char, when this character is read the running process will be sent `SIGKILL`.
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]     |
[INFO] [stdout]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/term.rs:194:5
[INFO] [stdout]     |
[INFO] [stdout] 194 |     /// Set the quit char, when this character is read the running process will be sent `SIGQUIT`.
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]     |
[INFO] [stdout]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/term.rs:197:5
[INFO] [stdout]     |
[INFO] [stdout] 197 |     /// stop showing output until the `start_output` char is reached.
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]     |
[INFO] [stdout]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/term.rs:200:5
[INFO] [stdout]     |
[INFO] [stdout] 200 |     /// Set the character the will restart  output, ofter the `stop_output` char.
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]     |
[INFO] [stdout]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around match arm expression
[INFO] [stdout]    --> src/term.rs:374:51
[INFO] [stdout]     |
[INFO] [stdout] 374 |                 ansi::Color::Index(x @ 8..=15) => (x - 8),
[INFO] [stdout]     |                                                   ^     ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 374 -                 ansi::Color::Index(x @ 8..=15) => (x - 8),
[INFO] [stdout] 374 +                 ansi::Color::Index(x @ 8..=15) => x - 8,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/term.rs:674:12
[INFO] [stdout]     |
[INFO] [stdout] 674 |         if (x > 0) {
[INFO] [stdout]     |            ^     ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 674 -         if (x > 0) {
[INFO] [stdout] 674 +         if x > 0 {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/term.rs:678:19
[INFO] [stdout]     |
[INFO] [stdout] 678 |         } else if (x < 0) {
[INFO] [stdout]     |                   ^     ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 678 -         } else if (x < 0) {
[INFO] [stdout] 678 +         } else if x < 0 {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/term.rs:688:12
[INFO] [stdout]     |
[INFO] [stdout] 688 |         if (y > 0) {
[INFO] [stdout]     |            ^     ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 688 -         if (y > 0) {
[INFO] [stdout] 688 +         if y > 0 {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/term.rs:692:19
[INFO] [stdout]     |
[INFO] [stdout] 692 |         } else if (y < 0) {
[INFO] [stdout]     |                   ^     ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 692 -         } else if (y < 0) {
[INFO] [stdout] 692 +         } else if y < 0 {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `size_of`, `transmute`
[INFO] [stdout]  --> src/util.rs:6:16
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::mem::{size_of, transmute};
[INFO] [stdout]   |                ^^^^^^^  ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::slice::from_raw_parts`
[INFO] [stdout]  --> src/util.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::slice::from_raw_parts;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::env::home_dir`: This function's behavior may be unexpected on Windows. Consider using a crate from crates.io instead.
[INFO] [stdout]   --> src/terminfo/mod.rs:31:30
[INFO] [stdout]    |
[INFO] [stdout] 31 |     if let Some(home) = env::home_dir() {
[INFO] [stdout]    |                              ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/errors.rs:98:32
[INFO] [stdout]    |
[INFO] [stdout] 98 |     fn cause(&self) -> Option<&failure::Fail> {
[INFO] [stdout]    |                                ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 98 |     fn cause(&self) -> Option<&dyn failure::Fail> {
[INFO] [stdout]    |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/terminfo/errors.rs:100:32
[INFO] [stdout]     |
[INFO] [stdout] 100 |     fn cause(&self) -> Option<&failure::Fail> {
[INFO] [stdout]     |                                ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 100 |     fn cause(&self) -> Option<&dyn failure::Fail> {
[INFO] [stdout]     |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/events.rs:248:13
[INFO] [stdout]     |
[INFO] [stdout] 248 |             10 | 13 => Key::Enter,
[INFO] [stdout]     |             ^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/term.rs:701:31
[INFO] [stdout]     |
[INFO] [stdout] 701 |     pub fn default_background(mut self) -> Self {
[INFO] [stdout]     |                               ----^^^^
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/term.rs:705:31
[INFO] [stdout]     |
[INFO] [stdout] 705 |     pub fn default_foreground(mut self) -> Self {
[INFO] [stdout]     |                               ----^^^^
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `write_u8` is never used
[INFO] [stdout]    --> src/term.rs:419:8
[INFO] [stdout]     |
[INFO] [stdout] 338 | / impl<'a, O> TermWriter<'a, O>
[INFO] [stdout] 339 | | where
[INFO] [stdout] 340 | |     O: io::Write + AsRawFd + 'a,
[INFO] [stdout]     | |________________________________- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 419 |       fn write_u8(mut self, x: u8) -> Self {
[INFO] [stdout]     |          ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> src/term.rs:675:13
[INFO] [stdout]     |
[INFO] [stdout] 675 | /             self.exec(terminfo::ParmRightCursor)
[INFO] [stdout] 676 | |                 .map(|ctx| ctx.arg(x).write(&mut self))
[INFO] [stdout] 677 | |                 .map_err(|e| self.err = Some(e));
[INFO] [stdout]     | |________________________________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 675 |             let _ = self.exec(terminfo::ParmRightCursor)
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> src/term.rs:679:13
[INFO] [stdout]     |
[INFO] [stdout] 679 | /             self.exec(terminfo::ParmLeftCursor)
[INFO] [stdout] 680 | |                 .map(|ctx| ctx.arg(-x).write(&mut self))
[INFO] [stdout] 681 | |                 .map_err(|e| self.err = Some(e));
[INFO] [stdout]     | |________________________________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 679 |             let _ = self.exec(terminfo::ParmLeftCursor)
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> src/term.rs:689:13
[INFO] [stdout]     |
[INFO] [stdout] 689 | /             self.exec(terminfo::ParmUpCursor)
[INFO] [stdout] 690 | |                 .map(|ctx| ctx.arg(y).write(&mut self))
[INFO] [stdout] 691 | |                 .map_err(|e| self.err = Some(e));
[INFO] [stdout]     | |________________________________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 689 |             let _ = self.exec(terminfo::ParmUpCursor)
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> src/term.rs:693:13
[INFO] [stdout]     |
[INFO] [stdout] 693 | /             self.exec(terminfo::ParmDownCursor)
[INFO] [stdout] 694 | |                 .map(|ctx| ctx.arg(-y).write(&mut self))
[INFO] [stdout] 695 | |                 .map_err(|e| self.err = Some(e));
[INFO] [stdout]     | |________________________________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 693 |             let _ = self.exec(terminfo::ParmDownCursor)
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]   --> src/terminfo/lang/executor.rs:52:9
[INFO] [stdout]    |
[INFO] [stdout] 52 |         self.env.write(&mut Parser::new(self.src), &mut w);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 52 |         let _ = self.env.write(&mut Parser::new(self.src), &mut w);
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 42 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished dev [unoptimized + debuginfo] target(s) in 13.36s
[INFO] running `Command { std: "docker" "inspect" "ccfcf223118f5aab3bf3abcc5b1582c75bb847e6afb6b730d637380f1525d638", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ccfcf223118f5aab3bf3abcc5b1582c75bb847e6afb6b730d637380f1525d638", kill_on_drop: false }`
[INFO] [stdout] ccfcf223118f5aab3bf3abcc5b1582c75bb847e6afb6b730d637380f1525d638
[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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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" "+1.76.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 02ee1ce2e5a49ebcd624c8ebe87bd8b61d6643ca0fcb231d633d169203516b9e
[INFO] running `Command { std: "docker" "start" "-a" "02ee1ce2e5a49ebcd624c8ebe87bd8b61d6643ca0fcb231d633d169203516b9e", kill_on_drop: false }`
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/ansi.rs:133:24
[INFO] [stdout]     |
[INFO] [stdout] 133 |                     '0'...'9' => (),
[INFO] [stdout]     |                        ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: `#[warn(ellipsis_inclusive_range_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/ansi.rs:184:16
[INFO] [stdout]     |
[INFO] [stdout] 184 |             '0'...'9' => Ok(Color::Index(
[INFO] [stdout]     |                ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/ansi.rs:211:27
[INFO] [stdout]     |
[INFO] [stdout] 211 |         Color::Index(x @ 0...7) => write!(w, "\x1b[{}m", x + 30),
[INFO] [stdout]     |                           ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/ansi.rs:212:27
[INFO] [stdout]     |
[INFO] [stdout] 212 |         Color::Index(x @ 8...15) => write!(w, "\x1b[{}m", x + 82),
[INFO] [stdout]     |                           ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/ansi.rs:220:27
[INFO] [stdout]     |
[INFO] [stdout] 220 |         Color::Index(x @ 0...7) => write!(w, "\x1b[{}m", x + 40),
[INFO] [stdout]     |                           ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/ansi.rs:221:27
[INFO] [stdout]     |
[INFO] [stdout] 221 |         Color::Index(x @ 8...15) => write!(w, "\x1b[{}m", x + 92),
[INFO] [stdout]     |                           ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/events.rs:246:14
[INFO] [stdout]     |
[INFO] [stdout] 246 |             0...8 | 10...12 | 14...26 | 28...31 => Key::Control((ch + 64) as char),
[INFO] [stdout]     |              ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/events.rs:246:23
[INFO] [stdout]     |
[INFO] [stdout] 246 |             0...8 | 10...12 | 14...26 | 28...31 => Key::Control((ch + 64) as char),
[INFO] [stdout]     |                       ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/events.rs:246:33
[INFO] [stdout]     |
[INFO] [stdout] 246 |             0...8 | 10...12 | 14...26 | 28...31 => Key::Control((ch + 64) as char),
[INFO] [stdout]     |                                 ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/events.rs:246:43
[INFO] [stdout]     |
[INFO] [stdout] 246 |             0...8 | 10...12 | 14...26 | 28...31 => Key::Control((ch + 64) as char),
[INFO] [stdout]     |                                           ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/events.rs:251:15
[INFO] [stdout]     |
[INFO] [stdout] 251 |             32...126 => Key::Char(ch as char),
[INFO] [stdout]     |               ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/term.rs:160:5
[INFO] [stdout]     |
[INFO] [stdout] 160 | /     /// Turn off canonical mode.
[INFO] [stdout] 161 | |     /// In non-canonical mode the terminal does perform line editing, the input buffer is 4096 characters long,
[INFO] [stdout] 162 | |     /// and timeouts may be set for input.
[INFO] [stdout]     | |_____-------------------------------------^
[INFO] [stdout]     |       |
[INFO] [stdout]     |       rustdoc does not generate documentation for macro invocations
[INFO] [stdout]     |
[INFO] [stdout]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout]     = note: `#[warn(unused_doc_comments)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/term.rs:165:5
[INFO] [stdout]     |
[INFO] [stdout] 165 | /     /// Set the minimum number of characters for the `Term::read` function to return.
[INFO] [stdout] 166 | |     ///
[INFO] [stdout] 167 | |     /// __*non-canonical mode only__
[INFO] [stdout]     | |_____-------------------------------^
[INFO] [stdout]     |       |
[INFO] [stdout]     |       rustdoc does not generate documentation for macro invocations
[INFO] [stdout]     |
[INFO] [stdout]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/term.rs:170:5
[INFO] [stdout]     |
[INFO] [stdout] 170 | /     /// Set the maximum time the `Term::read` function will wait before returning (time in deciseconds)
[INFO] [stdout] 171 | |     ///
[INFO] [stdout] 172 | |     ///
[INFO] [stdout] 173 | |     /// __*non-canonical mode only__
[INFO] [stdout]     | |_____-------------------------------^
[INFO] [stdout]     |       |
[INFO] [stdout]     |       rustdoc does not generate documentation for macro invocations
[INFO] [stdout]     |
[INFO] [stdout]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/term.rs:176:5
[INFO] [stdout]     |
[INFO] [stdout] 176 |     /// Set the character that will signal the stdout buffer should be flushed.
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]     |
[INFO] [stdout]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/term.rs:179:5
[INFO] [stdout]     |
[INFO] [stdout] 179 |     /// Set an extra end-of-line character
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]     |
[INFO] [stdout]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/term.rs:182:5
[INFO] [stdout]     |
[INFO] [stdout] 182 |     /// Set the erase char (typically it will be something like `DEL` by default)
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]     |
[INFO] [stdout]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/term.rs:185:5
[INFO] [stdout]     |
[INFO] [stdout] 185 |     /// Set the interrupt char, when this character is read the running process will be sent `SIGINT`.
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]     |
[INFO] [stdout]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/term.rs:188:5
[INFO] [stdout]     |
[INFO] [stdout] 188 |     /// Set the suspend char, when this character is read the running process will be sent `SIGTSTP`.
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]     |
[INFO] [stdout]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/term.rs:191:5
[INFO] [stdout]     |
[INFO] [stdout] 191 |     /// Set the kill char, when this character is read the running process will be sent `SIGKILL`.
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]     |
[INFO] [stdout]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/term.rs:194:5
[INFO] [stdout]     |
[INFO] [stdout] 194 |     /// Set the quit char, when this character is read the running process will be sent `SIGQUIT`.
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]     |
[INFO] [stdout]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/term.rs:197:5
[INFO] [stdout]     |
[INFO] [stdout] 197 |     /// stop showing output until the `start_output` char is reached.
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]     |
[INFO] [stdout]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/term.rs:200:5
[INFO] [stdout]     |
[INFO] [stdout] 200 |     /// Set the character the will restart  output, ofter the `stop_output` char.
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]     |
[INFO] [stdout]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around match arm expression
[INFO] [stdout]    --> src/term.rs:374:51
[INFO] [stdout]     |
[INFO] [stdout] 374 |                 ansi::Color::Index(x @ 8..=15) => (x - 8),
[INFO] [stdout]     |                                                   ^     ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 374 -                 ansi::Color::Index(x @ 8..=15) => (x - 8),
[INFO] [stdout] 374 +                 ansi::Color::Index(x @ 8..=15) => x - 8,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/term.rs:674:12
[INFO] [stdout]     |
[INFO] [stdout] 674 |         if (x > 0) {
[INFO] [stdout]     |            ^     ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 674 -         if (x > 0) {
[INFO] [stdout] 674 +         if x > 0 {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/term.rs:678:19
[INFO] [stdout]     |
[INFO] [stdout] 678 |         } else if (x < 0) {
[INFO] [stdout]     |                   ^     ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 678 -         } else if (x < 0) {
[INFO] [stdout] 678 +         } else if x < 0 {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/term.rs:688:12
[INFO] [stdout]     |
[INFO] [stdout] 688 |         if (y > 0) {
[INFO] [stdout]     |            ^     ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 688 -         if (y > 0) {
[INFO] [stdout] 688 +         if y > 0 {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/term.rs:692:19
[INFO] [stdout]     |
[INFO] [stdout] 692 |         } else if (y < 0) {
[INFO] [stdout]     |                   ^     ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 692 -         } else if (y < 0) {
[INFO] [stdout] 692 +         } else if y < 0 {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `size_of`, `transmute`
[INFO] [stdout]  --> src/util.rs:6:16
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::mem::{size_of, transmute};
[INFO] [stdout]   |                ^^^^^^^  ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::slice::from_raw_parts`
[INFO] [stdout]  --> src/util.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::slice::from_raw_parts;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::env::home_dir`: This function's behavior may be unexpected on Windows. Consider using a crate from crates.io instead.
[INFO] [stdout]   --> src/terminfo/mod.rs:31:30
[INFO] [stdout]    |
[INFO] [stdout] 31 |     if let Some(home) = env::home_dir() {
[INFO] [stdout]    |                              ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/errors.rs:98:32
[INFO] [stdout]    |
[INFO] [stdout] 98 |     fn cause(&self) -> Option<&failure::Fail> {
[INFO] [stdout]    |                                ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 98 |     fn cause(&self) -> Option<&dyn failure::Fail> {
[INFO] [stdout]    |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/terminfo/errors.rs:100:32
[INFO] [stdout]     |
[INFO] [stdout] 100 |     fn cause(&self) -> Option<&failure::Fail> {
[INFO] [stdout]     |                                ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 100 |     fn cause(&self) -> Option<&dyn failure::Fail> {
[INFO] [stdout]     |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/events.rs:248:13
[INFO] [stdout]     |
[INFO] [stdout] 248 |             10 | 13 => Key::Enter,
[INFO] [stdout]     |             ^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/term.rs:701:31
[INFO] [stdout]     |
[INFO] [stdout] 701 |     pub fn default_background(mut self) -> Self {
[INFO] [stdout]     |                               ----^^^^
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/term.rs:705:31
[INFO] [stdout]     |
[INFO] [stdout] 705 |     pub fn default_foreground(mut self) -> Self {
[INFO] [stdout]     |                               ----^^^^
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `write_u8` is never used
[INFO] [stdout]    --> src/term.rs:419:8
[INFO] [stdout]     |
[INFO] [stdout] 338 | / impl<'a, O> TermWriter<'a, O>
[INFO] [stdout] 339 | | where
[INFO] [stdout] 340 | |     O: io::Write + AsRawFd + 'a,
[INFO] [stdout]     | |________________________________- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 419 |       fn write_u8(mut self, x: u8) -> Self {
[INFO] [stdout]     |          ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> src/term.rs:675:13
[INFO] [stdout]     |
[INFO] [stdout] 675 | /             self.exec(terminfo::ParmRightCursor)
[INFO] [stdout] 676 | |                 .map(|ctx| ctx.arg(x).write(&mut self))
[INFO] [stdout] 677 | |                 .map_err(|e| self.err = Some(e));
[INFO] [stdout]     | |________________________________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 675 |             let _ = self.exec(terminfo::ParmRightCursor)
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> src/term.rs:679:13
[INFO] [stdout]     |
[INFO] [stdout] 679 | /             self.exec(terminfo::ParmLeftCursor)
[INFO] [stdout] 680 | |                 .map(|ctx| ctx.arg(-x).write(&mut self))
[INFO] [stdout] 681 | |                 .map_err(|e| self.err = Some(e));
[INFO] [stdout]     | |________________________________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 679 |             let _ = self.exec(terminfo::ParmLeftCursor)
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> src/term.rs:689:13
[INFO] [stdout]     |
[INFO] [stdout] 689 | /             self.exec(terminfo::ParmUpCursor)
[INFO] [stdout] 690 | |                 .map(|ctx| ctx.arg(y).write(&mut self))
[INFO] [stdout] 691 | |                 .map_err(|e| self.err = Some(e));
[INFO] [stdout]     | |________________________________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 689 |             let _ = self.exec(terminfo::ParmUpCursor)
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> src/term.rs:693:13
[INFO] [stdout]     |
[INFO] [stdout] 693 | /             self.exec(terminfo::ParmDownCursor)
[INFO] [stdout] 694 | |                 .map(|ctx| ctx.arg(-y).write(&mut self))
[INFO] [stdout] 695 | |                 .map_err(|e| self.err = Some(e));
[INFO] [stdout]     | |________________________________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 693 |             let _ = self.exec(terminfo::ParmDownCursor)
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]   --> src/terminfo/lang/executor.rs:52:9
[INFO] [stdout]    |
[INFO] [stdout] 52 |         self.env.write(&mut Parser::new(self.src), &mut w);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 52 |         let _ = self.env.write(&mut Parser::new(self.src), &mut w);
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 42 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling nixterm v0.1.2 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> examples/term.rs:38:5
[INFO] [stdout]    |
[INFO] [stdout] 38 |     term.println("");
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 38 |     let _ = term.println("");
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> examples/term.rs:51:5
[INFO] [stdout]    |
[INFO] [stdout] 51 |     term.println("");
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 51 |     let _ = term.println("");
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> examples/term.rs:52:5
[INFO] [stdout]    |
[INFO] [stdout] 52 |     term.println("");
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 52 |     let _ = term.println("");
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/ansi.rs:133:24
[INFO] [stdout]     |
[INFO] [stdout] 133 |                     '0'...'9' => (),
[INFO] [stdout]     |                        ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: `#[warn(ellipsis_inclusive_range_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/ansi.rs:184:16
[INFO] [stdout]     |
[INFO] [stdout] 184 |             '0'...'9' => Ok(Color::Index(
[INFO] [stdout]     |                ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/ansi.rs:211:27
[INFO] [stdout]     |
[INFO] [stdout] 211 |         Color::Index(x @ 0...7) => write!(w, "\x1b[{}m", x + 30),
[INFO] [stdout]     |                           ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/ansi.rs:212:27
[INFO] [stdout]     |
[INFO] [stdout] 212 |         Color::Index(x @ 8...15) => write!(w, "\x1b[{}m", x + 82),
[INFO] [stdout]     |                           ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/ansi.rs:220:27
[INFO] [stdout]     |
[INFO] [stdout] 220 |         Color::Index(x @ 0...7) => write!(w, "\x1b[{}m", x + 40),
[INFO] [stdout]     |                           ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/ansi.rs:221:27
[INFO] [stdout]     |
[INFO] [stdout] 221 |         Color::Index(x @ 8...15) => write!(w, "\x1b[{}m", x + 92),
[INFO] [stdout]     |                           ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/events.rs:246:14
[INFO] [stdout]     |
[INFO] [stdout] 246 |             0...8 | 10...12 | 14...26 | 28...31 => Key::Control((ch + 64) as char),
[INFO] [stdout]     |              ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/events.rs:246:23
[INFO] [stdout]     |
[INFO] [stdout] 246 |             0...8 | 10...12 | 14...26 | 28...31 => Key::Control((ch + 64) as char),
[INFO] [stdout]     |                       ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/events.rs:246:33
[INFO] [stdout]     |
[INFO] [stdout] 246 |             0...8 | 10...12 | 14...26 | 28...31 => Key::Control((ch + 64) as char),
[INFO] [stdout]     |                                 ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/events.rs:246:43
[INFO] [stdout]     |
[INFO] [stdout] 246 |             0...8 | 10...12 | 14...26 | 28...31 => Key::Control((ch + 64) as char),
[INFO] [stdout]     |                                           ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/events.rs:251:15
[INFO] [stdout]     |
[INFO] [stdout] 251 |             32...126 => Key::Char(ch as char),
[INFO] [stdout]     |               ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/term.rs:160:5
[INFO] [stdout]     |
[INFO] [stdout] 160 | /     /// Turn off canonical mode.
[INFO] [stdout] 161 | |     /// In non-canonical mode the terminal does perform line editing, the input buffer is 4096 characters long,
[INFO] [stdout] 162 | |     /// and timeouts may be set for input.
[INFO] [stdout]     | |_____-------------------------------------^
[INFO] [stdout]     |       |
[INFO] [stdout]     |       rustdoc does not generate documentation for macro invocations
[INFO] [stdout]     |
[INFO] [stdout]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout]     = note: `#[warn(unused_doc_comments)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/term.rs:165:5
[INFO] [stdout]     |
[INFO] [stdout] 165 | /     /// Set the minimum number of characters for the `Term::read` function to return.
[INFO] [stdout] 166 | |     ///
[INFO] [stdout] 167 | |     /// __*non-canonical mode only__
[INFO] [stdout]     | |_____-------------------------------^
[INFO] [stdout]     |       |
[INFO] [stdout]     |       rustdoc does not generate documentation for macro invocations
[INFO] [stdout]     |
[INFO] [stdout]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/term.rs:170:5
[INFO] [stdout]     |
[INFO] [stdout] 170 | /     /// Set the maximum time the `Term::read` function will wait before returning (time in deciseconds)
[INFO] [stdout] 171 | |     ///
[INFO] [stdout] 172 | |     ///
[INFO] [stdout] 173 | |     /// __*non-canonical mode only__
[INFO] [stdout]     | |_____-------------------------------^
[INFO] [stdout]     |       |
[INFO] [stdout]     |       rustdoc does not generate documentation for macro invocations
[INFO] [stdout]     |
[INFO] [stdout]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/term.rs:176:5
[INFO] [stdout]     |
[INFO] [stdout] 176 |     /// Set the character that will signal the stdout buffer should be flushed.
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]     |
[INFO] [stdout]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/term.rs:179:5
[INFO] [stdout]     |
[INFO] [stdout] 179 |     /// Set an extra end-of-line character
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]     |
[INFO] [stdout]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/term.rs:182:5
[INFO] [stdout]     |
[INFO] [stdout] 182 |     /// Set the erase char (typically it will be something like `DEL` by default)
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]     |
[INFO] [stdout]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/term.rs:185:5
[INFO] [stdout]     |
[INFO] [stdout] 185 |     /// Set the interrupt char, when this character is read the running process will be sent `SIGINT`.
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]     |
[INFO] [stdout]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/term.rs:188:5
[INFO] [stdout]     |
[INFO] [stdout] 188 |     /// Set the suspend char, when this character is read the running process will be sent `SIGTSTP`.
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]     |
[INFO] [stdout]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/term.rs:191:5
[INFO] [stdout]     |
[INFO] [stdout] 191 |     /// Set the kill char, when this character is read the running process will be sent `SIGKILL`.
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]     |
[INFO] [stdout]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/term.rs:194:5
[INFO] [stdout]     |
[INFO] [stdout] 194 |     /// Set the quit char, when this character is read the running process will be sent `SIGQUIT`.
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]     |
[INFO] [stdout]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/term.rs:197:5
[INFO] [stdout]     |
[INFO] [stdout] 197 |     /// stop showing output until the `start_output` char is reached.
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]     |
[INFO] [stdout]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/term.rs:200:5
[INFO] [stdout]     |
[INFO] [stdout] 200 |     /// Set the character the will restart  output, ofter the `stop_output` char.
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]     |
[INFO] [stdout]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around match arm expression
[INFO] [stdout]    --> src/term.rs:374:51
[INFO] [stdout]     |
[INFO] [stdout] 374 |                 ansi::Color::Index(x @ 8..=15) => (x - 8),
[INFO] [stdout]     |                                                   ^     ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 374 -                 ansi::Color::Index(x @ 8..=15) => (x - 8),
[INFO] [stdout] 374 +                 ansi::Color::Index(x @ 8..=15) => x - 8,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/term.rs:674:12
[INFO] [stdout]     |
[INFO] [stdout] 674 |         if (x > 0) {
[INFO] [stdout]     |            ^     ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 674 -         if (x > 0) {
[INFO] [stdout] 674 +         if x > 0 {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/term.rs:678:19
[INFO] [stdout]     |
[INFO] [stdout] 678 |         } else if (x < 0) {
[INFO] [stdout]     |                   ^     ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 678 -         } else if (x < 0) {
[INFO] [stdout] 678 +         } else if x < 0 {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/term.rs:688:12
[INFO] [stdout]     |
[INFO] [stdout] 688 |         if (y > 0) {
[INFO] [stdout]     |            ^     ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 688 -         if (y > 0) {
[INFO] [stdout] 688 +         if y > 0 {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/term.rs:692:19
[INFO] [stdout]     |
[INFO] [stdout] 692 |         } else if (y < 0) {
[INFO] [stdout]     |                   ^     ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 692 -         } else if (y < 0) {
[INFO] [stdout] 692 +         } else if y < 0 {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `size_of`, `transmute`
[INFO] [stdout]  --> src/util.rs:6:16
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::mem::{size_of, transmute};
[INFO] [stdout]   |                ^^^^^^^  ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::slice::from_raw_parts`
[INFO] [stdout]  --> src/util.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::slice::from_raw_parts;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::env::home_dir`: This function's behavior may be unexpected on Windows. Consider using a crate from crates.io instead.
[INFO] [stdout]   --> src/terminfo/mod.rs:31:30
[INFO] [stdout]    |
[INFO] [stdout] 31 |     if let Some(home) = env::home_dir() {
[INFO] [stdout]    |                              ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/errors.rs:98:32
[INFO] [stdout]    |
[INFO] [stdout] 98 |     fn cause(&self) -> Option<&failure::Fail> {
[INFO] [stdout]    |                                ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 98 |     fn cause(&self) -> Option<&dyn failure::Fail> {
[INFO] [stdout]    |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/terminfo/errors.rs:100:32
[INFO] [stdout]     |
[INFO] [stdout] 100 |     fn cause(&self) -> Option<&failure::Fail> {
[INFO] [stdout]     |                                ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 100 |     fn cause(&self) -> Option<&dyn failure::Fail> {
[INFO] [stdout]     |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/events.rs:248:13
[INFO] [stdout]     |
[INFO] [stdout] 248 |             10 | 13 => Key::Enter,
[INFO] [stdout]     |             ^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/term.rs:701:31
[INFO] [stdout]     |
[INFO] [stdout] 701 |     pub fn default_background(mut self) -> Self {
[INFO] [stdout]     |                               ----^^^^
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/term.rs:705:31
[INFO] [stdout]     |
[INFO] [stdout] 705 |     pub fn default_foreground(mut self) -> Self {
[INFO] [stdout]     |                               ----^^^^
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `write_u8` is never used
[INFO] [stdout]    --> src/term.rs:419:8
[INFO] [stdout]     |
[INFO] [stdout] 338 | / impl<'a, O> TermWriter<'a, O>
[INFO] [stdout] 339 | | where
[INFO] [stdout] 340 | |     O: io::Write + AsRawFd + 'a,
[INFO] [stdout]     | |________________________________- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 419 |       fn write_u8(mut self, x: u8) -> Self {
[INFO] [stdout]     |          ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> src/term.rs:675:13
[INFO] [stdout]     |
[INFO] [stdout] 675 | /             self.exec(terminfo::ParmRightCursor)
[INFO] [stdout] 676 | |                 .map(|ctx| ctx.arg(x).write(&mut self))
[INFO] [stdout] 677 | |                 .map_err(|e| self.err = Some(e));
[INFO] [stdout]     | |________________________________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 675 |             let _ = self.exec(terminfo::ParmRightCursor)
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> src/term.rs:679:13
[INFO] [stdout]     |
[INFO] [stdout] 679 | /             self.exec(terminfo::ParmLeftCursor)
[INFO] [stdout] 680 | |                 .map(|ctx| ctx.arg(-x).write(&mut self))
[INFO] [stdout] 681 | |                 .map_err(|e| self.err = Some(e));
[INFO] [stdout]     | |________________________________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 679 |             let _ = self.exec(terminfo::ParmLeftCursor)
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> src/term.rs:689:13
[INFO] [stdout]     |
[INFO] [stdout] 689 | /             self.exec(terminfo::ParmUpCursor)
[INFO] [stdout] 690 | |                 .map(|ctx| ctx.arg(y).write(&mut self))
[INFO] [stdout] 691 | |                 .map_err(|e| self.err = Some(e));
[INFO] [stdout]     | |________________________________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 689 |             let _ = self.exec(terminfo::ParmUpCursor)
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> src/term.rs:693:13
[INFO] [stdout]     |
[INFO] [stdout] 693 | /             self.exec(terminfo::ParmDownCursor)
[INFO] [stdout] 694 | |                 .map(|ctx| ctx.arg(-y).write(&mut self))
[INFO] [stdout] 695 | |                 .map_err(|e| self.err = Some(e));
[INFO] [stdout]     | |________________________________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 693 |             let _ = self.exec(terminfo::ParmDownCursor)
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]   --> src/terminfo/lang/executor.rs:52:9
[INFO] [stdout]    |
[INFO] [stdout] 52 |         self.env.write(&mut Parser::new(self.src), &mut w);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 52 |         let _ = self.env.write(&mut Parser::new(self.src), &mut w);
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 3 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 42 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished test [unoptimized + debuginfo] target(s) in 3.08s
[INFO] running `Command { std: "docker" "inspect" "02ee1ce2e5a49ebcd624c8ebe87bd8b61d6643ca0fcb231d633d169203516b9e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "02ee1ce2e5a49ebcd624c8ebe87bd8b61d6643ca0fcb231d633d169203516b9e", kill_on_drop: false }`
[INFO] [stdout] 02ee1ce2e5a49ebcd624c8ebe87bd8b61d6643ca0fcb231d633d169203516b9e
[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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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" "+1.76.0" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] ac05d7c86cbabb5f396f3d50ee4f435dd56179ad6d34440f74c858107da1513e
[INFO] running `Command { std: "docker" "start" "-a" "ac05d7c86cbabb5f396f3d50ee4f435dd56179ad6d34440f74c858107da1513e", kill_on_drop: false }`
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> src/ansi.rs:133:24
[INFO] [stderr]     |
[INFO] [stderr] 133 |                     '0'...'9' => (),
[INFO] [stderr]     |                        ^^^ help: use `..=` for an inclusive range
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr]     = note: `#[warn(ellipsis_inclusive_range_patterns)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> src/ansi.rs:184:16
[INFO] [stderr]     |
[INFO] [stderr] 184 |             '0'...'9' => Ok(Color::Index(
[INFO] [stderr]     |                ^^^ help: use `..=` for an inclusive range
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> src/ansi.rs:211:27
[INFO] [stderr]     |
[INFO] [stderr] 211 |         Color::Index(x @ 0...7) => write!(w, "\x1b[{}m", x + 30),
[INFO] [stderr]     |                           ^^^ help: use `..=` for an inclusive range
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> src/ansi.rs:212:27
[INFO] [stderr]     |
[INFO] [stderr] 212 |         Color::Index(x @ 8...15) => write!(w, "\x1b[{}m", x + 82),
[INFO] [stderr]     |                           ^^^ help: use `..=` for an inclusive range
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> src/ansi.rs:220:27
[INFO] [stderr]     |
[INFO] [stderr] 220 |         Color::Index(x @ 0...7) => write!(w, "\x1b[{}m", x + 40),
[INFO] [stderr]     |                           ^^^ help: use `..=` for an inclusive range
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> src/ansi.rs:221:27
[INFO] [stderr]     |
[INFO] [stderr] 221 |         Color::Index(x @ 8...15) => write!(w, "\x1b[{}m", x + 92),
[INFO] [stderr]     |                           ^^^ help: use `..=` for an inclusive range
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> src/events.rs:246:14
[INFO] [stderr]     |
[INFO] [stderr] 246 |             0...8 | 10...12 | 14...26 | 28...31 => Key::Control((ch + 64) as char),
[INFO] [stderr]     |              ^^^ help: use `..=` for an inclusive range
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> src/events.rs:246:23
[INFO] [stderr]     |
[INFO] [stderr] 246 |             0...8 | 10...12 | 14...26 | 28...31 => Key::Control((ch + 64) as char),
[INFO] [stderr]     |                       ^^^ help: use `..=` for an inclusive range
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> src/events.rs:246:33
[INFO] [stderr]     |
[INFO] [stderr] 246 |             0...8 | 10...12 | 14...26 | 28...31 => Key::Control((ch + 64) as char),
[INFO] [stderr]     |                                 ^^^ help: use `..=` for an inclusive range
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> src/events.rs:246:43
[INFO] [stderr]     |
[INFO] [stderr] 246 |             0...8 | 10...12 | 14...26 | 28...31 => Key::Control((ch + 64) as char),
[INFO] [stderr]     |                                           ^^^ help: use `..=` for an inclusive range
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> src/events.rs:251:15
[INFO] [stderr]     |
[INFO] [stderr] 251 |             32...126 => Key::Char(ch as char),
[INFO] [stderr]     |               ^^^ help: use `..=` for an inclusive range
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]    --> src/term.rs:160:5
[INFO] [stderr]     |
[INFO] [stderr] 160 | /     /// Turn off canonical mode.
[INFO] [stderr] 161 | |     /// In non-canonical mode the terminal does perform line editing, the input buffer is 4096 characters long,
[INFO] [stderr] 162 | |     /// and timeouts may be set for input.
[INFO] [stderr]     | |_____-------------------------------------^
[INFO] [stderr]     |       |
[INFO] [stderr]     |       rustdoc does not generate documentation for macro invocations
[INFO] [stderr]     |
[INFO] [stderr]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stderr]     = note: `#[warn(unused_doc_comments)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]    --> src/term.rs:165:5
[INFO] [stderr]     |
[INFO] [stderr] 165 | /     /// Set the minimum number of characters for the `Term::read` function to return.
[INFO] [stderr] 166 | |     ///
[INFO] [stderr] 167 | |     /// __*non-canonical mode only__
[INFO] [stderr]     | |_____-------------------------------^
[INFO] [stderr]     |       |
[INFO] [stderr]     |       rustdoc does not generate documentation for macro invocations
[INFO] [stderr]     |
[INFO] [stderr]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]    --> src/term.rs:170:5
[INFO] [stderr]     |
[INFO] [stderr] 170 | /     /// Set the maximum time the `Term::read` function will wait before returning (time in deciseconds)
[INFO] [stderr] 171 | |     ///
[INFO] [stderr] 172 | |     ///
[INFO] [stderr] 173 | |     /// __*non-canonical mode only__
[INFO] [stderr]     | |_____-------------------------------^
[INFO] [stderr]     |       |
[INFO] [stderr]     |       rustdoc does not generate documentation for macro invocations
[INFO] [stderr]     |
[INFO] [stderr]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]    --> src/term.rs:176:5
[INFO] [stderr]     |
[INFO] [stderr] 176 |     /// Set the character that will signal the stdout buffer should be flushed.
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stderr]     |
[INFO] [stderr]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]    --> src/term.rs:179:5
[INFO] [stderr]     |
[INFO] [stderr] 179 |     /// Set an extra end-of-line character
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stderr]     |
[INFO] [stderr]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]    --> src/term.rs:182:5
[INFO] [stderr]     |
[INFO] [stderr] 182 |     /// Set the erase char (typically it will be something like `DEL` by default)
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stderr]     |
[INFO] [stderr]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]    --> src/term.rs:185:5
[INFO] [stderr]     |
[INFO] [stderr] 185 |     /// Set the interrupt char, when this character is read the running process will be sent `SIGINT`.
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stderr]     |
[INFO] [stderr]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]    --> src/term.rs:188:5
[INFO] [stderr]     |
[INFO] [stderr] 188 |     /// Set the suspend char, when this character is read the running process will be sent `SIGTSTP`.
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stderr]     |
[INFO] [stderr]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]    --> src/term.rs:191:5
[INFO] [stderr]     |
[INFO] [stderr] 191 |     /// Set the kill char, when this character is read the running process will be sent `SIGKILL`.
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stderr]     |
[INFO] [stderr]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]    --> src/term.rs:194:5
[INFO] [stderr]     |
[INFO] [stderr] 194 |     /// Set the quit char, when this character is read the running process will be sent `SIGQUIT`.
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stderr]     |
[INFO] [stderr]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]    --> src/term.rs:197:5
[INFO] [stderr]     |
[INFO] [stderr] 197 |     /// stop showing output until the `start_output` char is reached.
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stderr]     |
[INFO] [stderr]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]    --> src/term.rs:200:5
[INFO] [stderr]     |
[INFO] [stderr] 200 |     /// Set the character the will restart  output, ofter the `stop_output` char.
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stderr]     |
[INFO] [stderr]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around match arm expression
[INFO] [stderr]    --> src/term.rs:374:51
[INFO] [stderr]     |
[INFO] [stderr] 374 |                 ansi::Color::Index(x @ 8..=15) => (x - 8),
[INFO] [stderr]     |                                                   ^     ^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 374 -                 ansi::Color::Index(x @ 8..=15) => (x - 8),
[INFO] [stderr] 374 +                 ansi::Color::Index(x @ 8..=15) => x - 8,
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]    --> src/term.rs:674:12
[INFO] [stderr]     |
[INFO] [stderr] 674 |         if (x > 0) {
[INFO] [stderr]     |            ^     ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 674 -         if (x > 0) {
[INFO] [stderr] 674 +         if x > 0 {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]    --> src/term.rs:678:19
[INFO] [stderr]     |
[INFO] [stderr] 678 |         } else if (x < 0) {
[INFO] [stderr]     |                   ^     ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 678 -         } else if (x < 0) {
[INFO] [stderr] 678 +         } else if x < 0 {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]    --> src/term.rs:688:12
[INFO] [stderr]     |
[INFO] [stderr] 688 |         if (y > 0) {
[INFO] [stderr]     |            ^     ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 688 -         if (y > 0) {
[INFO] [stderr] 688 +         if y > 0 {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]    --> src/term.rs:692:19
[INFO] [stderr]     |
[INFO] [stderr] 692 |         } else if (y < 0) {
[INFO] [stderr]     |                   ^     ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 692 -         } else if (y < 0) {
[INFO] [stderr] 692 +         } else if y < 0 {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `size_of`, `transmute`
[INFO] [stderr]  --> src/util.rs:6:16
[INFO] [stderr]   |
[INFO] [stderr] 6 | use std::mem::{size_of, transmute};
[INFO] [stderr]   |                ^^^^^^^  ^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::slice::from_raw_parts`
[INFO] [stderr]  --> src/util.rs:7:5
[INFO] [stderr]   |
[INFO] [stderr] 7 | use std::slice::from_raw_parts;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated function `std::env::home_dir`: This function's behavior may be unexpected on Windows. Consider using a crate from crates.io instead.
[INFO] [stderr]   --> src/terminfo/mod.rs:31:30
[INFO] [stderr]    |
[INFO] [stderr] 31 |     if let Some(home) = env::home_dir() {
[INFO] [stderr]    |                              ^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(deprecated)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/errors.rs:98:32
[INFO] [stderr]    |
[INFO] [stderr] 98 |     fn cause(&self) -> Option<&failure::Fail> {
[INFO] [stderr]    |                                ^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stderr] help: use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 98 |     fn cause(&self) -> Option<&dyn failure::Fail> {
[INFO] [stderr]    |                                +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/terminfo/errors.rs:100:32
[INFO] [stderr]     |
[INFO] [stderr] 100 |     fn cause(&self) -> Option<&failure::Fail> {
[INFO] [stderr]     |                                ^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 100 |     fn cause(&self) -> Option<&dyn failure::Fail> {
[INFO] [stderr]     |                                +++
[INFO] [stderr] 
[INFO] [stderr] warning: unreachable pattern
[INFO] [stderr]    --> src/events.rs:248:13
[INFO] [stderr]     |
[INFO] [stderr] 248 |             10 | 13 => Key::Enter,
[INFO] [stderr]     |             ^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unreachable_patterns)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/term.rs:701:31
[INFO] [stderr]     |
[INFO] [stderr] 701 |     pub fn default_background(mut self) -> Self {
[INFO] [stderr]     |                               ----^^^^
[INFO] [stderr]     |                               |
[INFO] [stderr]     |                               help: remove this `mut`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/term.rs:705:31
[INFO] [stderr]     |
[INFO] [stderr] 705 |     pub fn default_foreground(mut self) -> Self {
[INFO] [stderr]     |                               ----^^^^
[INFO] [stderr]     |                               |
[INFO] [stderr]     |                               help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: method `write_u8` is never used
[INFO] [stderr]    --> src/term.rs:419:8
[INFO] [stderr]     |
[INFO] [stderr] 338 | / impl<'a, O> TermWriter<'a, O>
[INFO] [stderr] 339 | | where
[INFO] [stderr] 340 | |     O: io::Write + AsRawFd + 'a,
[INFO] [stderr]     | |________________________________- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 419 |       fn write_u8(mut self, x: u8) -> Self {
[INFO] [stderr]     |          ^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(dead_code)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused `std::result::Result` that must be used
[INFO] [stderr]    --> src/term.rs:675:13
[INFO] [stderr]     |
[INFO] [stderr] 675 | /             self.exec(terminfo::ParmRightCursor)
[INFO] [stderr] 676 | |                 .map(|ctx| ctx.arg(x).write(&mut self))
[INFO] [stderr] 677 | |                 .map_err(|e| self.err = Some(e));
[INFO] [stderr]     | |________________________________________________^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr]     = note: `#[warn(unused_must_use)]` on by default
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 675 |             let _ = self.exec(terminfo::ParmRightCursor)
[INFO] [stderr]     |             +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `std::result::Result` that must be used
[INFO] [stderr]    --> src/term.rs:679:13
[INFO] [stderr]     |
[INFO] [stderr] 679 | /             self.exec(terminfo::ParmLeftCursor)
[INFO] [stderr] 680 | |                 .map(|ctx| ctx.arg(-x).write(&mut self))
[INFO] [stderr] 681 | |                 .map_err(|e| self.err = Some(e));
[INFO] [stderr]     | |________________________________________________^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 679 |             let _ = self.exec(terminfo::ParmLeftCursor)
[INFO] [stderr]     |             +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `std::result::Result` that must be used
[INFO] [stderr]    --> src/term.rs:689:13
[INFO] [stderr]     |
[INFO] [stderr] 689 | /             self.exec(terminfo::ParmUpCursor)
[INFO] [stderr] 690 | |                 .map(|ctx| ctx.arg(y).write(&mut self))
[INFO] [stderr] 691 | |                 .map_err(|e| self.err = Some(e));
[INFO] [stderr]     | |________________________________________________^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 689 |             let _ = self.exec(terminfo::ParmUpCursor)
[INFO] [stderr]     |             +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `std::result::Result` that must be used
[INFO] [stderr]    --> src/term.rs:693:13
[INFO] [stderr]     |
[INFO] [stderr] 693 | /             self.exec(terminfo::ParmDownCursor)
[INFO] [stderr] 694 | |                 .map(|ctx| ctx.arg(-y).write(&mut self))
[INFO] [stderr] 695 | |                 .map_err(|e| self.err = Some(e));
[INFO] [stderr]     | |________________________________________________^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 693 |             let _ = self.exec(terminfo::ParmDownCursor)
[INFO] [stderr]     |             +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `std::result::Result` that must be used
[INFO] [stderr]   --> src/terminfo/lang/executor.rs:52:9
[INFO] [stderr]    |
[INFO] [stderr] 52 |         self.env.write(&mut Parser::new(self.src), &mut w);
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]    |
[INFO] [stderr] 52 |         let _ = self.env.write(&mut Parser::new(self.src), &mut w);
[INFO] [stderr]    |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: `nixterm` (lib) generated 42 warnings (run `cargo fix --lib -p nixterm` to apply 22 suggestions)
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]   --> examples/term.rs:38:5
[INFO] [stderr]    |
[INFO] [stderr] 38 |     term.println("");
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr]    = note: `#[warn(unused_must_use)]` on by default
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]    |
[INFO] [stderr] 38 |     let _ = term.println("");
[INFO] [stderr]    |     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]   --> examples/term.rs:51:5
[INFO] [stderr]    |
[INFO] [stderr] 51 |     term.println("");
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]    |
[INFO] [stderr] 51 |     let _ = term.println("");
[INFO] [stderr]    |     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]   --> examples/term.rs:52:5
[INFO] [stderr]    |
[INFO] [stderr] 52 |     term.println("");
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]    |
[INFO] [stderr] 52 |     let _ = term.println("");
[INFO] [stderr]    |     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: `nixterm` (example "term") generated 3 warnings
[INFO] [stderr] warning: `nixterm` (lib test) generated 42 warnings (42 duplicates)
[INFO] [stderr]     Finished test [unoptimized + debuginfo] target(s) in 0.04s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/nixterm-8ba4b88aaf2b9d45)
[INFO] [stdout] 
[INFO] [stdout] running 21 tests
[INFO] [stdout] test terminfo::terminfo::test::lookup_bool ... ok
[INFO] [stdout] test terminfo::lang::tests::simple ... ok
[INFO] [stdout] test terminfo::lang::tests::printf ... ok
[INFO] [stdout] test terminfo::terminfo::test::lookup_ext_string ... ok
[INFO] [stdout] test terminfo::terminfo::test::lookup_ext_number ... ok
[INFO] [stdout] test terminfo::terminfobuf::test::lookup_bool ... ok
[INFO] [stdout] test terminfo::terminfobuf::test::lookup_ext_bool ... ok
[INFO] [stdout] test terminfo::terminfobuf::test::lookup_ext_number ... ok
[INFO] [stdout] test terminfo::terminfobuf::test::lookup_ext_string ... ok
[INFO] [stdout] test terminfo::terminfobuf::test::lookup_number ... ok
[INFO] [stdout] test terminfo::terminfobuf::test::lookup_string ... ok
[INFO] [stdout] test terminfo::terminfobuf::test::set_bool ... ok
[INFO] [stdout] test terminfo::terminfo::test::lookup_string ... ok
[INFO] [stdout] test terminfo::terminfo::test::lookup_number ... ok
[INFO] [stdout] test terminfo::terminfo::test::names ... ok
[INFO] [stdout] test terminfo::terminfo::test::lookup_ext_bool ... ok
[INFO] [stdout] test terminfo::terminfobuf::test::set_string ... ok
[INFO] [stdout] test terminfo::terminfobuf::test::set_number ... ok
[INFO] [stdout] test term::test::term ... FAILED
[INFO] [stdout] test terminfo::terminfobuf::test::from_terminfo ... ok
[INFO] [stdout] test term::test::print ... FAILED
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- term::test::term stdout ----
[INFO] [stdout] thread 'term::test::term' panicked at src/term.rs:1031:9:
[INFO] [stdout] assertion `left == right` failed
[INFO] [stdout]   left: [27, 91, 48, 59, 49, 109, 15, 72, 101, 108, 108, 111, 32, 87, 111, 114, 108, 100, 63]
[INFO] [stdout]  right: [27, 91, 48, 59, 49, 109, 72, 101, 108, 108, 111, 32, 87, 111, 114, 108, 100, 63, 27, 91, 109, 15]
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x564564339086 - std::backtrace_rs::backtrace::libunwind::trace::hbee8a7973eeb6c93
[INFO] [stdout]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/../../backtrace/src/backtrace/libunwind.rs:104:5
[INFO] [stdout]    1:     0x564564339086 - std::backtrace_rs::backtrace::trace_unsynchronized::hc8ac75eea3aa6899
[INFO] [stdout]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
[INFO] [stdout]    2:     0x564564339086 - std::sys_common::backtrace::_print_fmt::hc7f3e3b5298b1083
[INFO] [stdout]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/sys_common/backtrace.rs:68:5
[INFO] [stdout]    3:     0x564564339086 - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::hbb235daedd7c6190
[INFO] [stdout]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/sys_common/backtrace.rs:44:22
[INFO] [stdout]    4:     0x564564363960 - core::fmt::rt::Argument::fmt::h76c38a80d925a410
[INFO] [stdout]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/core/src/fmt/rt.rs:142:9
[INFO] [stdout]    5:     0x564564363960 - core::fmt::write::h3ed6aeaa977c8e45
[INFO] [stdout]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/core/src/fmt/mod.rs:1120:17
[INFO] [stdout]    6:     0x56456433694f - std::io::Write::write_fmt::h1299aa7741865f2b
[INFO] [stdout]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/io/mod.rs:1810:15
[INFO] [stdout]    7:     0x564564338e64 - std::sys_common::backtrace::_print::h5d645a07e0fcfdbb
[INFO] [stdout]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/sys_common/backtrace.rs:47:5
[INFO] [stdout]    8:     0x564564338e64 - std::sys_common::backtrace::print::h85035a511aafe7a8
[INFO] [stdout]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/sys_common/backtrace.rs:34:9
[INFO] [stdout]    9:     0x56456433abd7 - std::panicking::default_hook::{{closure}}::hcce8cea212785a25
[INFO] [stdout]   10:     0x56456433a8bd - std::panicking::default_hook::hf5fcb0f213fe709a
[INFO] [stdout]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/panicking.rs:289:9
[INFO] [stdout]   11:     0x564564229b07 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h60265c2dfa87ee34
[INFO] [stdout]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/alloc/src/boxed.rs:2029:9
[INFO] [stdout]   12:     0x564564229b07 - test::test_main::{{closure}}::h77865bd3127078c6
[INFO] [stdout]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/test/src/lib.rs:138:21
[INFO] [stdout]   13:     0x56456433b1f6 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::hbc5ccf4eb663e1e5
[INFO] [stdout]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/alloc/src/boxed.rs:2029:9
[INFO] [stdout]   14:     0x56456433b1f6 - std::panicking::rust_panic_with_hook::h095fccf1dc9379ee
[INFO] [stdout]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/panicking.rs:783:13
[INFO] [stdout]   15:     0x56456433af42 - std::panicking::begin_panic_handler::{{closure}}::h032ba12139b353db
[INFO] [stdout]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/panicking.rs:657:13
[INFO] [stdout]   16:     0x564564339586 - std::sys_common::backtrace::__rust_end_short_backtrace::h9259bc2ff8fd0f76
[INFO] [stdout]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/sys_common/backtrace.rs:171:18
[INFO] [stdout]   17:     0x56456433aca0 - rust_begin_unwind
[INFO] [stdout]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/panicking.rs:645:5
[INFO] [stdout]   18:     0x5645641b01a5 - core::panicking::panic_fmt::h784f20a50eaab275
[INFO] [stdout]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/core/src/panicking.rs:72:14
[INFO] [stdout]   19:     0x5645641b05db - core::panicking::assert_failed_inner::hbf94b40c37b92af0
[INFO] [stdout]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/core/src/panicking.rs:342:17
[INFO] [stdout]   20:     0x5645641d2562 - core::panicking::assert_failed::h30d0be288ce9be5a
[INFO] [stdout]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/core/src/panicking.rs:297:5
[INFO] [stdout]   21:     0x5645641e0321 - nixterm::term::test::term::h1d29eb3ff0684aee
[INFO] [stdout]                                at /opt/rustwide/workdir/src/term.rs:1031:9
[INFO] [stdout]   22:     0x5645641e00e7 - nixterm::term::test::term::{{closure}}::h0a631a20a6743d51
[INFO] [stdout]                                at /opt/rustwide/workdir/src/term.rs:1020:14
[INFO] [stdout]   23:     0x5645641e1ec6 - core::ops::function::FnOnce::call_once::hc06e1697c625c070
[INFO] [stdout]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   24:     0x56456422f3df - core::ops::function::FnOnce::call_once::h8dc6907944022cf6
[INFO] [stdout]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   25:     0x56456422f3df - test::__rust_begin_short_backtrace::haae1a87433f1efb3
[INFO] [stdout]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/test/src/lib.rs:627:18
[INFO] [stdout]   26:     0x56456422e161 - test::run_test_in_process::{{closure}}::h8c7decfa7c14e152
[INFO] [stdout]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/test/src/lib.rs:650:60
[INFO] [stdout]   27:     0x56456422e161 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h19e6ff056d9d21e9
[INFO] [stdout]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/core/src/panic/unwind_safe.rs:272:9
[INFO] [stdout]   28:     0x56456422e161 - std::panicking::try::do_call::h89c848fcaa37c035
[INFO] [stdout]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/panicking.rs:552:40
[INFO] [stdout]   29:     0x56456422e161 - std::panicking::try::h57ab3dc74e2839b8
[INFO] [stdout]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/panicking.rs:516:19
[INFO] [stdout]   30:     0x56456422e161 - std::panic::catch_unwind::hfb6a1b1abc120fb9
[INFO] [stdout]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/panic.rs:142:14
[INFO] [stdout]   31:     0x56456422e161 - test::run_test_in_process::h5ae2f9875edd562d
[INFO] [stdout]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/test/src/lib.rs:650:27
[INFO] [stdout]   32:     0x56456422e161 - test::run_test::{{closure}}::h35d7300d8928a067
[INFO] [stdout]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/test/src/lib.rs:573:43
[INFO] [stdout]   33:     0x5645641f5496 - test::run_test::{{closure}}::h7525ced405d23d1b
[INFO] [stdout]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/test/src/lib.rs:601:41
[INFO] [stdout]   34:     0x5645641f5496 - std::sys_common::backtrace::__rust_begin_short_backtrace::h4e7db78ce05afad8
[INFO] [stdout]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/sys_common/backtrace.rs:155:18
[INFO] [stdout]   35:     0x5645641fa4f7 - std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}::hcfbcb64f1a1b3482
[INFO] [stdout]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/thread/mod.rs:529:17
[INFO] [stdout]   36:     0x5645641fa4f7 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h9d89c5c4108bd689
[INFO] [stdout]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/core/src/panic/unwind_safe.rs:272:9
[INFO] [stdout]   37:     0x5645641fa4f7 - std::panicking::try::do_call::h8a4869bc94ec50c9
[INFO] [stdout]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/panicking.rs:552:40
[INFO] [stdout]   38:     0x5645641fa4f7 - std::panicking::try::h9a576f20ff81ac30
[INFO] [stdout]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/panicking.rs:516:19
[INFO] [stdout]   39:     0x5645641fa4f7 - std::panic::catch_unwind::hbcb4e3f860ef9830
[INFO] [stdout]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/panic.rs:142:14
[INFO] [stdout]   40:     0x5645641fa4f7 - std::thread::Builder::spawn_unchecked_::{{closure}}::h93c79a6be1505948
[INFO] [stdout]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/thread/mod.rs:528:30
[INFO] [stdout]   41:     0x5645641fa4f7 - core::ops::function::FnOnce::call_once{{vtable.shim}}::h426d96740c81bdaf
[INFO] [stdout]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   42:     0x56456433fd85 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h12de4fc57affb195
[INFO] [stdout]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/alloc/src/boxed.rs:2015:9
[INFO] [stdout]   43:     0x56456433fd85 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h3c619f45059d5cf1
[INFO] [stdout]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/alloc/src/boxed.rs:2015:9
[INFO] [stdout]   44:     0x56456433fd85 - std::sys::unix::thread::Thread::new::thread_start::hbac657605e4b7389
[INFO] [stdout]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/sys/unix/thread.rs:108:17
[INFO] [stdout]   45:     0x7f087b1adac3 - <unknown>
[INFO] [stdout]   46:     0x7f087b23ebf4 - __clone
[INFO] [stdout]   47:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- term::test::print stdout ----
[INFO] [stdout] thread 'term::test::print' panicked at src/term.rs:1055:9:
[INFO] [stdout] assertion `left == right` failed
[INFO] [stdout]   left: "\u{1b}[0;1m\u{f}Hello\u{1b}[0m\u{f}\u{1b}[31mWorld\u{1b}[0m\u{f}?"
[INFO] [stdout]  right: "\u{1b}[0;1mHello\u{1b}[0m \u{1b}[31mWorld\u{1b}[0m?"
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x564564339086 - std::backtrace_rs::backtrace::libunwind::trace::hbee8a7973eeb6c93
[INFO] [stdout]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/../../backtrace/src/backtrace/libunwind.rs:104:5
[INFO] [stdout]    1:     0x564564339086 - std::backtrace_rs::backtrace::trace_unsynchronized::hc8ac75eea3aa6899
[INFO] [stdout]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
[INFO] [stdout]    2:     0x564564339086 - std::sys_common::backtrace::_print_fmt::hc7f3e3b5298b1083
[INFO] [stdout]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/sys_common/backtrace.rs:68:5
[INFO] [stdout]    3:     0x564564339086 - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::hbb235daedd7c6190
[INFO] [stdout]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/sys_common/backtrace.rs:44:22
[INFO] [stdout]    4:     0x564564363960 - core::fmt::rt::Argument::fmt::h76c38a80d925a410
[INFO] [stdout]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/core/src/fmt/rt.rs:142:9
[INFO] [stdout]    5:     0x564564363960 - core::fmt::write::h3ed6aeaa977c8e45
[INFO] [stdout]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/core/src/fmt/mod.rs:1120:17
[INFO] [stdout]    6:     0x56456433694f - std::io::Write::write_fmt::h1299aa7741865f2b
[INFO] [stdout]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/io/mod.rs:1810:15
[INFO] [stdout]    7:     0x564564338e64 - std::sys_common::backtrace::_print::h5d645a07e0fcfdbb
[INFO] [stdout]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/sys_common/backtrace.rs:47:5
[INFO] [stdout]    8:     0x564564338e64 - std::sys_common::backtrace::print::h85035a511aafe7a8
[INFO] [stdout]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/sys_common/backtrace.rs:34:9
[INFO] [stdout]    9:     0x56456433abd7 - std::panicking::default_hook::{{closure}}::hcce8cea212785a25
[INFO] [stdout]   10:     0x56456433a8bd - std::panicking::default_hook::hf5fcb0f213fe709a
[INFO] [stdout]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/panicking.rs:289:9
[INFO] [stdout]   11:     0x564564229b07 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h60265c2dfa87ee34
[INFO] [stdout]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/alloc/src/boxed.rs:2029:9
[INFO] [stdout]   12:     0x564564229b07 - test::test_main::{{closure}}::h77865bd3127078c6
[INFO] [stdout]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/test/src/lib.rs:138:21
[INFO] [stdout]   13:     0x56456433b1f6 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::hbc5ccf4eb663e1e5
[INFO] [stdout]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/alloc/src/boxed.rs:2029:9
[INFO] [stdout]   14:     0x56456433b1f6 - std::panicking::rust_panic_with_hook::h095fccf1dc9379ee
[INFO] [stdout]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/panicking.rs:783:13
[INFO] [stdout]   15:     0x56456433af42 - std::panicking::begin_panic_handler::{{closure}}::h032ba12139b353db
[INFO] [stdout]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/panicking.rs:657:13
[INFO] [stdout]   16:     0x564564339586 - std::sys_common::backtrace::__rust_end_short_backtrace::h9259bc2ff8fd0f76
[INFO] [stdout]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/sys_common/backtrace.rs:171:18
[INFO] [stdout]   17:     0x56456433aca0 - rust_begin_unwind
[INFO] [stdout]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/panicking.rs:645:5
[INFO] [stdout]   18:     0x5645641b01a5 - core::panicking::panic_fmt::h784f20a50eaab275
[INFO] [stdout]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/core/src/panicking.rs:72:14
[INFO] [stdout]   19:     0x5645641b05db - core::panicking::assert_failed_inner::hbf94b40c37b92af0
[INFO] [stdout]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/core/src/panicking.rs:342:17
[INFO] [stdout]   20:     0x5645641d2472 - core::panicking::assert_failed::h04ecb4279a1fa36c
[INFO] [stdout]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/core/src/panicking.rs:297:5
[INFO] [stdout]   21:     0x5645641e0745 - nixterm::term::test::print::h402ac96e9bac4e93
[INFO] [stdout]                                at /opt/rustwide/workdir/src/term.rs:1055:9
[INFO] [stdout]   22:     0x5645641e0377 - nixterm::term::test::print::{{closure}}::he0e35f8e09b38e73
[INFO] [stdout]                                at /opt/rustwide/workdir/src/term.rs:1035:15
[INFO] [stdout]   23:     0x5645641e1bf6 - core::ops::function::FnOnce::call_once::h664a292d31542862
[INFO] [stdout]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   24:     0x56456422f3df - core::ops::function::FnOnce::call_once::h8dc6907944022cf6
[INFO] [stdout]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   25:     0x56456422f3df - test::__rust_begin_short_backtrace::haae1a87433f1efb3
[INFO] [stdout]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/test/src/lib.rs:627:18
[INFO] [stdout]   26:     0x56456422e161 - test::run_test_in_process::{{closure}}::h8c7decfa7c14e152
[INFO] [stdout]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/test/src/lib.rs:650:60
[INFO] [stdout]   27:     0x56456422e161 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h19e6ff056d9d21e9
[INFO] [stdout]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/core/src/panic/unwind_safe.rs:272:9
[INFO] [stdout]   28:     0x56456422e161 - std::panicking::try::do_call::h89c848fcaa37c035
[INFO] [stdout]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/panicking.rs:552:40
[INFO] [stdout]   29:     0x56456422e161 - std::panicking::try::h57ab3dc74e2839b8
[INFO] [stdout]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/panicking.rs:516:19
[INFO] [stdout]   30:     0x56456422e161 - std::panic::catch_unwind::hfb6a1b1abc120fb9
[INFO] [stdout]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/panic.rs:142:14
[INFO] [stdout]   31:     0x56456422e161 - test::run_test_in_process::h5ae2f9875edd562d
[INFO] [stdout]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/test/src/lib.rs:650:27
[INFO] [stdout]   32:     0x56456422e161 - test::run_test::{{closure}}::h35d7300d8928a067
[INFO] [stdout]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/test/src/lib.rs:573:43
[INFO] [stdout]   33:     0x5645641f5496 - test::run_test::{{closure}}::h7525ced405d23d1b
[INFO] [stdout]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/test/src/lib.rs:601:41
[INFO] [stdout]   34:     0x5645641f5496 - std::sys_common::backtrace::__rust_begin_short_backtrace::h4e7db78ce05afad8
[INFO] [stdout]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/sys_common/backtrace.rs:155:18
[INFO] [stdout]   35:     0x5645641fa4f7 - std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}::hcfbcb64f1a1b3482
[INFO] [stdout]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/thread/mod.rs:529:17
[INFO] [stdout]   36:     0x5645641fa4f7 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h9d89c5c4108bd689
[INFO] [stdout]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/core/src/panic/unwind_safe.rs:272:9
[INFO] [stdout]   37:     0x5645641fa4f7 - std::panicking::try::do_call::h8a4869bc94ec50c9
[INFO] [stdout]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/panicking.rs:552:40
[INFO] [stdout]   38:     0x5645641fa4f7 - std::panicking::try::h9a576f20ff81ac30
[INFO] [stdout]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/panicking.rs:516:19
[INFO] [stdout]   39:     0x5645641fa4f7 - std::panic::catch_unwind::hbcb4e3f860ef9830
[INFO] [stdout]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/panic.rs:142:14
[INFO] [stdout]   40:     0x5645641fa4f7 - std::thread::Builder::spawn_unchecked_::{{closure}}::h93c79a6be1505948
[INFO] [stdout]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/thread/mod.rs:528:30
[INFO] [stdout]   41:     0x5645641fa4f7 - core::ops::function::FnOnce::call_once{{vtable.shim}}::h426d96740c81bdaf
[INFO] [stdout]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   42:     0x56456433fd85 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h12de4fc57affb195
[INFO] [stdout]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/alloc/src/boxed.rs:2015:9
[INFO] [stdout]   43:     0x56456433fd85 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h3c619f45059d5cf1
[INFO] [stdout]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/alloc/src/boxed.rs:2015:9
[INFO] [stdout]   44:     0x56456433fd85 - std::sys::unix::thread::Thread::new::thread_start::hbac657605e4b7389
[INFO] [stdout]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/sys/unix/thread.rs:108:17
[INFO] [stdout]   45:     0x7f087b1adac3 - <unknown>
[INFO] [stdout]   46:     0x7f087b23ebf4 - __clone
[INFO] [stdout]   47:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     term::test::print
[INFO] [stdout]     term::test::term
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 19 passed; 2 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.04s
[INFO] [stdout] 
[INFO] [stderr] error: test failed, to rerun pass `--lib`
[INFO] running `Command { std: "docker" "inspect" "ac05d7c86cbabb5f396f3d50ee4f435dd56179ad6d34440f74c858107da1513e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ac05d7c86cbabb5f396f3d50ee4f435dd56179ad6d34440f74c858107da1513e", kill_on_drop: false }`
[INFO] [stdout] ac05d7c86cbabb5f396f3d50ee4f435dd56179ad6d34440f74c858107da1513e
[INFO] testing nixterm-0.1.2 against beta-2024-02-10 for beta-1.77-1
[INFO] extracting crate nixterm 0.1.2 into /workspace/builds/worker-5-tc2/source
[INFO] validating manifest of crates.io crate nixterm 0.1.2 on toolchain beta-2024-02-10
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2024-02-10" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate nixterm 0.1.2
[INFO] removed 0 missing examples
[INFO] finished tweaking crates.io crate nixterm 0.1.2
[INFO] tweaked toml for crates.io crate nixterm 0.1.2 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" "+beta-2024-02-10" "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" "+beta-2024-02-10" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[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" "+beta-2024-02-10" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] db4f14586a0d0f40924b15175cbf18b99c6874cd8341cbd1f920273862f3b54f
[INFO] running `Command { std: "docker" "start" "-a" "db4f14586a0d0f40924b15175cbf18b99c6874cd8341cbd1f920273862f3b54f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "db4f14586a0d0f40924b15175cbf18b99c6874cd8341cbd1f920273862f3b54f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "db4f14586a0d0f40924b15175cbf18b99c6874cd8341cbd1f920273862f3b54f", kill_on_drop: false }`
[INFO] [stdout] db4f14586a0d0f40924b15175cbf18b99c6874cd8341cbd1f920273862f3b54f
[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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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" "+beta-2024-02-10" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 83ef472103a8a37b361d183cf8e445c10ec0467b74c52ad45fb024cb822b0687
[INFO] running `Command { std: "docker" "start" "-a" "83ef472103a8a37b361d183cf8e445c10ec0467b74c52ad45fb024cb822b0687", kill_on_drop: false }`
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling cc v1.0.85
[INFO] [stderr]    Compiling gimli v0.28.1
[INFO] [stderr]    Compiling unicode-xid v0.2.4
[INFO] [stderr]    Compiling memchr v2.7.1
[INFO] [stderr]    Compiling failure_derive v0.1.8
[INFO] [stderr]    Compiling miniz_oxide v0.7.2
[INFO] [stderr]    Compiling object v0.32.2
[INFO] [stderr]    Compiling backtrace v0.3.69
[INFO] [stderr]    Compiling synstructure v0.12.6
[INFO] [stderr]    Compiling addr2line v0.21.0
[INFO] [stderr]    Compiling failure v0.1.8
[INFO] [stderr]    Compiling nixterm v0.1.2 (/opt/rustwide/workdir)
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/ansi.rs:133:24
[INFO] [stdout]     |
[INFO] [stdout] 133 |                     '0'...'9' => (),
[INFO] [stdout]     |                        ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: `#[warn(ellipsis_inclusive_range_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/ansi.rs:184:16
[INFO] [stdout]     |
[INFO] [stdout] 184 |             '0'...'9' => Ok(Color::Index(
[INFO] [stdout]     |                ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/ansi.rs:211:27
[INFO] [stdout]     |
[INFO] [stdout] 211 |         Color::Index(x @ 0...7) => write!(w, "\x1b[{}m", x + 30),
[INFO] [stdout]     |                           ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/ansi.rs:212:27
[INFO] [stdout]     |
[INFO] [stdout] 212 |         Color::Index(x @ 8...15) => write!(w, "\x1b[{}m", x + 82),
[INFO] [stdout]     |                           ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/ansi.rs:220:27
[INFO] [stdout]     |
[INFO] [stdout] 220 |         Color::Index(x @ 0...7) => write!(w, "\x1b[{}m", x + 40),
[INFO] [stdout]     |                           ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/ansi.rs:221:27
[INFO] [stdout]     |
[INFO] [stdout] 221 |         Color::Index(x @ 8...15) => write!(w, "\x1b[{}m", x + 92),
[INFO] [stdout]     |                           ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/events.rs:246:14
[INFO] [stdout]     |
[INFO] [stdout] 246 |             0...8 | 10...12 | 14...26 | 28...31 => Key::Control((ch + 64) as char),
[INFO] [stdout]     |              ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/events.rs:246:23
[INFO] [stdout]     |
[INFO] [stdout] 246 |             0...8 | 10...12 | 14...26 | 28...31 => Key::Control((ch + 64) as char),
[INFO] [stdout]     |                       ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/events.rs:246:33
[INFO] [stdout]     |
[INFO] [stdout] 246 |             0...8 | 10...12 | 14...26 | 28...31 => Key::Control((ch + 64) as char),
[INFO] [stdout]     |                                 ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/events.rs:246:43
[INFO] [stdout]     |
[INFO] [stdout] 246 |             0...8 | 10...12 | 14...26 | 28...31 => Key::Control((ch + 64) as char),
[INFO] [stdout]     |                                           ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/events.rs:251:15
[INFO] [stdout]     |
[INFO] [stdout] 251 |             32...126 => Key::Char(ch as char),
[INFO] [stdout]     |               ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/term.rs:160:5
[INFO] [stdout]     |
[INFO] [stdout] 160 | /     /// Turn off canonical mode.
[INFO] [stdout] 161 | |     /// In non-canonical mode the terminal does perform line editing, the input buffer is 4096 characters long,
[INFO] [stdout] 162 | |     /// and timeouts may be set for input.
[INFO] [stdout]     | |_____-------------------------------------^
[INFO] [stdout]     |       |
[INFO] [stdout]     |       rustdoc does not generate documentation for macro invocations
[INFO] [stdout]     |
[INFO] [stdout]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout]     = note: `#[warn(unused_doc_comments)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/term.rs:165:5
[INFO] [stdout]     |
[INFO] [stdout] 165 | /     /// Set the minimum number of characters for the `Term::read` function to return.
[INFO] [stdout] 166 | |     ///
[INFO] [stdout] 167 | |     /// __*non-canonical mode only__
[INFO] [stdout]     | |_____-------------------------------^
[INFO] [stdout]     |       |
[INFO] [stdout]     |       rustdoc does not generate documentation for macro invocations
[INFO] [stdout]     |
[INFO] [stdout]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/term.rs:170:5
[INFO] [stdout]     |
[INFO] [stdout] 170 | /     /// Set the maximum time the `Term::read` function will wait before returning (time in deciseconds)
[INFO] [stdout] 171 | |     ///
[INFO] [stdout] 172 | |     ///
[INFO] [stdout] 173 | |     /// __*non-canonical mode only__
[INFO] [stdout]     | |_____-------------------------------^
[INFO] [stdout]     |       |
[INFO] [stdout]     |       rustdoc does not generate documentation for macro invocations
[INFO] [stdout]     |
[INFO] [stdout]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/term.rs:176:5
[INFO] [stdout]     |
[INFO] [stdout] 176 |     /// Set the character that will signal the stdout buffer should be flushed.
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]     |
[INFO] [stdout]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/term.rs:179:5
[INFO] [stdout]     |
[INFO] [stdout] 179 |     /// Set an extra end-of-line character
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]     |
[INFO] [stdout]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/term.rs:182:5
[INFO] [stdout]     |
[INFO] [stdout] 182 |     /// Set the erase char (typically it will be something like `DEL` by default)
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]     |
[INFO] [stdout]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/term.rs:185:5
[INFO] [stdout]     |
[INFO] [stdout] 185 |     /// Set the interrupt char, when this character is read the running process will be sent `SIGINT`.
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]     |
[INFO] [stdout]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/term.rs:188:5
[INFO] [stdout]     |
[INFO] [stdout] 188 |     /// Set the suspend char, when this character is read the running process will be sent `SIGTSTP`.
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]     |
[INFO] [stdout]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/term.rs:191:5
[INFO] [stdout]     |
[INFO] [stdout] 191 |     /// Set the kill char, when this character is read the running process will be sent `SIGKILL`.
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]     |
[INFO] [stdout]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/term.rs:194:5
[INFO] [stdout]     |
[INFO] [stdout] 194 |     /// Set the quit char, when this character is read the running process will be sent `SIGQUIT`.
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]     |
[INFO] [stdout]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/term.rs:197:5
[INFO] [stdout]     |
[INFO] [stdout] 197 |     /// stop showing output until the `start_output` char is reached.
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]     |
[INFO] [stdout]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/term.rs:200:5
[INFO] [stdout]     |
[INFO] [stdout] 200 |     /// Set the character the will restart  output, ofter the `stop_output` char.
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]     |
[INFO] [stdout]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around match arm expression
[INFO] [stdout]    --> src/term.rs:374:51
[INFO] [stdout]     |
[INFO] [stdout] 374 |                 ansi::Color::Index(x @ 8..=15) => (x - 8),
[INFO] [stdout]     |                                                   ^     ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 374 -                 ansi::Color::Index(x @ 8..=15) => (x - 8),
[INFO] [stdout] 374 +                 ansi::Color::Index(x @ 8..=15) => x - 8,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/term.rs:674:12
[INFO] [stdout]     |
[INFO] [stdout] 674 |         if (x > 0) {
[INFO] [stdout]     |            ^     ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 674 -         if (x > 0) {
[INFO] [stdout] 674 +         if x > 0 {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/term.rs:678:19
[INFO] [stdout]     |
[INFO] [stdout] 678 |         } else if (x < 0) {
[INFO] [stdout]     |                   ^     ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 678 -         } else if (x < 0) {
[INFO] [stdout] 678 +         } else if x < 0 {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/term.rs:688:12
[INFO] [stdout]     |
[INFO] [stdout] 688 |         if (y > 0) {
[INFO] [stdout]     |            ^     ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 688 -         if (y > 0) {
[INFO] [stdout] 688 +         if y > 0 {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/term.rs:692:19
[INFO] [stdout]     |
[INFO] [stdout] 692 |         } else if (y < 0) {
[INFO] [stdout]     |                   ^     ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 692 -         } else if (y < 0) {
[INFO] [stdout] 692 +         } else if y < 0 {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `size_of`, `transmute`
[INFO] [stdout]  --> src/util.rs:6:16
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::mem::{size_of, transmute};
[INFO] [stdout]   |                ^^^^^^^  ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::slice::from_raw_parts`
[INFO] [stdout]  --> src/util.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::slice::from_raw_parts;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::env::home_dir`: This function's behavior may be unexpected on Windows. Consider using a crate from crates.io instead.
[INFO] [stdout]   --> src/terminfo/mod.rs:31:30
[INFO] [stdout]    |
[INFO] [stdout] 31 |     if let Some(home) = env::home_dir() {
[INFO] [stdout]    |                              ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/errors.rs:98:32
[INFO] [stdout]    |
[INFO] [stdout] 98 |     fn cause(&self) -> Option<&failure::Fail> {
[INFO] [stdout]    |                                ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 98 |     fn cause(&self) -> Option<&dyn failure::Fail> {
[INFO] [stdout]    |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/terminfo/errors.rs:100:32
[INFO] [stdout]     |
[INFO] [stdout] 100 |     fn cause(&self) -> Option<&failure::Fail> {
[INFO] [stdout]     |                                ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 100 |     fn cause(&self) -> Option<&dyn failure::Fail> {
[INFO] [stdout]     |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/events.rs:248:13
[INFO] [stdout]     |
[INFO] [stdout] 248 |             10 | 13 => Key::Enter,
[INFO] [stdout]     |             ^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/term.rs:701:31
[INFO] [stdout]     |
[INFO] [stdout] 701 |     pub fn default_background(mut self) -> Self {
[INFO] [stdout]     |                               ----^^^^
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/term.rs:705:31
[INFO] [stdout]     |
[INFO] [stdout] 705 |     pub fn default_foreground(mut self) -> Self {
[INFO] [stdout]     |                               ----^^^^
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `write_u8` is never used
[INFO] [stdout]    --> src/term.rs:419:8
[INFO] [stdout]     |
[INFO] [stdout] 338 | / impl<'a, O> TermWriter<'a, O>
[INFO] [stdout] 339 | | where
[INFO] [stdout] 340 | |     O: io::Write + AsRawFd + 'a,
[INFO] [stdout]     | |________________________________- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 419 |       fn write_u8(mut self, x: u8) -> Self {
[INFO] [stdout]     |          ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> src/term.rs:675:13
[INFO] [stdout]     |
[INFO] [stdout] 675 | /             self.exec(terminfo::ParmRightCursor)
[INFO] [stdout] 676 | |                 .map(|ctx| ctx.arg(x).write(&mut self))
[INFO] [stdout] 677 | |                 .map_err(|e| self.err = Some(e));
[INFO] [stdout]     | |________________________________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 675 |             let _ = self.exec(terminfo::ParmRightCursor)
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> src/term.rs:679:13
[INFO] [stdout]     |
[INFO] [stdout] 679 | /             self.exec(terminfo::ParmLeftCursor)
[INFO] [stdout] 680 | |                 .map(|ctx| ctx.arg(-x).write(&mut self))
[INFO] [stdout] 681 | |                 .map_err(|e| self.err = Some(e));
[INFO] [stdout]     | |________________________________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 679 |             let _ = self.exec(terminfo::ParmLeftCursor)
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> src/term.rs:689:13
[INFO] [stdout]     |
[INFO] [stdout] 689 | /             self.exec(terminfo::ParmUpCursor)
[INFO] [stdout] 690 | |                 .map(|ctx| ctx.arg(y).write(&mut self))
[INFO] [stdout] 691 | |                 .map_err(|e| self.err = Some(e));
[INFO] [stdout]     | |________________________________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 689 |             let _ = self.exec(terminfo::ParmUpCursor)
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> src/term.rs:693:13
[INFO] [stdout]     |
[INFO] [stdout] 693 | /             self.exec(terminfo::ParmDownCursor)
[INFO] [stdout] 694 | |                 .map(|ctx| ctx.arg(-y).write(&mut self))
[INFO] [stdout] 695 | |                 .map_err(|e| self.err = Some(e));
[INFO] [stdout]     | |________________________________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 693 |             let _ = self.exec(terminfo::ParmDownCursor)
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]   --> src/terminfo/lang/executor.rs:52:9
[INFO] [stdout]    |
[INFO] [stdout] 52 |         self.env.write(&mut Parser::new(self.src), &mut w);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 52 |         let _ = self.env.write(&mut Parser::new(self.src), &mut w);
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 42 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished dev [unoptimized + debuginfo] target(s) in 12.17s
[INFO] running `Command { std: "docker" "inspect" "83ef472103a8a37b361d183cf8e445c10ec0467b74c52ad45fb024cb822b0687", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "83ef472103a8a37b361d183cf8e445c10ec0467b74c52ad45fb024cb822b0687", kill_on_drop: false }`
[INFO] [stdout] 83ef472103a8a37b361d183cf8e445c10ec0467b74c52ad45fb024cb822b0687
[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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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" "+beta-2024-02-10" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 783cf97a744a4cde6ae6dc022f717dc5be02db7f17ed2deb48eb1714eddc4c06
[INFO] running `Command { std: "docker" "start" "-a" "783cf97a744a4cde6ae6dc022f717dc5be02db7f17ed2deb48eb1714eddc4c06", kill_on_drop: false }`
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/ansi.rs:133:24
[INFO] [stdout]     |
[INFO] [stdout] 133 |                     '0'...'9' => (),
[INFO] [stdout]     |                        ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: `#[warn(ellipsis_inclusive_range_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/ansi.rs:184:16
[INFO] [stdout]     |
[INFO] [stdout] 184 |             '0'...'9' => Ok(Color::Index(
[INFO] [stdout]     |                ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/ansi.rs:211:27
[INFO] [stdout]     |
[INFO] [stdout] 211 |         Color::Index(x @ 0...7) => write!(w, "\x1b[{}m", x + 30),
[INFO] [stdout]     |                           ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/ansi.rs:212:27
[INFO] [stdout]     |
[INFO] [stdout] 212 |         Color::Index(x @ 8...15) => write!(w, "\x1b[{}m", x + 82),
[INFO] [stdout]     |                           ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/ansi.rs:220:27
[INFO] [stdout]     |
[INFO] [stdout] 220 |         Color::Index(x @ 0...7) => write!(w, "\x1b[{}m", x + 40),
[INFO] [stdout]     |                           ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/ansi.rs:221:27
[INFO] [stdout]     |
[INFO] [stdout] 221 |         Color::Index(x @ 8...15) => write!(w, "\x1b[{}m", x + 92),
[INFO] [stdout]     |                           ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/events.rs:246:14
[INFO] [stdout]     |
[INFO] [stdout] 246 |             0...8 | 10...12 | 14...26 | 28...31 => Key::Control((ch + 64) as char),
[INFO] [stdout]     |              ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/events.rs:246:23
[INFO] [stdout]     |
[INFO] [stdout] 246 |             0...8 | 10...12 | 14...26 | 28...31 => Key::Control((ch + 64) as char),
[INFO] [stdout]     |                       ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/events.rs:246:33
[INFO] [stdout]     |
[INFO] [stdout] 246 |             0...8 | 10...12 | 14...26 | 28...31 => Key::Control((ch + 64) as char),
[INFO] [stdout]     |                                 ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/events.rs:246:43
[INFO] [stdout]     |
[INFO] [stdout] 246 |             0...8 | 10...12 | 14...26 | 28...31 => Key::Control((ch + 64) as char),
[INFO] [stdout]     |                                           ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/events.rs:251:15
[INFO] [stdout]     |
[INFO] [stdout] 251 |             32...126 => Key::Char(ch as char),
[INFO] [stdout]     |               ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/term.rs:160:5
[INFO] [stdout]     |
[INFO] [stdout] 160 | /     /// Turn off canonical mode.
[INFO] [stdout] 161 | |     /// In non-canonical mode the terminal does perform line editing, the input buffer is 4096 characters long,
[INFO] [stdout] 162 | |     /// and timeouts may be set for input.
[INFO] [stdout]     | |_____-------------------------------------^
[INFO] [stdout]     |       |
[INFO] [stdout]     |       rustdoc does not generate documentation for macro invocations
[INFO] [stdout]     |
[INFO] [stdout]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout]     = note: `#[warn(unused_doc_comments)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/term.rs:165:5
[INFO] [stdout]     |
[INFO] [stdout] 165 | /     /// Set the minimum number of characters for the `Term::read` function to return.
[INFO] [stdout] 166 | |     ///
[INFO] [stdout] 167 | |     /// __*non-canonical mode only__
[INFO] [stdout]     | |_____-------------------------------^
[INFO] [stdout]     |       |
[INFO] [stdout]     |       rustdoc does not generate documentation for macro invocations
[INFO] [stdout]     |
[INFO] [stdout]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/term.rs:170:5
[INFO] [stdout]     |
[INFO] [stdout] 170 | /     /// Set the maximum time the `Term::read` function will wait before returning (time in deciseconds)
[INFO] [stdout] 171 | |     ///
[INFO] [stdout] 172 | |     ///
[INFO] [stdout] 173 | |     /// __*non-canonical mode only__
[INFO] [stdout]     | |_____-------------------------------^
[INFO] [stdout]     |       |
[INFO] [stdout]     |       rustdoc does not generate documentation for macro invocations
[INFO] [stdout]     |
[INFO] [stdout]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/term.rs:176:5
[INFO] [stdout]     |
[INFO] [stdout] 176 |     /// Set the character that will signal the stdout buffer should be flushed.
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]     |
[INFO] [stdout]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/term.rs:179:5
[INFO] [stdout]     |
[INFO] [stdout] 179 |     /// Set an extra end-of-line character
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]     |
[INFO] [stdout]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/term.rs:182:5
[INFO] [stdout]     |
[INFO] [stdout] 182 |     /// Set the erase char (typically it will be something like `DEL` by default)
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]     |
[INFO] [stdout]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/term.rs:185:5
[INFO] [stdout]     |
[INFO] [stdout] 185 |     /// Set the interrupt char, when this character is read the running process will be sent `SIGINT`.
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]     |
[INFO] [stdout]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/term.rs:188:5
[INFO] [stdout]     |
[INFO] [stdout] 188 |     /// Set the suspend char, when this character is read the running process will be sent `SIGTSTP`.
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]     |
[INFO] [stdout]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/term.rs:191:5
[INFO] [stdout]     |
[INFO] [stdout] 191 |     /// Set the kill char, when this character is read the running process will be sent `SIGKILL`.
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]     |
[INFO] [stdout]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/term.rs:194:5
[INFO] [stdout]     |
[INFO] [stdout] 194 |     /// Set the quit char, when this character is read the running process will be sent `SIGQUIT`.
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]     |
[INFO] [stdout]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/term.rs:197:5
[INFO] [stdout]     |
[INFO] [stdout] 197 |     /// stop showing output until the `start_output` char is reached.
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]     |
[INFO] [stdout]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/term.rs:200:5
[INFO] [stdout]     |
[INFO] [stdout] 200 |     /// Set the character the will restart  output, ofter the `stop_output` char.
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]     |
[INFO] [stdout]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around match arm expression
[INFO] [stdout]    --> src/term.rs:374:51
[INFO] [stdout]     |
[INFO] [stdout] 374 |                 ansi::Color::Index(x @ 8..=15) => (x - 8),
[INFO] [stdout]     |                                                   ^     ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 374 -                 ansi::Color::Index(x @ 8..=15) => (x - 8),
[INFO] [stdout] 374 +                 ansi::Color::Index(x @ 8..=15) => x - 8,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/term.rs:674:12
[INFO] [stdout]     |
[INFO] [stdout] 674 |         if (x > 0) {
[INFO] [stdout]     |            ^     ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 674 -         if (x > 0) {
[INFO] [stdout] 674 +         if x > 0 {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/term.rs:678:19
[INFO] [stdout]     |
[INFO] [stdout] 678 |         } else if (x < 0) {
[INFO] [stdout]     |                   ^     ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 678 -         } else if (x < 0) {
[INFO] [stdout] 678 +         } else if x < 0 {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/term.rs:688:12
[INFO] [stdout]     |
[INFO] [stdout] 688 |         if (y > 0) {
[INFO] [stdout]     |            ^     ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 688 -         if (y > 0) {
[INFO] [stdout] 688 +         if y > 0 {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/term.rs:692:19
[INFO] [stdout]     |
[INFO] [stdout] 692 |         } else if (y < 0) {
[INFO] [stdout]     |                   ^     ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 692 -         } else if (y < 0) {
[INFO] [stdout] 692 +         } else if y < 0 {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `size_of`, `transmute`
[INFO] [stdout]  --> src/util.rs:6:16
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::mem::{size_of, transmute};
[INFO] [stdout]   |                ^^^^^^^  ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::slice::from_raw_parts`
[INFO] [stdout]  --> src/util.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::slice::from_raw_parts;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::env::home_dir`: This function's behavior may be unexpected on Windows. Consider using a crate from crates.io instead.
[INFO] [stdout]   --> src/terminfo/mod.rs:31:30
[INFO] [stdout]    |
[INFO] [stdout] 31 |     if let Some(home) = env::home_dir() {
[INFO] [stdout]    |                              ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/errors.rs:98:32
[INFO] [stdout]    |
[INFO] [stdout] 98 |     fn cause(&self) -> Option<&failure::Fail> {
[INFO] [stdout]    |                                ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 98 |     fn cause(&self) -> Option<&dyn failure::Fail> {
[INFO] [stdout]    |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/terminfo/errors.rs:100:32
[INFO] [stdout]     |
[INFO] [stdout] 100 |     fn cause(&self) -> Option<&failure::Fail> {
[INFO] [stdout]     |                                ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 100 |     fn cause(&self) -> Option<&dyn failure::Fail> {
[INFO] [stdout]     |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/events.rs:248:13
[INFO] [stdout]     |
[INFO] [stdout] 248 |             10 | 13 => Key::Enter,
[INFO] [stdout]     |             ^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/term.rs:701:31
[INFO] [stdout]     |
[INFO] [stdout] 701 |     pub fn default_background(mut self) -> Self {
[INFO] [stdout]     |                               ----^^^^
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/term.rs:705:31
[INFO] [stdout]     |
[INFO] [stdout] 705 |     pub fn default_foreground(mut self) -> Self {
[INFO] [stdout]     |                               ----^^^^
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `write_u8` is never used
[INFO] [stdout]    --> src/term.rs:419:8
[INFO] [stdout]     |
[INFO] [stdout] 338 | / impl<'a, O> TermWriter<'a, O>
[INFO] [stdout] 339 | | where
[INFO] [stdout] 340 | |     O: io::Write + AsRawFd + 'a,
[INFO] [stdout]     | |________________________________- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 419 |       fn write_u8(mut self, x: u8) -> Self {
[INFO] [stdout]     |          ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> src/term.rs:675:13
[INFO] [stdout]     |
[INFO] [stdout] 675 | /             self.exec(terminfo::ParmRightCursor)
[INFO] [stdout] 676 | |                 .map(|ctx| ctx.arg(x).write(&mut self))
[INFO] [stdout] 677 | |                 .map_err(|e| self.err = Some(e));
[INFO] [stdout]     | |________________________________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 675 |             let _ = self.exec(terminfo::ParmRightCursor)
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> src/term.rs:679:13
[INFO] [stdout]     |
[INFO] [stdout] 679 | /             self.exec(terminfo::ParmLeftCursor)
[INFO] [stdout] 680 | |                 .map(|ctx| ctx.arg(-x).write(&mut self))
[INFO] [stdout] 681 | |                 .map_err(|e| self.err = Some(e));
[INFO] [stdout]     | |________________________________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 679 |             let _ = self.exec(terminfo::ParmLeftCursor)
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> src/term.rs:689:13
[INFO] [stdout]     |
[INFO] [stdout] 689 | /             self.exec(terminfo::ParmUpCursor)
[INFO] [stdout] 690 | |                 .map(|ctx| ctx.arg(y).write(&mut self))
[INFO] [stdout] 691 | |                 .map_err(|e| self.err = Some(e));
[INFO] [stdout]     | |________________________________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 689 |             let _ = self.exec(terminfo::ParmUpCursor)
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> src/term.rs:693:13
[INFO] [stdout]     |
[INFO] [stdout] 693 | /             self.exec(terminfo::ParmDownCursor)
[INFO] [stdout] 694 | |                 .map(|ctx| ctx.arg(-y).write(&mut self))
[INFO] [stdout] 695 | |                 .map_err(|e| self.err = Some(e));
[INFO] [stdout]     | |________________________________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 693 |             let _ = self.exec(terminfo::ParmDownCursor)
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]   --> src/terminfo/lang/executor.rs:52:9
[INFO] [stdout]    |
[INFO] [stdout] 52 |         self.env.write(&mut Parser::new(self.src), &mut w);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 52 |         let _ = self.env.write(&mut Parser::new(self.src), &mut w);
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 42 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling nixterm v0.1.2 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> examples/term.rs:38:5
[INFO] [stdout]    |
[INFO] [stdout] 38 |     term.println("");
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 38 |     let _ = term.println("");
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> examples/term.rs:51:5
[INFO] [stdout]    |
[INFO] [stdout] 51 |     term.println("");
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 51 |     let _ = term.println("");
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> examples/term.rs:52:5
[INFO] [stdout]    |
[INFO] [stdout] 52 |     term.println("");
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 52 |     let _ = term.println("");
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/ansi.rs:133:24
[INFO] [stdout]     |
[INFO] [stdout] 133 |                     '0'...'9' => (),
[INFO] [stdout]     |                        ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: `#[warn(ellipsis_inclusive_range_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/ansi.rs:184:16
[INFO] [stdout]     |
[INFO] [stdout] 184 |             '0'...'9' => Ok(Color::Index(
[INFO] [stdout]     |                ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/ansi.rs:211:27
[INFO] [stdout]     |
[INFO] [stdout] 211 |         Color::Index(x @ 0...7) => write!(w, "\x1b[{}m", x + 30),
[INFO] [stdout]     |                           ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/ansi.rs:212:27
[INFO] [stdout]     |
[INFO] [stdout] 212 |         Color::Index(x @ 8...15) => write!(w, "\x1b[{}m", x + 82),
[INFO] [stdout]     |                           ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/ansi.rs:220:27
[INFO] [stdout]     |
[INFO] [stdout] 220 |         Color::Index(x @ 0...7) => write!(w, "\x1b[{}m", x + 40),
[INFO] [stdout]     |                           ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/ansi.rs:221:27
[INFO] [stdout]     |
[INFO] [stdout] 221 |         Color::Index(x @ 8...15) => write!(w, "\x1b[{}m", x + 92),
[INFO] [stdout]     |                           ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/events.rs:246:14
[INFO] [stdout]     |
[INFO] [stdout] 246 |             0...8 | 10...12 | 14...26 | 28...31 => Key::Control((ch + 64) as char),
[INFO] [stdout]     |              ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/events.rs:246:23
[INFO] [stdout]     |
[INFO] [stdout] 246 |             0...8 | 10...12 | 14...26 | 28...31 => Key::Control((ch + 64) as char),
[INFO] [stdout]     |                       ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/events.rs:246:33
[INFO] [stdout]     |
[INFO] [stdout] 246 |             0...8 | 10...12 | 14...26 | 28...31 => Key::Control((ch + 64) as char),
[INFO] [stdout]     |                                 ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/events.rs:246:43
[INFO] [stdout]     |
[INFO] [stdout] 246 |             0...8 | 10...12 | 14...26 | 28...31 => Key::Control((ch + 64) as char),
[INFO] [stdout]     |                                           ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/events.rs:251:15
[INFO] [stdout]     |
[INFO] [stdout] 251 |             32...126 => Key::Char(ch as char),
[INFO] [stdout]     |               ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/term.rs:160:5
[INFO] [stdout]     |
[INFO] [stdout] 160 | /     /// Turn off canonical mode.
[INFO] [stdout] 161 | |     /// In non-canonical mode the terminal does perform line editing, the input buffer is 4096 characters long,
[INFO] [stdout] 162 | |     /// and timeouts may be set for input.
[INFO] [stdout]     | |_____-------------------------------------^
[INFO] [stdout]     |       |
[INFO] [stdout]     |       rustdoc does not generate documentation for macro invocations
[INFO] [stdout]     |
[INFO] [stdout]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout]     = note: `#[warn(unused_doc_comments)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/term.rs:165:5
[INFO] [stdout]     |
[INFO] [stdout] 165 | /     /// Set the minimum number of characters for the `Term::read` function to return.
[INFO] [stdout] 166 | |     ///
[INFO] [stdout] 167 | |     /// __*non-canonical mode only__
[INFO] [stdout]     | |_____-------------------------------^
[INFO] [stdout]     |       |
[INFO] [stdout]     |       rustdoc does not generate documentation for macro invocations
[INFO] [stdout]     |
[INFO] [stdout]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/term.rs:170:5
[INFO] [stdout]     |
[INFO] [stdout] 170 | /     /// Set the maximum time the `Term::read` function will wait before returning (time in deciseconds)
[INFO] [stdout] 171 | |     ///
[INFO] [stdout] 172 | |     ///
[INFO] [stdout] 173 | |     /// __*non-canonical mode only__
[INFO] [stdout]     | |_____-------------------------------^
[INFO] [stdout]     |       |
[INFO] [stdout]     |       rustdoc does not generate documentation for macro invocations
[INFO] [stdout]     |
[INFO] [stdout]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/term.rs:176:5
[INFO] [stdout]     |
[INFO] [stdout] 176 |     /// Set the character that will signal the stdout buffer should be flushed.
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]     |
[INFO] [stdout]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/term.rs:179:5
[INFO] [stdout]     |
[INFO] [stdout] 179 |     /// Set an extra end-of-line character
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]     |
[INFO] [stdout]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/term.rs:182:5
[INFO] [stdout]     |
[INFO] [stdout] 182 |     /// Set the erase char (typically it will be something like `DEL` by default)
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]     |
[INFO] [stdout]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/term.rs:185:5
[INFO] [stdout]     |
[INFO] [stdout] 185 |     /// Set the interrupt char, when this character is read the running process will be sent `SIGINT`.
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]     |
[INFO] [stdout]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/term.rs:188:5
[INFO] [stdout]     |
[INFO] [stdout] 188 |     /// Set the suspend char, when this character is read the running process will be sent `SIGTSTP`.
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]     |
[INFO] [stdout]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/term.rs:191:5
[INFO] [stdout]     |
[INFO] [stdout] 191 |     /// Set the kill char, when this character is read the running process will be sent `SIGKILL`.
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]     |
[INFO] [stdout]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/term.rs:194:5
[INFO] [stdout]     |
[INFO] [stdout] 194 |     /// Set the quit char, when this character is read the running process will be sent `SIGQUIT`.
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]     |
[INFO] [stdout]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/term.rs:197:5
[INFO] [stdout]     |
[INFO] [stdout] 197 |     /// stop showing output until the `start_output` char is reached.
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]     |
[INFO] [stdout]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/term.rs:200:5
[INFO] [stdout]     |
[INFO] [stdout] 200 |     /// Set the character the will restart  output, ofter the `stop_output` char.
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]     |
[INFO] [stdout]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around match arm expression
[INFO] [stdout]    --> src/term.rs:374:51
[INFO] [stdout]     |
[INFO] [stdout] 374 |                 ansi::Color::Index(x @ 8..=15) => (x - 8),
[INFO] [stdout]     |                                                   ^     ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 374 -                 ansi::Color::Index(x @ 8..=15) => (x - 8),
[INFO] [stdout] 374 +                 ansi::Color::Index(x @ 8..=15) => x - 8,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/term.rs:674:12
[INFO] [stdout]     |
[INFO] [stdout] 674 |         if (x > 0) {
[INFO] [stdout]     |            ^     ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 674 -         if (x > 0) {
[INFO] [stdout] 674 +         if x > 0 {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/term.rs:678:19
[INFO] [stdout]     |
[INFO] [stdout] 678 |         } else if (x < 0) {
[INFO] [stdout]     |                   ^     ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 678 -         } else if (x < 0) {
[INFO] [stdout] 678 +         } else if x < 0 {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/term.rs:688:12
[INFO] [stdout]     |
[INFO] [stdout] 688 |         if (y > 0) {
[INFO] [stdout]     |            ^     ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 688 -         if (y > 0) {
[INFO] [stdout] 688 +         if y > 0 {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/term.rs:692:19
[INFO] [stdout]     |
[INFO] [stdout] 692 |         } else if (y < 0) {
[INFO] [stdout]     |                   ^     ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 692 -         } else if (y < 0) {
[INFO] [stdout] 692 +         } else if y < 0 {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `size_of`, `transmute`
[INFO] [stdout]  --> src/util.rs:6:16
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::mem::{size_of, transmute};
[INFO] [stdout]   |                ^^^^^^^  ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::slice::from_raw_parts`
[INFO] [stdout]  --> src/util.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::slice::from_raw_parts;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::env::home_dir`: This function's behavior may be unexpected on Windows. Consider using a crate from crates.io instead.
[INFO] [stdout]   --> src/terminfo/mod.rs:31:30
[INFO] [stdout]    |
[INFO] [stdout] 31 |     if let Some(home) = env::home_dir() {
[INFO] [stdout]    |                              ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/errors.rs:98:32
[INFO] [stdout]    |
[INFO] [stdout] 98 |     fn cause(&self) -> Option<&failure::Fail> {
[INFO] [stdout]    |                                ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 98 |     fn cause(&self) -> Option<&dyn failure::Fail> {
[INFO] [stdout]    |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/terminfo/errors.rs:100:32
[INFO] [stdout]     |
[INFO] [stdout] 100 |     fn cause(&self) -> Option<&failure::Fail> {
[INFO] [stdout]     |                                ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 100 |     fn cause(&self) -> Option<&dyn failure::Fail> {
[INFO] [stdout]     |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/events.rs:248:13
[INFO] [stdout]     |
[INFO] [stdout] 248 |             10 | 13 => Key::Enter,
[INFO] [stdout]     |             ^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/term.rs:701:31
[INFO] [stdout]     |
[INFO] [stdout] 701 |     pub fn default_background(mut self) -> Self {
[INFO] [stdout]     |                               ----^^^^
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/term.rs:705:31
[INFO] [stdout]     |
[INFO] [stdout] 705 |     pub fn default_foreground(mut self) -> Self {
[INFO] [stdout]     |                               ----^^^^
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `write_u8` is never used
[INFO] [stdout]    --> src/term.rs:419:8
[INFO] [stdout]     |
[INFO] [stdout] 338 | / impl<'a, O> TermWriter<'a, O>
[INFO] [stdout] 339 | | where
[INFO] [stdout] 340 | |     O: io::Write + AsRawFd + 'a,
[INFO] [stdout]     | |________________________________- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 419 |       fn write_u8(mut self, x: u8) -> Self {
[INFO] [stdout]     |          ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> src/term.rs:675:13
[INFO] [stdout]     |
[INFO] [stdout] 675 | /             self.exec(terminfo::ParmRightCursor)
[INFO] [stdout] 676 | |                 .map(|ctx| ctx.arg(x).write(&mut self))
[INFO] [stdout] 677 | |                 .map_err(|e| self.err = Some(e));
[INFO] [stdout]     | |________________________________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 675 |             let _ = self.exec(terminfo::ParmRightCursor)
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> src/term.rs:679:13
[INFO] [stdout]     |
[INFO] [stdout] 679 | /             self.exec(terminfo::ParmLeftCursor)
[INFO] [stdout] 680 | |                 .map(|ctx| ctx.arg(-x).write(&mut self))
[INFO] [stdout] 681 | |                 .map_err(|e| self.err = Some(e));
[INFO] [stdout]     | |________________________________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 679 |             let _ = self.exec(terminfo::ParmLeftCursor)
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> src/term.rs:689:13
[INFO] [stdout]     |
[INFO] [stdout] 689 | /             self.exec(terminfo::ParmUpCursor)
[INFO] [stdout] 690 | |                 .map(|ctx| ctx.arg(y).write(&mut self))
[INFO] [stdout] 691 | |                 .map_err(|e| self.err = Some(e));
[INFO] [stdout]     | |________________________________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 689 |             let _ = self.exec(terminfo::ParmUpCursor)
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> src/term.rs:693:13
[INFO] [stdout]     |
[INFO] [stdout] 693 | /             self.exec(terminfo::ParmDownCursor)
[INFO] [stdout] 694 | |                 .map(|ctx| ctx.arg(-y).write(&mut self))
[INFO] [stdout] 695 | |                 .map_err(|e| self.err = Some(e));
[INFO] [stdout]     | |________________________________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 693 |             let _ = self.exec(terminfo::ParmDownCursor)
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]   --> src/terminfo/lang/executor.rs:52:9
[INFO] [stdout]    |
[INFO] [stdout] 52 |         self.env.write(&mut Parser::new(self.src), &mut w);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 52 |         let _ = self.env.write(&mut Parser::new(self.src), &mut w);
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 3 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 42 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished test [unoptimized + debuginfo] target(s) in 3.68s
[INFO] running `Command { std: "docker" "inspect" "783cf97a744a4cde6ae6dc022f717dc5be02db7f17ed2deb48eb1714eddc4c06", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "783cf97a744a4cde6ae6dc022f717dc5be02db7f17ed2deb48eb1714eddc4c06", kill_on_drop: false }`
[INFO] [stdout] 783cf97a744a4cde6ae6dc022f717dc5be02db7f17ed2deb48eb1714eddc4c06
[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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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" "+beta-2024-02-10" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] f90ac8fd22fad47863a459ba62fe8da33e4f20d4633645e72eca7ce4c677684f
[INFO] running `Command { std: "docker" "start" "-a" "f90ac8fd22fad47863a459ba62fe8da33e4f20d4633645e72eca7ce4c677684f", kill_on_drop: false }`
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> src/ansi.rs:133:24
[INFO] [stderr]     |
[INFO] [stderr] 133 |                     '0'...'9' => (),
[INFO] [stderr]     |                        ^^^ help: use `..=` for an inclusive range
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr]     = note: `#[warn(ellipsis_inclusive_range_patterns)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> src/ansi.rs:184:16
[INFO] [stderr]     |
[INFO] [stderr] 184 |             '0'...'9' => Ok(Color::Index(
[INFO] [stderr]     |                ^^^ help: use `..=` for an inclusive range
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> src/ansi.rs:211:27
[INFO] [stderr]     |
[INFO] [stderr] 211 |         Color::Index(x @ 0...7) => write!(w, "\x1b[{}m", x + 30),
[INFO] [stderr]     |                           ^^^ help: use `..=` for an inclusive range
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> src/ansi.rs:212:27
[INFO] [stderr]     |
[INFO] [stderr] 212 |         Color::Index(x @ 8...15) => write!(w, "\x1b[{}m", x + 82),
[INFO] [stderr]     |                           ^^^ help: use `..=` for an inclusive range
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> src/ansi.rs:220:27
[INFO] [stderr]     |
[INFO] [stderr] 220 |         Color::Index(x @ 0...7) => write!(w, "\x1b[{}m", x + 40),
[INFO] [stderr]     |                           ^^^ help: use `..=` for an inclusive range
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> src/ansi.rs:221:27
[INFO] [stderr]     |
[INFO] [stderr] 221 |         Color::Index(x @ 8...15) => write!(w, "\x1b[{}m", x + 92),
[INFO] [stderr]     |                           ^^^ help: use `..=` for an inclusive range
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> src/events.rs:246:14
[INFO] [stderr]     |
[INFO] [stderr] 246 |             0...8 | 10...12 | 14...26 | 28...31 => Key::Control((ch + 64) as char),
[INFO] [stderr]     |              ^^^ help: use `..=` for an inclusive range
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> src/events.rs:246:23
[INFO] [stderr]     |
[INFO] [stderr] 246 |             0...8 | 10...12 | 14...26 | 28...31 => Key::Control((ch + 64) as char),
[INFO] [stderr]     |                       ^^^ help: use `..=` for an inclusive range
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> src/events.rs:246:33
[INFO] [stderr]     |
[INFO] [stderr] 246 |             0...8 | 10...12 | 14...26 | 28...31 => Key::Control((ch + 64) as char),
[INFO] [stderr]     |                                 ^^^ help: use `..=` for an inclusive range
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> src/events.rs:246:43
[INFO] [stderr]     |
[INFO] [stderr] 246 |             0...8 | 10...12 | 14...26 | 28...31 => Key::Control((ch + 64) as char),
[INFO] [stderr]     |                                           ^^^ help: use `..=` for an inclusive range
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> src/events.rs:251:15
[INFO] [stderr]     |
[INFO] [stderr] 251 |             32...126 => Key::Char(ch as char),
[INFO] [stderr]     |               ^^^ help: use `..=` for an inclusive range
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]    --> src/term.rs:160:5
[INFO] [stderr]     |
[INFO] [stderr] 160 | /     /// Turn off canonical mode.
[INFO] [stderr] 161 | |     /// In non-canonical mode the terminal does perform line editing, the input buffer is 4096 characters long,
[INFO] [stderr] 162 | |     /// and timeouts may be set for input.
[INFO] [stderr]     | |_____-------------------------------------^
[INFO] [stderr]     |       |
[INFO] [stderr]     |       rustdoc does not generate documentation for macro invocations
[INFO] [stderr]     |
[INFO] [stderr]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stderr]     = note: `#[warn(unused_doc_comments)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]    --> src/term.rs:165:5
[INFO] [stderr]     |
[INFO] [stderr] 165 | /     /// Set the minimum number of characters for the `Term::read` function to return.
[INFO] [stderr] 166 | |     ///
[INFO] [stderr] 167 | |     /// __*non-canonical mode only__
[INFO] [stderr]     | |_____-------------------------------^
[INFO] [stderr]     |       |
[INFO] [stderr]     |       rustdoc does not generate documentation for macro invocations
[INFO] [stderr]     |
[INFO] [stderr]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]    --> src/term.rs:170:5
[INFO] [stderr]     |
[INFO] [stderr] 170 | /     /// Set the maximum time the `Term::read` function will wait before returning (time in deciseconds)
[INFO] [stderr] 171 | |     ///
[INFO] [stderr] 172 | |     ///
[INFO] [stderr] 173 | |     /// __*non-canonical mode only__
[INFO] [stderr]     | |_____-------------------------------^
[INFO] [stderr]     |       |
[INFO] [stderr]     |       rustdoc does not generate documentation for macro invocations
[INFO] [stderr]     |
[INFO] [stderr]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]    --> src/term.rs:176:5
[INFO] [stderr]     |
[INFO] [stderr] 176 |     /// Set the character that will signal the stdout buffer should be flushed.
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stderr]     |
[INFO] [stderr]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]    --> src/term.rs:179:5
[INFO] [stderr]     |
[INFO] [stderr] 179 |     /// Set an extra end-of-line character
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stderr]     |
[INFO] [stderr]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]    --> src/term.rs:182:5
[INFO] [stderr]     |
[INFO] [stderr] 182 |     /// Set the erase char (typically it will be something like `DEL` by default)
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stderr]     |
[INFO] [stderr]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]    --> src/term.rs:185:5
[INFO] [stderr]     |
[INFO] [stderr] 185 |     /// Set the interrupt char, when this character is read the running process will be sent `SIGINT`.
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stderr]     |
[INFO] [stderr]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]    --> src/term.rs:188:5
[INFO] [stderr]     |
[INFO] [stderr] 188 |     /// Set the suspend char, when this character is read the running process will be sent `SIGTSTP`.
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stderr]     |
[INFO] [stderr]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]    --> src/term.rs:191:5
[INFO] [stderr]     |
[INFO] [stderr] 191 |     /// Set the kill char, when this character is read the running process will be sent `SIGKILL`.
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stderr]     |
[INFO] [stderr]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]    --> src/term.rs:194:5
[INFO] [stderr]     |
[INFO] [stderr] 194 |     /// Set the quit char, when this character is read the running process will be sent `SIGQUIT`.
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stderr]     |
[INFO] [stderr]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]    --> src/term.rs:197:5
[INFO] [stderr]     |
[INFO] [stderr] 197 |     /// stop showing output until the `start_output` char is reached.
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stderr]     |
[INFO] [stderr]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]    --> src/term.rs:200:5
[INFO] [stderr]     |
[INFO] [stderr] 200 |     /// Set the character the will restart  output, ofter the `stop_output` char.
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stderr]     |
[INFO] [stderr]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around match arm expression
[INFO] [stderr]    --> src/term.rs:374:51
[INFO] [stderr]     |
[INFO] [stderr] 374 |                 ansi::Color::Index(x @ 8..=15) => (x - 8),
[INFO] [stderr]     |                                                   ^     ^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 374 -                 ansi::Color::Index(x @ 8..=15) => (x - 8),
[INFO] [stderr] 374 +                 ansi::Color::Index(x @ 8..=15) => x - 8,
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]    --> src/term.rs:674:12
[INFO] [stderr]     |
[INFO] [stderr] 674 |         if (x > 0) {
[INFO] [stderr]     |            ^     ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 674 -         if (x > 0) {
[INFO] [stderr] 674 +         if x > 0 {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]    --> src/term.rs:678:19
[INFO] [stderr]     |
[INFO] [stderr] 678 |         } else if (x < 0) {
[INFO] [stderr]     |                   ^     ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 678 -         } else if (x < 0) {
[INFO] [stderr] 678 +         } else if x < 0 {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]    --> src/term.rs:688:12
[INFO] [stderr]     |
[INFO] [stderr] 688 |         if (y > 0) {
[INFO] [stderr]     |            ^     ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 688 -         if (y > 0) {
[INFO] [stderr] 688 +         if y > 0 {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]    --> src/term.rs:692:19
[INFO] [stderr]     |
[INFO] [stderr] 692 |         } else if (y < 0) {
[INFO] [stderr]     |                   ^     ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 692 -         } else if (y < 0) {
[INFO] [stderr] 692 +         } else if y < 0 {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `size_of`, `transmute`
[INFO] [stderr]  --> src/util.rs:6:16
[INFO] [stderr]   |
[INFO] [stderr] 6 | use std::mem::{size_of, transmute};
[INFO] [stderr]   |                ^^^^^^^  ^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::slice::from_raw_parts`
[INFO] [stderr]  --> src/util.rs:7:5
[INFO] [stderr]   |
[INFO] [stderr] 7 | use std::slice::from_raw_parts;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated function `std::env::home_dir`: This function's behavior may be unexpected on Windows. Consider using a crate from crates.io instead.
[INFO] [stderr]   --> src/terminfo/mod.rs:31:30
[INFO] [stderr]    |
[INFO] [stderr] 31 |     if let Some(home) = env::home_dir() {
[INFO] [stderr]    |                              ^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(deprecated)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/errors.rs:98:32
[INFO] [stderr]    |
[INFO] [stderr] 98 |     fn cause(&self) -> Option<&failure::Fail> {
[INFO] [stderr]    |                                ^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stderr] help: use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 98 |     fn cause(&self) -> Option<&dyn failure::Fail> {
[INFO] [stderr]    |                                +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/terminfo/errors.rs:100:32
[INFO] [stderr]     |
[INFO] [stderr] 100 |     fn cause(&self) -> Option<&failure::Fail> {
[INFO] [stderr]     |                                ^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 100 |     fn cause(&self) -> Option<&dyn failure::Fail> {
[INFO] [stderr]     |                                +++
[INFO] [stderr] 
[INFO] [stderr] warning: unreachable pattern
[INFO] [stderr]    --> src/events.rs:248:13
[INFO] [stderr]     |
[INFO] [stderr] 248 |             10 | 13 => Key::Enter,
[INFO] [stderr]     |             ^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unreachable_patterns)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/term.rs:701:31
[INFO] [stderr]     |
[INFO] [stderr] 701 |     pub fn default_background(mut self) -> Self {
[INFO] [stderr]     |                               ----^^^^
[INFO] [stderr]     |                               |
[INFO] [stderr]     |                               help: remove this `mut`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/term.rs:705:31
[INFO] [stderr]     |
[INFO] [stderr] 705 |     pub fn default_foreground(mut self) -> Self {
[INFO] [stderr]     |                               ----^^^^
[INFO] [stderr]     |                               |
[INFO] [stderr]     |                               help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: method `write_u8` is never used
[INFO] [stderr]    --> src/term.rs:419:8
[INFO] [stderr]     |
[INFO] [stderr] 338 | / impl<'a, O> TermWriter<'a, O>
[INFO] [stderr] 339 | | where
[INFO] [stderr] 340 | |     O: io::Write + AsRawFd + 'a,
[INFO] [stderr]     | |________________________________- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 419 |       fn write_u8(mut self, x: u8) -> Self {
[INFO] [stderr]     |          ^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(dead_code)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused `std::result::Result` that must be used
[INFO] [stderr]    --> src/term.rs:675:13
[INFO] [stderr]     |
[INFO] [stderr] 675 | /             self.exec(terminfo::ParmRightCursor)
[INFO] [stderr] 676 | |                 .map(|ctx| ctx.arg(x).write(&mut self))
[INFO] [stderr] 677 | |                 .map_err(|e| self.err = Some(e));
[INFO] [stderr]     | |________________________________________________^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr]     = note: `#[warn(unused_must_use)]` on by default
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 675 |             let _ = self.exec(terminfo::ParmRightCursor)
[INFO] [stderr]     |             +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `std::result::Result` that must be used
[INFO] [stderr]    --> src/term.rs:679:13
[INFO] [stderr]     |
[INFO] [stderr] 679 | /             self.exec(terminfo::ParmLeftCursor)
[INFO] [stderr] 680 | |                 .map(|ctx| ctx.arg(-x).write(&mut self))
[INFO] [stderr] 681 | |                 .map_err(|e| self.err = Some(e));
[INFO] [stderr]     | |________________________________________________^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 679 |             let _ = self.exec(terminfo::ParmLeftCursor)
[INFO] [stderr]     |             +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `std::result::Result` that must be used
[INFO] [stderr]    --> src/term.rs:689:13
[INFO] [stderr]     |
[INFO] [stderr] 689 | /             self.exec(terminfo::ParmUpCursor)
[INFO] [stderr] 690 | |                 .map(|ctx| ctx.arg(y).write(&mut self))
[INFO] [stderr] 691 | |                 .map_err(|e| self.err = Some(e));
[INFO] [stderr]     | |________________________________________________^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 689 |             let _ = self.exec(terminfo::ParmUpCursor)
[INFO] [stderr]     |             +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `std::result::Result` that must be used
[INFO] [stderr]    --> src/term.rs:693:13
[INFO] [stderr]     |
[INFO] [stderr] 693 | /             self.exec(terminfo::ParmDownCursor)
[INFO] [stderr] 694 | |                 .map(|ctx| ctx.arg(-y).write(&mut self))
[INFO] [stderr] 695 | |                 .map_err(|e| self.err = Some(e));
[INFO] [stderr]     | |________________________________________________^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 693 |             let _ = self.exec(terminfo::ParmDownCursor)
[INFO] [stderr]     |             +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `std::result::Result` that must be used
[INFO] [stderr]   --> src/terminfo/lang/executor.rs:52:9
[INFO] [stderr]    |
[INFO] [stderr] 52 |         self.env.write(&mut Parser::new(self.src), &mut w);
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]    |
[INFO] [stderr] 52 |         let _ = self.env.write(&mut Parser::new(self.src), &mut w);
[INFO] [stderr]    |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: `nixterm` (lib) generated 42 warnings (run `cargo fix --lib -p nixterm` to apply 22 suggestions)
[INFO] [stderr] warning: `nixterm` (lib test) generated 42 warnings (42 duplicates)
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]   --> examples/term.rs:38:5
[INFO] [stderr]    |
[INFO] [stderr] 38 |     term.println("");
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr]    = note: `#[warn(unused_must_use)]` on by default
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]    |
[INFO] [stderr] 38 |     let _ = term.println("");
[INFO] [stderr]    |     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]   --> examples/term.rs:51:5
[INFO] [stderr]    |
[INFO] [stderr] 51 |     term.println("");
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]    |
[INFO] [stderr] 51 |     let _ = term.println("");
[INFO] [stderr]    |     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]   --> examples/term.rs:52:5
[INFO] [stderr]    |
[INFO] [stderr] 52 |     term.println("");
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]    |
[INFO] [stderr] 52 |     let _ = term.println("");
[INFO] [stderr]    |     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: `nixterm` (example "term") generated 3 warnings
[INFO] [stderr]     Finished test [unoptimized + debuginfo] target(s) in 0.04s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/nixterm-6eab77cbf1b58a1f)
[INFO] [stdout] 
[INFO] [stdout] running 21 tests
[INFO] [stdout] test terminfo::lang::tests::printf ... ok
[INFO] [stdout] test terminfo::terminfo::test::lookup_ext_string ... ok
[INFO] [stdout] test terminfo::terminfo::test::lookup_ext_bool ... ok
[INFO] [stdout] test terminfo::lang::tests::simple ... ok
[INFO] [stdout] test terminfo::terminfo::test::lookup_number ... ok
[INFO] [stdout] test terminfo::terminfo::test::lookup_ext_number ... ok
[INFO] [stdout] test terminfo::terminfobuf::test::lookup_bool ... ok
[INFO] [stdout] test terminfo::terminfo::test::lookup_bool ... ok
[INFO] [stdout] test terminfo::terminfo::test::lookup_string ... ok
[INFO] [stdout] test terminfo::terminfo::test::names ... ok
[INFO] [stdout] test terminfo::terminfobuf::test::lookup_ext_bool ... ok
[INFO] [stdout] test terminfo::terminfobuf::test::from_terminfo ... ok
[INFO] [stdout] test terminfo::terminfobuf::test::lookup_ext_number ... ok
[INFO] [stdout] test terminfo::terminfobuf::test::lookup_number ... ok
[INFO] [stdout] test term::test::term ... FAILED
[INFO] [stdout] test terminfo::terminfobuf::test::set_bool ... ok
[INFO] [stdout] test terminfo::terminfobuf::test::lookup_ext_string ... ok
[INFO] [stdout] test term::test::print ... FAILED
[INFO] [stdout] test terminfo::terminfobuf::test::set_string ... ok
[INFO] [stdout] test terminfo::terminfobuf::test::lookup_string ... ok
[INFO] [stdout] test terminfo::terminfobuf::test::set_number ... ok
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- term::test::term stdout ----
[INFO] [stdout] thread 'term::test::term' panicked at src/term.rs:1031:9:
[INFO] [stdout] assertion `left == right` failed
[INFO] [stdout]   left: [27, 91, 48, 59, 49, 109, 15, 72, 101, 108, 108, 111, 32, 87, 111, 114, 108, 100, 63]
[INFO] [stdout]  right: [27, 91, 48, 59, 49, 109, 72, 101, 108, 108, 111, 32, 87, 111, 114, 108, 100, 63, 27, 91, 109, 15]
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x55d599a29c96 - std::backtrace_rs::backtrace::libunwind::trace::h140b6deb6a45c671
[INFO] [stdout]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/std/src/../../backtrace/src/backtrace/libunwind.rs:104:5
[INFO] [stdout]    1:     0x55d599a29c96 - std::backtrace_rs::backtrace::trace_unsynchronized::h8450d7e4e9219aed
[INFO] [stdout]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
[INFO] [stdout]    2:     0x55d599a29c96 - std::sys_common::backtrace::_print_fmt::hbd28e5e6c6fc3a3f
[INFO] [stdout]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/std/src/sys_common/backtrace.rs:68:5
[INFO] [stdout]    3:     0x55d599a29c96 - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::hb058f285768cf98e
[INFO] [stdout]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/std/src/sys_common/backtrace.rs:44:22
[INFO] [stdout]    4:     0x55d599a543b0 - core::fmt::rt::Argument::fmt::h87dec7a95127da24
[INFO] [stdout]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/core/src/fmt/rt.rs:142:9
[INFO] [stdout]    5:     0x55d599a543b0 - core::fmt::write::h873f89a91a4832db
[INFO] [stdout]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/core/src/fmt/mod.rs:1120:17
[INFO] [stdout]    6:     0x55d599a2728f - std::io::Write::write_fmt::h90f651e9e694a4bb
[INFO] [stdout]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/std/src/io/mod.rs:1846:15
[INFO] [stdout]    7:     0x55d599a29a74 - std::sys_common::backtrace::_print::h7719d1529d9a9e13
[INFO] [stdout]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/std/src/sys_common/backtrace.rs:47:5
[INFO] [stdout]    8:     0x55d599a29a74 - std::sys_common::backtrace::print::haa3afbd0e7947108
[INFO] [stdout]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/std/src/sys_common/backtrace.rs:34:9
[INFO] [stdout]    9:     0x55d599a2b7e7 - std::panicking::default_hook::{{closure}}::h10e3de2ec0eaff22
[INFO] [stdout]   10:     0x55d599a2b4cd - std::panicking::default_hook::hbdc1b1b7fe073dab
[INFO] [stdout]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/std/src/panicking.rs:289:9
[INFO] [stdout]   11:     0x55d599917587 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h20f7887d7cd0a330
[INFO] [stdout]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/alloc/src/boxed.rs:2029:9
[INFO] [stdout]   12:     0x55d599917587 - test::test_main::{{closure}}::hc125a615957b5cb1
[INFO] [stdout]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/test/src/lib.rs:138:21
[INFO] [stdout]   13:     0x55d599a2be06 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h8c19e0590f8443c4
[INFO] [stdout]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/alloc/src/boxed.rs:2029:9
[INFO] [stdout]   14:     0x55d599a2be06 - std::panicking::rust_panic_with_hook::hb81692602460473d
[INFO] [stdout]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/std/src/panicking.rs:785:13
[INFO] [stdout]   15:     0x55d599a2bb52 - std::panicking::begin_panic_handler::{{closure}}::h2470593aa2678e9c
[INFO] [stdout]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/std/src/panicking.rs:659:13
[INFO] [stdout]   16:     0x55d599a2a196 - std::sys_common::backtrace::__rust_end_short_backtrace::h560bb50225b0562b
[INFO] [stdout]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/std/src/sys_common/backtrace.rs:171:18
[INFO] [stdout]   17:     0x55d599a2b8a4 - rust_begin_unwind
[INFO] [stdout]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/std/src/panicking.rs:647:5
[INFO] [stdout]   18:     0x55d599899c35 - core::panicking::panic_fmt::h29b6f262f6458dc3
[INFO] [stdout]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/core/src/panicking.rs:72:14
[INFO] [stdout]   19:     0x55d59989a06b - core::panicking::assert_failed_inner::h2c4dd574e44796db
[INFO] [stdout]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/core/src/panicking.rs:342:17
[INFO] [stdout]   20:     0x55d5998a9122 - core::panicking::assert_failed::he84a6e3296279144
[INFO] [stdout]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/core/src/panicking.rs:297:5
[INFO] [stdout]   21:     0x55d5998d6a29 - nixterm::term::test::term::hbab874b2519f4a11
[INFO] [stdout]                                at /opt/rustwide/workdir/src/term.rs:1031:9
[INFO] [stdout]   22:     0x55d5998d65f7 - nixterm::term::test::term::{{closure}}::hf00dd71a288378c8
[INFO] [stdout]                                at /opt/rustwide/workdir/src/term.rs:1020:14
[INFO] [stdout]   23:     0x55d5998a6b66 - core::ops::function::FnOnce::call_once::h79c6cf558ed77066
[INFO] [stdout]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   24:     0x55d59991d17f - core::ops::function::FnOnce::call_once::h692fe6f34484199f
[INFO] [stdout]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   25:     0x55d59991d17f - test::__rust_begin_short_backtrace::h48b62e76bd60e2de
[INFO] [stdout]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/test/src/lib.rs:621:18
[INFO] [stdout]   26:     0x55d59991bfa1 - test::run_test_in_process::{{closure}}::h1c68597526ef43db
[INFO] [stdout]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/test/src/lib.rs:644:60
[INFO] [stdout]   27:     0x55d59991bfa1 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::hcae98092997f976b
[INFO] [stdout]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/core/src/panic/unwind_safe.rs:272:9
[INFO] [stdout]   28:     0x55d59991bfa1 - std::panicking::try::do_call::h8d1548c2f5bb535a
[INFO] [stdout]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/std/src/panicking.rs:554:40
[INFO] [stdout]   29:     0x55d59991bfa1 - std::panicking::try::hbb7a2054f484688e
[INFO] [stdout]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/std/src/panicking.rs:518:19
[INFO] [stdout]   30:     0x55d59991bfa1 - std::panic::catch_unwind::h696d12d9d80497c2
[INFO] [stdout]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/std/src/panic.rs:142:14
[INFO] [stdout]   31:     0x55d59991bfa1 - test::run_test_in_process::h053367a7217c825b
[INFO] [stdout]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/test/src/lib.rs:644:27
[INFO] [stdout]   32:     0x55d59991bfa1 - test::run_test::{{closure}}::hfa524e9fabcba78e
[INFO] [stdout]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/test/src/lib.rs:567:43
[INFO] [stdout]   33:     0x55d5998e3406 - test::run_test::{{closure}}::h2c4d0bb741ef7f9f
[INFO] [stdout]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/test/src/lib.rs:595:41
[INFO] [stdout]   34:     0x55d5998e3406 - std::sys_common::backtrace::__rust_begin_short_backtrace::h0d2c708415550075
[INFO] [stdout]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/std/src/sys_common/backtrace.rs:155:18
[INFO] [stdout]   35:     0x55d5998e83c7 - std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}::h76e2635840d7293f
[INFO] [stdout]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/std/src/thread/mod.rs:529:17
[INFO] [stdout]   36:     0x55d5998e83c7 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::haa640b67a810a214
[INFO] [stdout]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/core/src/panic/unwind_safe.rs:272:9
[INFO] [stdout]   37:     0x55d5998e83c7 - std::panicking::try::do_call::h41892e3bc2807ab5
[INFO] [stdout]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/std/src/panicking.rs:554:40
[INFO] [stdout]   38:     0x55d5998e83c7 - std::panicking::try::h861a16d180681c80
[INFO] [stdout]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/std/src/panicking.rs:518:19
[INFO] [stdout]   39:     0x55d5998e83c7 - std::panic::catch_unwind::h8195f9064b1509fa
[INFO] [stdout]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/std/src/panic.rs:142:14
[INFO] [stdout]   40:     0x55d5998e83c7 - std::thread::Builder::spawn_unchecked_::{{closure}}::h73cc419da1217371
[INFO] [stdout]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/std/src/thread/mod.rs:528:30
[INFO] [stdout]   41:     0x55d5998e83c7 - core::ops::function::FnOnce::call_once{{vtable.shim}}::h79dc6499ff073b09
[INFO] [stdout]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   42:     0x55d599a30225 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::ha718e8cdc51a5182
[INFO] [stdout]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/alloc/src/boxed.rs:2015:9
[INFO] [stdout]   43:     0x55d599a30225 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h86072abc877c5474
[INFO] [stdout]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/alloc/src/boxed.rs:2015:9
[INFO] [stdout]   44:     0x55d599a30225 - std::sys::pal::unix::thread::Thread::new::thread_start::hac4056197c365894
[INFO] [stdout]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/std/src/sys/pal/unix/thread.rs:108:17
[INFO] [stdout]   45:     0x7fbbe8d60ac3 - <unknown>
[INFO] [stdout]   46:     0x7fbbe8df1bf4 - __clone
[INFO] [stdout]   47:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- term::test::print stdout ----
[INFO] [stdout] thread 'term::test::print' panicked at src/term.rs:1055:9:
[INFO] [stdout] assertion `left == right` failed
[INFO] [stdout]   left: "\u{1b}[0;1m\u{f}Hello\u{1b}[0m\u{f}\u{1b}[31mWorld\u{1b}[0m\u{f}?"
[INFO] [stdout]  right: "\u{1b}[0;1mHello\u{1b}[0m \u{1b}[31mWorld\u{1b}[0m?"
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x55d599a29c96 - std::backtrace_rs::backtrace::libunwind::trace::h140b6deb6a45c671
[INFO] [stdout]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/std/src/../../backtrace/src/backtrace/libunwind.rs:104:5
[INFO] [stdout]    1:     0x55d599a29c96 - std::backtrace_rs::backtrace::trace_unsynchronized::h8450d7e4e9219aed
[INFO] [stdout]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
[INFO] [stdout]    2:     0x55d599a29c96 - std::sys_common::backtrace::_print_fmt::hbd28e5e6c6fc3a3f
[INFO] [stdout]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/std/src/sys_common/backtrace.rs:68:5
[INFO] [stdout]    3:     0x55d599a29c96 - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::hb058f285768cf98e
[INFO] [stdout]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/std/src/sys_common/backtrace.rs:44:22
[INFO] [stdout]    4:     0x55d599a543b0 - core::fmt::rt::Argument::fmt::h87dec7a95127da24
[INFO] [stdout]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/core/src/fmt/rt.rs:142:9
[INFO] [stdout]    5:     0x55d599a543b0 - core::fmt::write::h873f89a91a4832db
[INFO] [stdout]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/core/src/fmt/mod.rs:1120:17
[INFO] [stdout]    6:     0x55d599a2728f - std::io::Write::write_fmt::h90f651e9e694a4bb
[INFO] [stdout]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/std/src/io/mod.rs:1846:15
[INFO] [stdout]    7:     0x55d599a29a74 - std::sys_common::backtrace::_print::h7719d1529d9a9e13
[INFO] [stdout]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/std/src/sys_common/backtrace.rs:47:5
[INFO] [stdout]    8:     0x55d599a29a74 - std::sys_common::backtrace::print::haa3afbd0e7947108
[INFO] [stdout]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/std/src/sys_common/backtrace.rs:34:9
[INFO] [stdout]    9:     0x55d599a2b7e7 - std::panicking::default_hook::{{closure}}::h10e3de2ec0eaff22
[INFO] [stdout]   10:     0x55d599a2b4cd - std::panicking::default_hook::hbdc1b1b7fe073dab
[INFO] [stdout]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/std/src/panicking.rs:289:9
[INFO] [stdout]   11:     0x55d599917587 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h20f7887d7cd0a330
[INFO] [stdout]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/alloc/src/boxed.rs:2029:9
[INFO] [stdout]   12:     0x55d599917587 - test::test_main::{{closure}}::hc125a615957b5cb1
[INFO] [stdout]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/test/src/lib.rs:138:21
[INFO] [stdout]   13:     0x55d599a2be06 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h8c19e0590f8443c4
[INFO] [stdout]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/alloc/src/boxed.rs:2029:9
[INFO] [stdout]   14:     0x55d599a2be06 - std::panicking::rust_panic_with_hook::hb81692602460473d
[INFO] [stdout]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/std/src/panicking.rs:785:13
[INFO] [stdout]   15:     0x55d599a2bb52 - std::panicking::begin_panic_handler::{{closure}}::h2470593aa2678e9c
[INFO] [stdout]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/std/src/panicking.rs:659:13
[INFO] [stdout]   16:     0x55d599a2a196 - std::sys_common::backtrace::__rust_end_short_backtrace::h560bb50225b0562b
[INFO] [stdout]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/std/src/sys_common/backtrace.rs:171:18
[INFO] [stdout]   17:     0x55d599a2b8a4 - rust_begin_unwind
[INFO] [stdout]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/std/src/panicking.rs:647:5
[INFO] [stdout]   18:     0x55d599899c35 - core::panicking::panic_fmt::h29b6f262f6458dc3
[INFO] [stdout]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/core/src/panicking.rs:72:14
[INFO] [stdout]   19:     0x55d59989a06b - core::panicking::assert_failed_inner::h2c4dd574e44796db
[INFO] [stdout]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/core/src/panicking.rs:342:17
[INFO] [stdout]   20:     0x55d5998a8c62 - core::panicking::assert_failed::h026ad3d07d640021
[INFO] [stdout]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/core/src/panicking.rs:297:5
[INFO] [stdout]   21:     0x55d5998d72ab - nixterm::term::test::print::h0183d0da8c6702fb
[INFO] [stdout]                                at /opt/rustwide/workdir/src/term.rs:1055:9
[INFO] [stdout]   22:     0x55d5998d6a87 - nixterm::term::test::print::{{closure}}::hc2889811f74e03ac
[INFO] [stdout]                                at /opt/rustwide/workdir/src/term.rs:1035:15
[INFO] [stdout]   23:     0x55d5998a6be6 - core::ops::function::FnOnce::call_once::h8c38ec9d82c2c0c0
[INFO] [stdout]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   24:     0x55d59991d17f - core::ops::function::FnOnce::call_once::h692fe6f34484199f
[INFO] [stdout]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   25:     0x55d59991d17f - test::__rust_begin_short_backtrace::h48b62e76bd60e2de
[INFO] [stdout]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/test/src/lib.rs:621:18
[INFO] [stdout]   26:     0x55d59991bfa1 - test::run_test_in_process::{{closure}}::h1c68597526ef43db
[INFO] [stdout]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/test/src/lib.rs:644:60
[INFO] [stdout]   27:     0x55d59991bfa1 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::hcae98092997f976b
[INFO] [stdout]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/core/src/panic/unwind_safe.rs:272:9
[INFO] [stdout]   28:     0x55d59991bfa1 - std::panicking::try::do_call::h8d1548c2f5bb535a
[INFO] [stdout]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/std/src/panicking.rs:554:40
[INFO] [stdout]   29:     0x55d59991bfa1 - std::panicking::try::hbb7a2054f484688e
[INFO] [stdout]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/std/src/panicking.rs:518:19
[INFO] [stdout]   30:     0x55d59991bfa1 - std::panic::catch_unwind::h696d12d9d80497c2
[INFO] [stdout]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/std/src/panic.rs:142:14
[INFO] [stdout]   31:     0x55d59991bfa1 - test::run_test_in_process::h053367a7217c825b
[INFO] [stdout]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/test/src/lib.rs:644:27
[INFO] [stdout]   32:     0x55d59991bfa1 - test::run_test::{{closure}}::hfa524e9fabcba78e
[INFO] [stdout]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/test/src/lib.rs:567:43
[INFO] [stdout]   33:     0x55d5998e3406 - test::run_test::{{closure}}::h2c4d0bb741ef7f9f
[INFO] [stdout]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/test/src/lib.rs:595:41
[INFO] [stdout]   34:     0x55d5998e3406 - std::sys_common::backtrace::__rust_begin_short_backtrace::h0d2c708415550075
[INFO] [stdout]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/std/src/sys_common/backtrace.rs:155:18
[INFO] [stdout]   35:     0x55d5998e83c7 - std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}::h76e2635840d7293f
[INFO] [stdout]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/std/src/thread/mod.rs:529:17
[INFO] [stdout]   36:     0x55d5998e83c7 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::haa640b67a810a214
[INFO] [stdout]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/core/src/panic/unwind_safe.rs:272:9
[INFO] [stdout]   37:     0x55d5998e83c7 - std::panicking::try::do_call::h41892e3bc2807ab5
[INFO] [stdout]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/std/src/panicking.rs:554:40
[INFO] [stdout]   38:     0x55d5998e83c7 - std::panicking::try::h861a16d180681c80
[INFO] [stdout]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/std/src/panicking.rs:518:19
[INFO] [stdout]   39:     0x55d5998e83c7 - std::panic::catch_unwind::h8195f9064b1509fa
[INFO] [stdout]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/std/src/panic.rs:142:14
[INFO] [stdout]   40:     0x55d5998e83c7 - std::thread::Builder::spawn_unchecked_::{{closure}}::h73cc419da1217371
[INFO] [stdout]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/std/src/thread/mod.rs:528:30
[INFO] [stdout]   41:     0x55d5998e83c7 - core::ops::function::FnOnce::call_once{{vtable.shim}}::h79dc6499ff073b09
[INFO] [stdout]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   42:     0x55d599a30225 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::ha718e8cdc51a5182
[INFO] [stdout]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/alloc/src/boxed.rs:2015:9
[INFO] [stdout]   43:     0x55d599a30225 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h86072abc877c5474
[INFO] [stdout]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/alloc/src/boxed.rs:2015:9
[INFO] [stdout]   44:     0x55d599a30225 - std::sys::pal::unix::thread::Thread::new::thread_start::hac4056197c365894
[INFO] [stdout]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/std/src/sys/pal/unix/thread.rs:108:17
[INFO] [stdout]   45:     0x7fbbe8d60ac3 - <unknown>
[INFO] [stdout]   46:     0x7fbbe8df1bf4 - __clone
[INFO] [stdout]   47:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     term::test::print
[INFO] [stdout]     term::test::term
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 19 passed; 2 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.10s
[INFO] [stdout] 
[INFO] [stderr] error: test failed, to rerun pass `--lib`
[INFO] running `Command { std: "docker" "inspect" "f90ac8fd22fad47863a459ba62fe8da33e4f20d4633645e72eca7ce4c677684f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f90ac8fd22fad47863a459ba62fe8da33e4f20d4633645e72eca7ce4c677684f", kill_on_drop: false }`
[INFO] [stdout] f90ac8fd22fad47863a459ba62fe8da33e4f20d4633645e72eca7ce4c677684f
