[INFO] fetching crate clt 0.0.6...
[INFO] testing clt-0.0.6 against 1.90.0 for beta-1.91-3
[INFO] extracting crate clt 0.0.6 into /workspace/builds/worker-7-tc1/source
[INFO] started tweaking crates.io crate clt 0.0.6
[INFO] finished tweaking crates.io crate clt 0.0.6
[INFO] tweaked toml for crates.io crate clt 0.0.6 written to /workspace/builds/worker-7-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate clt 0.0.6 on toolchain 1.90.0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.90.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.90.0" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 13 packages to latest compatible versions
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.90.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+1.90.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] ca9c65149963c53631f91442fdc7e5ab5f1514418dd6d9c2b98f9d15058e5d54
[INFO] running `Command { std: "docker" "start" "-a" "ca9c65149963c53631f91442fdc7e5ab5f1514418dd6d9c2b98f9d15058e5d54", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "ca9c65149963c53631f91442fdc7e5ab5f1514418dd6d9c2b98f9d15058e5d54", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ca9c65149963c53631f91442fdc7e5ab5f1514418dd6d9c2b98f9d15058e5d54", kill_on_drop: false }`
[INFO] [stdout] ca9c65149963c53631f91442fdc7e5ab5f1514418dd6d9c2b98f9d15058e5d54
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+1.90.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 44a49e58a7d4a771c80759515a8896abaa1d0d6af5041e9fdca9a5b5290a2f79
[INFO] running `Command { std: "docker" "start" "-a" "44a49e58a7d4a771c80759515a8896abaa1d0d6af5041e9fdca9a5b5290a2f79", kill_on_drop: false }`
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr]    Compiling rand v0.4.6
[INFO] [stderr]    Compiling remove_dir_all v0.5.3
[INFO] [stderr]    Compiling getopts v0.2.24
[INFO] [stderr]    Compiling tempdir v0.3.7
[INFO] [stderr]    Compiling clt v0.0.6 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `std::path::Path`
[INFO] [stdout]   --> src/term.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use std::path::Path;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Duration`
[INFO] [stdout]   --> src/term.rs:16:26
[INFO] [stdout]    |
[INFO] [stdout] 16 | use std::time::{Instant, Duration, SystemTime, UNIX_EPOCH};
[INFO] [stdout]    |                          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/term.rs:200:9
[INFO] [stdout]     |
[INFO] [stdout] 200 |         try!(f.write_str(&self.text));
[INFO] [stdout]     |         ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/term.rs:202:9
[INFO] [stdout]     |
[INFO] [stdout] 202 |         try!(f.write_str("\x1b[0m"));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/term.rs:155:17
[INFO] [stdout]     |
[INFO] [stdout] 155 |                 try!(f.write_str(fg.get_fg_str()));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/term.rs:161:17
[INFO] [stdout]     |
[INFO] [stdout] 161 |                 try!(f.write_str(bg.get_bg_str()));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/term.rs:167:17
[INFO] [stdout]     |
[INFO] [stdout] 167 |                 try!(f.write_str("\x1b[1m"));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/term.rs:169:17
[INFO] [stdout]     |
[INFO] [stdout] 169 |                 try!(f.write_str("\x1b[22m"));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/term.rs:174:17
[INFO] [stdout]     |
[INFO] [stdout] 174 |                 try!(f.write_str("\x1b[2m"));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/term.rs:176:17
[INFO] [stdout]     |
[INFO] [stdout] 176 |                 try!(f.write_str("\x1b[22m"));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/term.rs:181:17
[INFO] [stdout]     |
[INFO] [stdout] 181 |                 try!(f.write_str("\x1b[4m"));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/term.rs:183:17
[INFO] [stdout]     |
[INFO] [stdout] 183 |                 try!(f.write_str("\x1b[24m"));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/term.rs:188:17
[INFO] [stdout]     |
[INFO] [stdout] 188 |                 try!(f.write_str("\x1b[5m"));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/term.rs:190:17
[INFO] [stdout]     |
[INFO] [stdout] 190 |                 try!(f.write_str("\x1b[25m"));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/term.rs:195:17
[INFO] [stdout]     |
[INFO] [stdout] 195 |                 try!(f.write_str("\x1b[7m"));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/term.rs:197:17
[INFO] [stdout]     |
[INFO] [stdout] 197 |                 try!(f.write_str("\x1b[27m"));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std`
[INFO] [stdout]  --> src/formatting.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std;
[INFO] [stdout]   |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated trait `std::ascii::AsciiExt`: use inherent methods instead
[INFO] [stdout]  --> src/term.rs:8:17
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::ascii::AsciiExt;
[INFO] [stdout]   |                 ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `core::str::<impl str>::trim_right_matches`: superseded by `trim_end_matches`
[INFO] [stdout]    --> src/term.rs:225:18
[INFO] [stdout]     |
[INFO] [stdout] 225 |     return input.trim_right_matches("\n").to_string();
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: replace the use of the deprecated method
[INFO] [stdout]     |
[INFO] [stdout] 225 -     return input.trim_right_matches("\n").to_string();
[INFO] [stdout] 225 +     return input.trim_end_matches("\n").to_string();
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ascii::AsciiExt`
[INFO] [stdout]  --> src/term.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::ascii::AsciiExt;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `show_help`
[INFO] [stdout]    --> src/core.rs:121:13
[INFO] [stdout]     |
[INFO] [stdout] 121 |         let show_help = |params: Params| {
[INFO] [stdout]     |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_show_help`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `params`
[INFO] [stdout]    --> src/core.rs:121:26
[INFO] [stdout]     |
[INFO] [stdout] 121 |         let show_help = |params: Params| {
[INFO] [stdout]     |                          ^^^^^^ help: if this is intentional, prefix it with an underscore: `_params`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pragram_name`
[INFO] [stdout]    --> src/core.rs:129:26
[INFO] [stdout]     |
[INFO] [stdout] 129 |     pub fn invoke(&self, pragram_name: String, args: Vec<String>) {
[INFO] [stdout]     |                          ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pragram_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `parser`
[INFO] [stdout]    --> src/types.rs:113:33
[INFO] [stdout]     |
[INFO] [stdout] 113 |     pub fn add_to_parser(&self, parser: &mut getopts::Options) {
[INFO] [stdout]     |                                 ^^^^^^ help: if this is intentional, prefix it with an underscore: `_parser`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `hide_input`
[INFO] [stdout]    --> src/term.rs:221:40
[INFO] [stdout]     |
[INFO] [stdout] 221 | fn get_prompt_input(prompt_text: &str, hide_input: bool) -> String {
[INFO] [stdout]     |                                        ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_hide_input`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/term.rs:475:13
[INFO] [stdout]     |
[INFO] [stdout] 475 |         let mut info: String;
[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:576:13
[INFO] [stdout]     |
[INFO] [stdout] 576 |         let mut filepath = tmpdir.path().clone();
[INFO] [stdout]     |             ----^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `width`
[INFO] [stdout]    --> src/formatting.rs:123:28
[INFO] [stdout]     |
[INFO] [stdout] 123 | fn wrap_text(text: String, width: usize, initial_indent: &str, subsequent_indent: &str) -> String {
[INFO] [stdout]     |                            ^^^^^ help: if this is intentional, prefix it with an underscore: `_width`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `initial_indent`
[INFO] [stdout]    --> src/formatting.rs:123:42
[INFO] [stdout]     |
[INFO] [stdout] 123 | fn wrap_text(text: String, width: usize, initial_indent: &str, subsequent_indent: &str) -> String {
[INFO] [stdout]     |                                          ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_initial_indent`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `subsequent_indent`
[INFO] [stdout]    --> src/formatting.rs:123:64
[INFO] [stdout]     |
[INFO] [stdout] 123 | fn wrap_text(text: String, width: usize, initial_indent: &str, subsequent_indent: &str) -> String {
[INFO] [stdout]     |                                                                ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_subsequent_indent`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Command` is never constructed
[INFO] [stdout]   --> src/core.rs:17:12
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub struct Command {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/core.rs:29:12
[INFO] [stdout]     |
[INFO] [stdout]  28 | impl Command {
[INFO] [stdout]     | ------------ associated items in this implementation
[INFO] [stdout]  29 |     pub fn new(name: &str, callback: CommandCallback) -> Command {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  42 |     pub fn option(&mut self, short_name: &'static str, long_name: &'static str, help: &'static str,
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  51 |     pub fn argument(&mut self, name: &'static str, required: bool, default: Option<&'static str>) {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  56 |     fn make_formatter(&self) -> HelpFormatter {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  60 |     fn format_usage(&self, formatter: &mut HelpFormatter) {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  69 |     pub fn get_usage(&self) -> String {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  75 |     fn format_help_text(&self, formatter: &mut HelpFormatter) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  84 |     fn format_options(&self, formatter: &mut HelpFormatter) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  96 |     fn format_epilog(&self, formatter: &mut HelpFormatter) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 105 |     fn format_help(&self, formatter: &mut HelpFormatter) {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 112 |     pub fn get_help(&self) -> String {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 119 |     fn get_help_option(&self) -> Options {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 129 |     pub fn invoke(&self, pragram_name: String, args: Vec<String>) {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 136 |     fn get_options(&self) -> Vec<Options> {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 147 |     fn make_parser(&self) -> getopts::Options {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 156 |     fn parse_args(&self, args: Vec<String>) -> Vec<String> {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 161 |     pub fn run(&self) {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Params` is never used
[INFO] [stdout]  --> src/types.rs:9:10
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub type Params = Vec<String>;
[INFO] [stdout]   |          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `CommandCallback` is never used
[INFO] [stdout]   --> src/types.rs:13:10
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub type CommandCallback = fn(Params);
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Options` is never constructed
[INFO] [stdout]   --> src/types.rs:18:12
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub struct Options {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `add_to_parser`, and `get_help_record` are never used
[INFO] [stdout]   --> src/types.rs:30:12
[INFO] [stdout]    |
[INFO] [stdout] 29 | impl Options {
[INFO] [stdout]    | ------------ associated items in this implementation
[INFO] [stdout] 30 |     pub fn new(s_name: &'static str, l_name: &'static str, help: &'static str, is_flag: bool, is_bool_flag: bool,
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 44 |     pub fn add_to_parser(&self, parser: &mut getopts::Options) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 64 |     pub fn get_help_record(&self) -> (String, String) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Argument` is never constructed
[INFO] [stdout]   --> src/types.rs:98:12
[INFO] [stdout]    |
[INFO] [stdout] 98 | pub struct Argument {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `add_to_parser`, and `get_usage_piece` are never used
[INFO] [stdout]    --> src/types.rs:105:12
[INFO] [stdout]     |
[INFO] [stdout] 104 | impl Argument {
[INFO] [stdout]     | ------------- associated items in this implementation
[INFO] [stdout] 105 |     pub fn new(name: &'static str, required: bool, default: Option<&'static str>) -> Argument {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 113 |     pub fn add_to_parser(&self, parser: &mut getopts::Options) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 116 |     pub fn get_usage_piece(&self) -> String {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `time_per_iteration` and `estimate_time` are never used
[INFO] [stdout]    --> src/term.rs:435:8
[INFO] [stdout]     |
[INFO] [stdout] 386 | impl<'a> ProgressBar<'a> {
[INFO] [stdout]     | ------------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 435 |     fn time_per_iteration(&self) -> f32 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 443 |     fn estimate_time(&self) -> f32 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `HelpFormatter` is never constructed
[INFO] [stdout]   --> src/formatting.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct HelpFormatter {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/formatting.rs:23:12
[INFO] [stdout]     |
[INFO] [stdout]  17 | impl HelpFormatter {
[INFO] [stdout]     | ------------------ associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  23 |     pub fn new(width: usize, indent_increment: usize) -> HelpFormatter {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  33 |     pub fn indent(&mut self) {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  38 |     pub fn dedent(&mut self) {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  43 |     pub fn write(&mut self, s: String) {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  48 |     pub fn write_paragraph(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  57 |     pub fn write_heading(&mut self, heading: &str) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  63 |     pub fn write_dl(&mut self, rows: Vec<(String, String)>) {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  73 |     pub fn enter_section(&mut self, name: &str) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  80 |     pub fn exit_section(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  85 |     pub fn write_text(&mut self, text: String) {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  98 |     pub fn write_usage(&mut self, name: &str, args: String, prefix: &str) {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 115 |     pub fn getvalue(&self) -> String {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `wrap_text` is never used
[INFO] [stdout]    --> src/formatting.rs:123:4
[INFO] [stdout]     |
[INFO] [stdout] 123 | fn wrap_text(text: String, width: usize, initial_indent: &str, subsequent_indent: &str) -> String {
[INFO] [stdout]     |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> src/term.rs:388:39
[INFO] [stdout]     |
[INFO] [stdout] 388 |     pub fn new(length: isize, label: &'a str) -> ProgressBar {
[INFO] [stdout]     |                                       ^^         ----------- the same lifetime is hidden here
[INFO] [stdout]     |                                       |
[INFO] [stdout]     |                                       the lifetime is named here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: consistently use `'a`
[INFO] [stdout]     |
[INFO] [stdout] 388 |     pub fn new(length: isize, label: &'a str) -> ProgressBar<'a> {
[INFO] [stdout]     |                                                             ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> src/term.rs:527:25
[INFO] [stdout]     |
[INFO] [stdout] 527 |     pub fn new(editor: &'a str) -> Editor {
[INFO] [stdout]     |                         ^^         ------
[INFO] [stdout]     |                         |          |
[INFO] [stdout]     |                         |          the same lifetime is hidden here
[INFO] [stdout]     |                         |          the same lifetime is hidden here
[INFO] [stdout]     |                         |          the same lifetime is hidden here
[INFO] [stdout]     |                         the lifetime is named here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: consistently use `'a`
[INFO] [stdout]     |
[INFO] [stdout] 527 |     pub fn new(editor: &'a str) -> Editor<'a> {
[INFO] [stdout]     |                                          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/term.rs:576:41
[INFO] [stdout]     |
[INFO] [stdout] 576 |         let mut filepath = tmpdir.path().clone();
[INFO] [stdout]     |                                         ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `Path` does not implement `Clone`, so calling `clone` on `&Path` copies the reference, which does not do anything and can be removed
[INFO] [stdout]     = note: `#[warn(noop_method_call)]` on by default
[INFO] [stdout] help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout] 576 -         let mut filepath = tmpdir.path().clone();
[INFO] [stdout] 576 +         let mut filepath = tmpdir.path();
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `Path::join` that must be used
[INFO] [stdout]    --> src/term.rs:577:9
[INFO] [stdout]     |
[INFO] [stdout] 577 |         filepath.join(&tmpname);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 577 |         let _ = filepath.join(&tmpname);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1.67s
[INFO] running `Command { std: "docker" "inspect" "44a49e58a7d4a771c80759515a8896abaa1d0d6af5041e9fdca9a5b5290a2f79", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "44a49e58a7d4a771c80759515a8896abaa1d0d6af5041e9fdca9a5b5290a2f79", kill_on_drop: false }`
[INFO] [stdout] 44a49e58a7d4a771c80759515a8896abaa1d0d6af5041e9fdca9a5b5290a2f79
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+1.90.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] fc9108d2c5a8cf532348b23677fe27f2fbf8474760b650d587984da060c62461
[INFO] running `Command { std: "docker" "start" "-a" "fc9108d2c5a8cf532348b23677fe27f2fbf8474760b650d587984da060c62461", kill_on_drop: false }`
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stdout] warning: unused import: `std::path::Path`
[INFO] [stdout]   --> src/term.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use std::path::Path;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Duration`
[INFO] [stdout]   --> src/term.rs:16:26
[INFO] [stdout]    |
[INFO] [stdout] 16 | use std::time::{Instant, Duration, SystemTime, UNIX_EPOCH};
[INFO] [stdout]    |                          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/term.rs:200:9
[INFO] [stdout]     |
[INFO] [stdout] 200 |         try!(f.write_str(&self.text));
[INFO] [stdout]     |         ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/term.rs:202:9
[INFO] [stdout]     |
[INFO] [stdout] 202 |         try!(f.write_str("\x1b[0m"));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/term.rs:155:17
[INFO] [stdout]     |
[INFO] [stdout] 155 |                 try!(f.write_str(fg.get_fg_str()));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/term.rs:161:17
[INFO] [stdout]     |
[INFO] [stdout] 161 |                 try!(f.write_str(bg.get_bg_str()));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/term.rs:167:17
[INFO] [stdout]     |
[INFO] [stdout] 167 |                 try!(f.write_str("\x1b[1m"));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/term.rs:169:17
[INFO] [stdout]     |
[INFO] [stdout] 169 |                 try!(f.write_str("\x1b[22m"));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/term.rs:174:17
[INFO] [stdout]     |
[INFO] [stdout] 174 |                 try!(f.write_str("\x1b[2m"));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/term.rs:176:17
[INFO] [stdout]     |
[INFO] [stdout] 176 |                 try!(f.write_str("\x1b[22m"));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/term.rs:181:17
[INFO] [stdout]     |
[INFO] [stdout] 181 |                 try!(f.write_str("\x1b[4m"));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/term.rs:183:17
[INFO] [stdout]     |
[INFO] [stdout] 183 |                 try!(f.write_str("\x1b[24m"));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/term.rs:188:17
[INFO] [stdout]     |
[INFO] [stdout] 188 |                 try!(f.write_str("\x1b[5m"));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/term.rs:190:17
[INFO] [stdout]     |
[INFO] [stdout] 190 |                 try!(f.write_str("\x1b[25m"));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/term.rs:195:17
[INFO] [stdout]     |
[INFO] [stdout] 195 |                 try!(f.write_str("\x1b[7m"));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/term.rs:197:17
[INFO] [stdout]     |
[INFO] [stdout] 197 |                 try!(f.write_str("\x1b[27m"));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std`
[INFO] [stdout]  --> src/formatting.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std;
[INFO] [stdout]   |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated trait `std::ascii::AsciiExt`: use inherent methods instead
[INFO] [stdout]  --> src/term.rs:8:17
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::ascii::AsciiExt;
[INFO] [stdout]   |                 ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `core::str::<impl str>::trim_right_matches`: superseded by `trim_end_matches`
[INFO] [stdout]    --> src/term.rs:225:18
[INFO] [stdout]     |
[INFO] [stdout] 225 |     return input.trim_right_matches("\n").to_string();
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: replace the use of the deprecated method
[INFO] [stdout]     |
[INFO] [stdout] 225 -     return input.trim_right_matches("\n").to_string();
[INFO] [stdout] 225 +     return input.trim_end_matches("\n").to_string();
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ascii::AsciiExt`
[INFO] [stdout]  --> src/term.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::ascii::AsciiExt;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `show_help`
[INFO] [stdout]    --> src/core.rs:121:13
[INFO] [stdout]     |
[INFO] [stdout] 121 |         let show_help = |params: Params| {
[INFO] [stdout]     |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_show_help`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `params`
[INFO] [stdout]    --> src/core.rs:121:26
[INFO] [stdout]     |
[INFO] [stdout] 121 |         let show_help = |params: Params| {
[INFO] [stdout]     |                          ^^^^^^ help: if this is intentional, prefix it with an underscore: `_params`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pragram_name`
[INFO] [stdout]    --> src/core.rs:129:26
[INFO] [stdout]     |
[INFO] [stdout] 129 |     pub fn invoke(&self, pragram_name: String, args: Vec<String>) {
[INFO] [stdout]     |                          ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pragram_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `parser`
[INFO] [stdout]    --> src/types.rs:113:33
[INFO] [stdout]     |
[INFO] [stdout] 113 |     pub fn add_to_parser(&self, parser: &mut getopts::Options) {
[INFO] [stdout]     |                                 ^^^^^^ help: if this is intentional, prefix it with an underscore: `_parser`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `hide_input`
[INFO] [stdout]    --> src/term.rs:221:40
[INFO] [stdout]     |
[INFO] [stdout] 221 | fn get_prompt_input(prompt_text: &str, hide_input: bool) -> String {
[INFO] [stdout]     |                                        ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_hide_input`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/term.rs:475:13
[INFO] [stdout]     |
[INFO] [stdout] 475 |         let mut info: String;
[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:576:13
[INFO] [stdout]     |
[INFO] [stdout] 576 |         let mut filepath = tmpdir.path().clone();
[INFO] [stdout]     |             ----^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `width`
[INFO] [stdout]    --> src/formatting.rs:123:28
[INFO] [stdout]     |
[INFO] [stdout] 123 | fn wrap_text(text: String, width: usize, initial_indent: &str, subsequent_indent: &str) -> String {
[INFO] [stdout]     |                            ^^^^^ help: if this is intentional, prefix it with an underscore: `_width`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `initial_indent`
[INFO] [stdout]    --> src/formatting.rs:123:42
[INFO] [stdout]     |
[INFO] [stdout] 123 | fn wrap_text(text: String, width: usize, initial_indent: &str, subsequent_indent: &str) -> String {
[INFO] [stdout]     |                                          ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_initial_indent`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `subsequent_indent`
[INFO] [stdout]    --> src/formatting.rs:123:64
[INFO] [stdout]     |
[INFO] [stdout] 123 | fn wrap_text(text: String, width: usize, initial_indent: &str, subsequent_indent: &str) -> String {
[INFO] [stdout]     |                                                                ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_subsequent_indent`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Command` is never constructed
[INFO] [stdout]   --> src/core.rs:17:12
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub struct Command {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/core.rs:29:12
[INFO] [stdout]     |
[INFO] [stdout]  28 | impl Command {
[INFO] [stdout]     | ------------ associated items in this implementation
[INFO] [stdout]  29 |     pub fn new(name: &str, callback: CommandCallback) -> Command {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  42 |     pub fn option(&mut self, short_name: &'static str, long_name: &'static str, help: &'static str,
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  51 |     pub fn argument(&mut self, name: &'static str, required: bool, default: Option<&'static str>) {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  56 |     fn make_formatter(&self) -> HelpFormatter {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  60 |     fn format_usage(&self, formatter: &mut HelpFormatter) {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  69 |     pub fn get_usage(&self) -> String {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  75 |     fn format_help_text(&self, formatter: &mut HelpFormatter) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  84 |     fn format_options(&self, formatter: &mut HelpFormatter) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  96 |     fn format_epilog(&self, formatter: &mut HelpFormatter) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 105 |     fn format_help(&self, formatter: &mut HelpFormatter) {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 112 |     pub fn get_help(&self) -> String {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 119 |     fn get_help_option(&self) -> Options {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 129 |     pub fn invoke(&self, pragram_name: String, args: Vec<String>) {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 136 |     fn get_options(&self) -> Vec<Options> {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 147 |     fn make_parser(&self) -> getopts::Options {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 156 |     fn parse_args(&self, args: Vec<String>) -> Vec<String> {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 161 |     pub fn run(&self) {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Params` is never used
[INFO] [stdout]  --> src/types.rs:9:10
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub type Params = Vec<String>;
[INFO] [stdout]   |          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `CommandCallback` is never used
[INFO] [stdout]   --> src/types.rs:13:10
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub type CommandCallback = fn(Params);
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Options` is never constructed
[INFO] [stdout]   --> src/types.rs:18:12
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub struct Options {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `add_to_parser`, and `get_help_record` are never used
[INFO] [stdout]   --> src/types.rs:30:12
[INFO] [stdout]    |
[INFO] [stdout] 29 | impl Options {
[INFO] [stdout]    | ------------ associated items in this implementation
[INFO] [stdout] 30 |     pub fn new(s_name: &'static str, l_name: &'static str, help: &'static str, is_flag: bool, is_bool_flag: bool,
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 44 |     pub fn add_to_parser(&self, parser: &mut getopts::Options) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 64 |     pub fn get_help_record(&self) -> (String, String) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Argument` is never constructed
[INFO] [stdout]   --> src/types.rs:98:12
[INFO] [stdout]    |
[INFO] [stdout] 98 | pub struct Argument {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `add_to_parser`, and `get_usage_piece` are never used
[INFO] [stdout]    --> src/types.rs:105:12
[INFO] [stdout]     |
[INFO] [stdout] 104 | impl Argument {
[INFO] [stdout]     | ------------- associated items in this implementation
[INFO] [stdout] 105 |     pub fn new(name: &'static str, required: bool, default: Option<&'static str>) -> Argument {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 113 |     pub fn add_to_parser(&self, parser: &mut getopts::Options) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 116 |     pub fn get_usage_piece(&self) -> String {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `time_per_iteration` and `estimate_time` are never used
[INFO] [stdout]    --> src/term.rs:435:8
[INFO] [stdout]     |
[INFO] [stdout] 386 | impl<'a> ProgressBar<'a> {
[INFO] [stdout]     | ------------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 435 |     fn time_per_iteration(&self) -> f32 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 443 |     fn estimate_time(&self) -> f32 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `HelpFormatter` is never constructed
[INFO] [stdout]   --> src/formatting.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct HelpFormatter {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/formatting.rs:23:12
[INFO] [stdout]     |
[INFO] [stdout]  17 | impl HelpFormatter {
[INFO] [stdout]     | ------------------ associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  23 |     pub fn new(width: usize, indent_increment: usize) -> HelpFormatter {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  33 |     pub fn indent(&mut self) {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  38 |     pub fn dedent(&mut self) {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  43 |     pub fn write(&mut self, s: String) {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  48 |     pub fn write_paragraph(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  57 |     pub fn write_heading(&mut self, heading: &str) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  63 |     pub fn write_dl(&mut self, rows: Vec<(String, String)>) {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  73 |     pub fn enter_section(&mut self, name: &str) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  80 |     pub fn exit_section(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  85 |     pub fn write_text(&mut self, text: String) {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  98 |     pub fn write_usage(&mut self, name: &str, args: String, prefix: &str) {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 115 |     pub fn getvalue(&self) -> String {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `wrap_text` is never used
[INFO] [stdout]    --> src/formatting.rs:123:4
[INFO] [stdout]     |
[INFO] [stdout] 123 | fn wrap_text(text: String, width: usize, initial_indent: &str, subsequent_indent: &str) -> String {
[INFO] [stdout]     |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> src/term.rs:388:39
[INFO] [stdout]     |
[INFO] [stdout] 388 |     pub fn new(length: isize, label: &'a str) -> ProgressBar {
[INFO] [stdout]     |                                       ^^         ----------- the same lifetime is hidden here
[INFO] [stdout]     |                                       |
[INFO] [stdout]     |                                       the lifetime is named here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: consistently use `'a`
[INFO] [stdout]     |
[INFO] [stdout] 388 |     pub fn new(length: isize, label: &'a str) -> ProgressBar<'a> {
[INFO] [stdout]     |                                                             ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling clt v0.0.6 (/opt/rustwide/workdir)
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> src/term.rs:527:25
[INFO] [stdout]     |
[INFO] [stdout] 527 |     pub fn new(editor: &'a str) -> Editor {
[INFO] [stdout]     |                         ^^         ------
[INFO] [stdout]     |                         |          |
[INFO] [stdout]     |                         |          the same lifetime is hidden here
[INFO] [stdout]     |                         |          the same lifetime is hidden here
[INFO] [stdout]     |                         |          the same lifetime is hidden here
[INFO] [stdout]     |                         the lifetime is named here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: consistently use `'a`
[INFO] [stdout]     |
[INFO] [stdout] 527 |     pub fn new(editor: &'a str) -> Editor<'a> {
[INFO] [stdout]     |                                          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/term.rs:576:41
[INFO] [stdout]     |
[INFO] [stdout] 576 |         let mut filepath = tmpdir.path().clone();
[INFO] [stdout]     |                                         ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `Path` does not implement `Clone`, so calling `clone` on `&Path` copies the reference, which does not do anything and can be removed
[INFO] [stdout]     = note: `#[warn(noop_method_call)]` on by default
[INFO] [stdout] help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout] 576 -         let mut filepath = tmpdir.path().clone();
[INFO] [stdout] 576 +         let mut filepath = tmpdir.path();
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `Path::join` that must be used
[INFO] [stdout]    --> src/term.rs:577:9
[INFO] [stdout]     |
[INFO] [stdout] 577 |         filepath.join(&tmpname);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 577 |         let _ = filepath.join(&tmpname);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::path::Path`
[INFO] [stdout]   --> src/term.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use std::path::Path;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Duration`
[INFO] [stdout]   --> src/term.rs:16:26
[INFO] [stdout]    |
[INFO] [stdout] 16 | use std::time::{Instant, Duration, SystemTime, UNIX_EPOCH};
[INFO] [stdout]    |                          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/term.rs:200:9
[INFO] [stdout]     |
[INFO] [stdout] 200 |         try!(f.write_str(&self.text));
[INFO] [stdout]     |         ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/term.rs:202:9
[INFO] [stdout]     |
[INFO] [stdout] 202 |         try!(f.write_str("\x1b[0m"));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/term.rs:155:17
[INFO] [stdout]     |
[INFO] [stdout] 155 |                 try!(f.write_str(fg.get_fg_str()));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/term.rs:161:17
[INFO] [stdout]     |
[INFO] [stdout] 161 |                 try!(f.write_str(bg.get_bg_str()));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/term.rs:167:17
[INFO] [stdout]     |
[INFO] [stdout] 167 |                 try!(f.write_str("\x1b[1m"));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/term.rs:169:17
[INFO] [stdout]     |
[INFO] [stdout] 169 |                 try!(f.write_str("\x1b[22m"));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/term.rs:174:17
[INFO] [stdout]     |
[INFO] [stdout] 174 |                 try!(f.write_str("\x1b[2m"));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/term.rs:176:17
[INFO] [stdout]     |
[INFO] [stdout] 176 |                 try!(f.write_str("\x1b[22m"));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/term.rs:181:17
[INFO] [stdout]     |
[INFO] [stdout] 181 |                 try!(f.write_str("\x1b[4m"));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/term.rs:183:17
[INFO] [stdout]     |
[INFO] [stdout] 183 |                 try!(f.write_str("\x1b[24m"));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/term.rs:188:17
[INFO] [stdout]     |
[INFO] [stdout] 188 |                 try!(f.write_str("\x1b[5m"));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/term.rs:190:17
[INFO] [stdout]     |
[INFO] [stdout] 190 |                 try!(f.write_str("\x1b[25m"));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/term.rs:195:17
[INFO] [stdout]     |
[INFO] [stdout] 195 |                 try!(f.write_str("\x1b[7m"));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/term.rs:197:17
[INFO] [stdout]     |
[INFO] [stdout] 197 |                 try!(f.write_str("\x1b[27m"));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std`
[INFO] [stdout]  --> src/formatting.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std;
[INFO] [stdout]   |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated trait `std::ascii::AsciiExt`: use inherent methods instead
[INFO] [stdout]  --> src/term.rs:8:17
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::ascii::AsciiExt;
[INFO] [stdout]   |                 ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `core::str::<impl str>::trim_right_matches`: superseded by `trim_end_matches`
[INFO] [stdout]    --> src/term.rs:225:18
[INFO] [stdout]     |
[INFO] [stdout] 225 |     return input.trim_right_matches("\n").to_string();
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: replace the use of the deprecated method
[INFO] [stdout]     |
[INFO] [stdout] 225 -     return input.trim_right_matches("\n").to_string();
[INFO] [stdout] 225 +     return input.trim_end_matches("\n").to_string();
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ascii::AsciiExt`
[INFO] [stdout]  --> src/term.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::ascii::AsciiExt;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `show_help`
[INFO] [stdout]    --> src/core.rs:121:13
[INFO] [stdout]     |
[INFO] [stdout] 121 |         let show_help = |params: Params| {
[INFO] [stdout]     |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_show_help`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `params`
[INFO] [stdout]    --> src/core.rs:121:26
[INFO] [stdout]     |
[INFO] [stdout] 121 |         let show_help = |params: Params| {
[INFO] [stdout]     |                          ^^^^^^ help: if this is intentional, prefix it with an underscore: `_params`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pragram_name`
[INFO] [stdout]    --> src/core.rs:129:26
[INFO] [stdout]     |
[INFO] [stdout] 129 |     pub fn invoke(&self, pragram_name: String, args: Vec<String>) {
[INFO] [stdout]     |                          ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pragram_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `parser`
[INFO] [stdout]    --> src/types.rs:113:33
[INFO] [stdout]     |
[INFO] [stdout] 113 |     pub fn add_to_parser(&self, parser: &mut getopts::Options) {
[INFO] [stdout]     |                                 ^^^^^^ help: if this is intentional, prefix it with an underscore: `_parser`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `hide_input`
[INFO] [stdout]    --> src/term.rs:221:40
[INFO] [stdout]     |
[INFO] [stdout] 221 | fn get_prompt_input(prompt_text: &str, hide_input: bool) -> String {
[INFO] [stdout]     |                                        ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_hide_input`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/term.rs:475:13
[INFO] [stdout]     |
[INFO] [stdout] 475 |         let mut info: String;
[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:576:13
[INFO] [stdout]     |
[INFO] [stdout] 576 |         let mut filepath = tmpdir.path().clone();
[INFO] [stdout]     |             ----^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `width`
[INFO] [stdout]    --> src/formatting.rs:123:28
[INFO] [stdout]     |
[INFO] [stdout] 123 | fn wrap_text(text: String, width: usize, initial_indent: &str, subsequent_indent: &str) -> String {
[INFO] [stdout]     |                            ^^^^^ help: if this is intentional, prefix it with an underscore: `_width`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `initial_indent`
[INFO] [stdout]    --> src/formatting.rs:123:42
[INFO] [stdout]     |
[INFO] [stdout] 123 | fn wrap_text(text: String, width: usize, initial_indent: &str, subsequent_indent: &str) -> String {
[INFO] [stdout]     |                                          ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_initial_indent`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `subsequent_indent`
[INFO] [stdout]    --> src/formatting.rs:123:64
[INFO] [stdout]     |
[INFO] [stdout] 123 | fn wrap_text(text: String, width: usize, initial_indent: &str, subsequent_indent: &str) -> String {
[INFO] [stdout]     |                                                                ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_subsequent_indent`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Command` is never constructed
[INFO] [stdout]   --> src/core.rs:17:12
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub struct Command {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/core.rs:29:12
[INFO] [stdout]     |
[INFO] [stdout]  28 | impl Command {
[INFO] [stdout]     | ------------ associated items in this implementation
[INFO] [stdout]  29 |     pub fn new(name: &str, callback: CommandCallback) -> Command {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  42 |     pub fn option(&mut self, short_name: &'static str, long_name: &'static str, help: &'static str,
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  51 |     pub fn argument(&mut self, name: &'static str, required: bool, default: Option<&'static str>) {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  56 |     fn make_formatter(&self) -> HelpFormatter {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  60 |     fn format_usage(&self, formatter: &mut HelpFormatter) {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  69 |     pub fn get_usage(&self) -> String {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  75 |     fn format_help_text(&self, formatter: &mut HelpFormatter) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  84 |     fn format_options(&self, formatter: &mut HelpFormatter) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  96 |     fn format_epilog(&self, formatter: &mut HelpFormatter) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 105 |     fn format_help(&self, formatter: &mut HelpFormatter) {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 112 |     pub fn get_help(&self) -> String {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 119 |     fn get_help_option(&self) -> Options {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 129 |     pub fn invoke(&self, pragram_name: String, args: Vec<String>) {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 136 |     fn get_options(&self) -> Vec<Options> {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 147 |     fn make_parser(&self) -> getopts::Options {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 156 |     fn parse_args(&self, args: Vec<String>) -> Vec<String> {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 161 |     pub fn run(&self) {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Params` is never used
[INFO] [stdout]  --> src/types.rs:9:10
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub type Params = Vec<String>;
[INFO] [stdout]   |          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `CommandCallback` is never used
[INFO] [stdout]   --> src/types.rs:13:10
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub type CommandCallback = fn(Params);
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Options` is never constructed
[INFO] [stdout]   --> src/types.rs:18:12
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub struct Options {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `add_to_parser`, and `get_help_record` are never used
[INFO] [stdout]   --> src/types.rs:30:12
[INFO] [stdout]    |
[INFO] [stdout] 29 | impl Options {
[INFO] [stdout]    | ------------ associated items in this implementation
[INFO] [stdout] 30 |     pub fn new(s_name: &'static str, l_name: &'static str, help: &'static str, is_flag: bool, is_bool_flag: bool,
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 44 |     pub fn add_to_parser(&self, parser: &mut getopts::Options) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 64 |     pub fn get_help_record(&self) -> (String, String) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Argument` is never constructed
[INFO] [stdout]   --> src/types.rs:98:12
[INFO] [stdout]    |
[INFO] [stdout] 98 | pub struct Argument {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `add_to_parser`, and `get_usage_piece` are never used
[INFO] [stdout]    --> src/types.rs:105:12
[INFO] [stdout]     |
[INFO] [stdout] 104 | impl Argument {
[INFO] [stdout]     | ------------- associated items in this implementation
[INFO] [stdout] 105 |     pub fn new(name: &'static str, required: bool, default: Option<&'static str>) -> Argument {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 113 |     pub fn add_to_parser(&self, parser: &mut getopts::Options) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 116 |     pub fn get_usage_piece(&self) -> String {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `time_per_iteration` and `estimate_time` are never used
[INFO] [stdout]    --> src/term.rs:435:8
[INFO] [stdout]     |
[INFO] [stdout] 386 | impl<'a> ProgressBar<'a> {
[INFO] [stdout]     | ------------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 435 |     fn time_per_iteration(&self) -> f32 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 443 |     fn estimate_time(&self) -> f32 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `HelpFormatter` is never constructed
[INFO] [stdout]   --> src/formatting.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct HelpFormatter {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/formatting.rs:23:12
[INFO] [stdout]     |
[INFO] [stdout]  17 | impl HelpFormatter {
[INFO] [stdout]     | ------------------ associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  23 |     pub fn new(width: usize, indent_increment: usize) -> HelpFormatter {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  33 |     pub fn indent(&mut self) {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  38 |     pub fn dedent(&mut self) {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  43 |     pub fn write(&mut self, s: String) {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  48 |     pub fn write_paragraph(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  57 |     pub fn write_heading(&mut self, heading: &str) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  63 |     pub fn write_dl(&mut self, rows: Vec<(String, String)>) {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  73 |     pub fn enter_section(&mut self, name: &str) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  80 |     pub fn exit_section(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  85 |     pub fn write_text(&mut self, text: String) {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  98 |     pub fn write_usage(&mut self, name: &str, args: String, prefix: &str) {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 115 |     pub fn getvalue(&self) -> String {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `wrap_text` is never used
[INFO] [stdout]    --> src/formatting.rs:123:4
[INFO] [stdout]     |
[INFO] [stdout] 123 | fn wrap_text(text: String, width: usize, initial_indent: &str, subsequent_indent: &str) -> String {
[INFO] [stdout]     |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> src/term.rs:388:39
[INFO] [stdout]     |
[INFO] [stdout] 388 |     pub fn new(length: isize, label: &'a str) -> ProgressBar {
[INFO] [stdout]     |                                       ^^         ----------- the same lifetime is hidden here
[INFO] [stdout]     |                                       |
[INFO] [stdout]     |                                       the lifetime is named here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: consistently use `'a`
[INFO] [stdout]     |
[INFO] [stdout] 388 |     pub fn new(length: isize, label: &'a str) -> ProgressBar<'a> {
[INFO] [stdout]     |                                                             ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> src/term.rs:527:25
[INFO] [stdout]     |
[INFO] [stdout] 527 |     pub fn new(editor: &'a str) -> Editor {
[INFO] [stdout]     |                         ^^         ------
[INFO] [stdout]     |                         |          |
[INFO] [stdout]     |                         |          the same lifetime is hidden here
[INFO] [stdout]     |                         |          the same lifetime is hidden here
[INFO] [stdout]     |                         |          the same lifetime is hidden here
[INFO] [stdout]     |                         the lifetime is named here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: consistently use `'a`
[INFO] [stdout]     |
[INFO] [stdout] 527 |     pub fn new(editor: &'a str) -> Editor<'a> {
[INFO] [stdout]     |                                          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/term.rs:576:41
[INFO] [stdout]     |
[INFO] [stdout] 576 |         let mut filepath = tmpdir.path().clone();
[INFO] [stdout]     |                                         ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `Path` does not implement `Clone`, so calling `clone` on `&Path` copies the reference, which does not do anything and can be removed
[INFO] [stdout]     = note: `#[warn(noop_method_call)]` on by default
[INFO] [stdout] help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout] 576 -         let mut filepath = tmpdir.path().clone();
[INFO] [stdout] 576 +         let mut filepath = tmpdir.path();
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `Path::join` that must be used
[INFO] [stdout]    --> src/term.rs:577:9
[INFO] [stdout]     |
[INFO] [stdout] 577 |         filepath.join(&tmpname);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 577 |         let _ = filepath.join(&tmpname);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.77s
[INFO] running `Command { std: "docker" "inspect" "fc9108d2c5a8cf532348b23677fe27f2fbf8474760b650d587984da060c62461", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "fc9108d2c5a8cf532348b23677fe27f2fbf8474760b650d587984da060c62461", kill_on_drop: false }`
[INFO] [stdout] fc9108d2c5a8cf532348b23677fe27f2fbf8474760b650d587984da060c62461
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+1.90.0" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] f03d9816eaa90bf19c8aa68b26ea8afa9ef6e40375f8aea547876cb255b9017e
[INFO] running `Command { std: "docker" "start" "-a" "f03d9816eaa90bf19c8aa68b26ea8afa9ef6e40375f8aea547876cb255b9017e", kill_on_drop: false }`
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr] warning: unused import: `std::path::Path`
[INFO] [stderr]   --> src/term.rs:14:5
[INFO] [stderr]    |
[INFO] [stderr] 14 | use std::path::Path;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Duration`
[INFO] [stderr]   --> src/term.rs:16:26
[INFO] [stderr]    |
[INFO] [stderr] 16 | use std::time::{Instant, Duration, SystemTime, UNIX_EPOCH};
[INFO] [stderr]    |                          ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/term.rs:200:9
[INFO] [stderr]     |
[INFO] [stderr] 200 |         try!(f.write_str(&self.text));
[INFO] [stderr]     |         ^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(deprecated)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/term.rs:202:9
[INFO] [stderr]     |
[INFO] [stderr] 202 |         try!(f.write_str("\x1b[0m"));
[INFO] [stderr]     |         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/term.rs:155:17
[INFO] [stderr]     |
[INFO] [stderr] 155 |                 try!(f.write_str(fg.get_fg_str()));
[INFO] [stderr]     |                 ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/term.rs:161:17
[INFO] [stderr]     |
[INFO] [stderr] 161 |                 try!(f.write_str(bg.get_bg_str()));
[INFO] [stderr]     |                 ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/term.rs:167:17
[INFO] [stderr]     |
[INFO] [stderr] 167 |                 try!(f.write_str("\x1b[1m"));
[INFO] [stderr]     |                 ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/term.rs:169:17
[INFO] [stderr]     |
[INFO] [stderr] 169 |                 try!(f.write_str("\x1b[22m"));
[INFO] [stderr]     |                 ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/term.rs:174:17
[INFO] [stderr]     |
[INFO] [stderr] 174 |                 try!(f.write_str("\x1b[2m"));
[INFO] [stderr]     |                 ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/term.rs:176:17
[INFO] [stderr]     |
[INFO] [stderr] 176 |                 try!(f.write_str("\x1b[22m"));
[INFO] [stderr]     |                 ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/term.rs:181:17
[INFO] [stderr]     |
[INFO] [stderr] 181 |                 try!(f.write_str("\x1b[4m"));
[INFO] [stderr]     |                 ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/term.rs:183:17
[INFO] [stderr]     |
[INFO] [stderr] 183 |                 try!(f.write_str("\x1b[24m"));
[INFO] [stderr]     |                 ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/term.rs:188:17
[INFO] [stderr]     |
[INFO] [stderr] 188 |                 try!(f.write_str("\x1b[5m"));
[INFO] [stderr]     |                 ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/term.rs:190:17
[INFO] [stderr]     |
[INFO] [stderr] 190 |                 try!(f.write_str("\x1b[25m"));
[INFO] [stderr]     |                 ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/term.rs:195:17
[INFO] [stderr]     |
[INFO] [stderr] 195 |                 try!(f.write_str("\x1b[7m"));
[INFO] [stderr]     |                 ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/term.rs:197:17
[INFO] [stderr]     |
[INFO] [stderr] 197 |                 try!(f.write_str("\x1b[27m"));
[INFO] [stderr]     |                 ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std`
[INFO] [stderr]  --> src/formatting.rs:5:5
[INFO] [stderr]   |
[INFO] [stderr] 5 | use std;
[INFO] [stderr]   |     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated trait `std::ascii::AsciiExt`: use inherent methods instead
[INFO] [stderr]  --> src/term.rs:8:17
[INFO] [stderr]   |
[INFO] [stderr] 8 | use std::ascii::AsciiExt;
[INFO] [stderr]   |                 ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `core::str::<impl str>::trim_right_matches`: superseded by `trim_end_matches`
[INFO] [stderr]    --> src/term.rs:225:18
[INFO] [stderr]     |
[INFO] [stderr] 225 |     return input.trim_right_matches("\n").to_string();
[INFO] [stderr]     |                  ^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr] help: replace the use of the deprecated method
[INFO] [stderr]     |
[INFO] [stderr] 225 -     return input.trim_right_matches("\n").to_string();
[INFO] [stderr] 225 +     return input.trim_end_matches("\n").to_string();
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::ascii::AsciiExt`
[INFO] [stderr]  --> src/term.rs:8:5
[INFO] [stderr]   |
[INFO] [stderr] 8 | use std::ascii::AsciiExt;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `show_help`
[INFO] [stderr]    --> src/core.rs:121:13
[INFO] [stderr]     |
[INFO] [stderr] 121 |         let show_help = |params: Params| {
[INFO] [stderr]     |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_show_help`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `params`
[INFO] [stderr]    --> src/core.rs:121:26
[INFO] [stderr]     |
[INFO] [stderr] 121 |         let show_help = |params: Params| {
[INFO] [stderr]     |                          ^^^^^^ help: if this is intentional, prefix it with an underscore: `_params`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `pragram_name`
[INFO] [stderr]    --> src/core.rs:129:26
[INFO] [stderr]     |
[INFO] [stderr] 129 |     pub fn invoke(&self, pragram_name: String, args: Vec<String>) {
[INFO] [stderr]     |                          ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pragram_name`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `parser`
[INFO] [stderr]    --> src/types.rs:113:33
[INFO] [stderr]     |
[INFO] [stderr] 113 |     pub fn add_to_parser(&self, parser: &mut getopts::Options) {
[INFO] [stderr]     |                                 ^^^^^^ help: if this is intentional, prefix it with an underscore: `_parser`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `hide_input`
[INFO] [stderr]    --> src/term.rs:221:40
[INFO] [stderr]     |
[INFO] [stderr] 221 | fn get_prompt_input(prompt_text: &str, hide_input: bool) -> String {
[INFO] [stderr]     |                                        ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_hide_input`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/term.rs:475:13
[INFO] [stderr]     |
[INFO] [stderr] 475 |         let mut info: String;
[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:576:13
[INFO] [stderr]     |
[INFO] [stderr] 576 |         let mut filepath = tmpdir.path().clone();
[INFO] [stderr]     |             ----^^^^^^^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `width`
[INFO] [stderr]    --> src/formatting.rs:123:28
[INFO] [stderr]     |
[INFO] [stderr] 123 | fn wrap_text(text: String, width: usize, initial_indent: &str, subsequent_indent: &str) -> String {
[INFO] [stderr]     |                            ^^^^^ help: if this is intentional, prefix it with an underscore: `_width`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `initial_indent`
[INFO] [stderr]    --> src/formatting.rs:123:42
[INFO] [stderr]     |
[INFO] [stderr] 123 | fn wrap_text(text: String, width: usize, initial_indent: &str, subsequent_indent: &str) -> String {
[INFO] [stderr]     |                                          ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_initial_indent`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `subsequent_indent`
[INFO] [stderr]    --> src/formatting.rs:123:64
[INFO] [stderr]     |
[INFO] [stderr] 123 | fn wrap_text(text: String, width: usize, initial_indent: &str, subsequent_indent: &str) -> String {
[INFO] [stderr]     |                                                                ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_subsequent_indent`
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Command` is never constructed
[INFO] [stderr]   --> src/core.rs:17:12
[INFO] [stderr]    |
[INFO] [stderr] 17 | pub struct Command {
[INFO] [stderr]    |            ^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: multiple associated items are never used
[INFO] [stderr]    --> src/core.rs:29:12
[INFO] [stderr]     |
[INFO] [stderr]  28 | impl Command {
[INFO] [stderr]     | ------------ associated items in this implementation
[INFO] [stderr]  29 |     pub fn new(name: &str, callback: CommandCallback) -> Command {
[INFO] [stderr]     |            ^^^
[INFO] [stderr] ...
[INFO] [stderr]  42 |     pub fn option(&mut self, short_name: &'static str, long_name: &'static str, help: &'static str,
[INFO] [stderr]     |            ^^^^^^
[INFO] [stderr] ...
[INFO] [stderr]  51 |     pub fn argument(&mut self, name: &'static str, required: bool, default: Option<&'static str>) {
[INFO] [stderr]     |            ^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr]  56 |     fn make_formatter(&self) -> HelpFormatter {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr]  60 |     fn format_usage(&self, formatter: &mut HelpFormatter) {
[INFO] [stderr]     |        ^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr]  69 |     pub fn get_usage(&self) -> String {
[INFO] [stderr]     |            ^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr]  75 |     fn format_help_text(&self, formatter: &mut HelpFormatter) {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr]  84 |     fn format_options(&self, formatter: &mut HelpFormatter) {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr]  96 |     fn format_epilog(&self, formatter: &mut HelpFormatter) {
[INFO] [stderr]     |        ^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 105 |     fn format_help(&self, formatter: &mut HelpFormatter) {
[INFO] [stderr]     |        ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 112 |     pub fn get_help(&self) -> String {
[INFO] [stderr]     |            ^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 119 |     fn get_help_option(&self) -> Options {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 129 |     pub fn invoke(&self, pragram_name: String, args: Vec<String>) {
[INFO] [stderr]     |            ^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 136 |     fn get_options(&self) -> Vec<Options> {
[INFO] [stderr]     |        ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 147 |     fn make_parser(&self) -> getopts::Options {
[INFO] [stderr]     |        ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 156 |     fn parse_args(&self, args: Vec<String>) -> Vec<String> {
[INFO] [stderr]     |        ^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 161 |     pub fn run(&self) {
[INFO] [stderr]     |            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: type alias `Params` is never used
[INFO] [stderr]  --> src/types.rs:9:10
[INFO] [stderr]   |
[INFO] [stderr] 9 | pub type Params = Vec<String>;
[INFO] [stderr]   |          ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: type alias `CommandCallback` is never used
[INFO] [stderr]   --> src/types.rs:13:10
[INFO] [stderr]    |
[INFO] [stderr] 13 | pub type CommandCallback = fn(Params);
[INFO] [stderr]    |          ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Options` is never constructed
[INFO] [stderr]   --> src/types.rs:18:12
[INFO] [stderr]    |
[INFO] [stderr] 18 | pub struct Options {
[INFO] [stderr]    |            ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `new`, `add_to_parser`, and `get_help_record` are never used
[INFO] [stderr]   --> src/types.rs:30:12
[INFO] [stderr]    |
[INFO] [stderr] 29 | impl Options {
[INFO] [stderr]    | ------------ associated items in this implementation
[INFO] [stderr] 30 |     pub fn new(s_name: &'static str, l_name: &'static str, help: &'static str, is_flag: bool, is_bool_flag: bool,
[INFO] [stderr]    |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 44 |     pub fn add_to_parser(&self, parser: &mut getopts::Options) {
[INFO] [stderr]    |            ^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 64 |     pub fn get_help_record(&self) -> (String, String) {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Argument` is never constructed
[INFO] [stderr]   --> src/types.rs:98:12
[INFO] [stderr]    |
[INFO] [stderr] 98 | pub struct Argument {
[INFO] [stderr]    |            ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `new`, `add_to_parser`, and `get_usage_piece` are never used
[INFO] [stderr]    --> src/types.rs:105:12
[INFO] [stderr]     |
[INFO] [stderr] 104 | impl Argument {
[INFO] [stderr]     | ------------- associated items in this implementation
[INFO] [stderr] 105 |     pub fn new(name: &'static str, required: bool, default: Option<&'static str>) -> Argument {
[INFO] [stderr]     |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 113 |     pub fn add_to_parser(&self, parser: &mut getopts::Options) {
[INFO] [stderr]     |            ^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 116 |     pub fn get_usage_piece(&self) -> String {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `time_per_iteration` and `estimate_time` are never used
[INFO] [stderr]    --> src/term.rs:435:8
[INFO] [stderr]     |
[INFO] [stderr] 386 | impl<'a> ProgressBar<'a> {
[INFO] [stderr]     | ------------------------ methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 435 |     fn time_per_iteration(&self) -> f32 {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 443 |     fn estimate_time(&self) -> f32 {
[INFO] [stderr]     |        ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `HelpFormatter` is never constructed
[INFO] [stderr]   --> src/formatting.rs:10:12
[INFO] [stderr]    |
[INFO] [stderr] 10 | pub struct HelpFormatter {
[INFO] [stderr]    |            ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: multiple associated items are never used
[INFO] [stderr]    --> src/formatting.rs:23:12
[INFO] [stderr]     |
[INFO] [stderr]  17 | impl HelpFormatter {
[INFO] [stderr]     | ------------------ associated items in this implementation
[INFO] [stderr] ...
[INFO] [stderr]  23 |     pub fn new(width: usize, indent_increment: usize) -> HelpFormatter {
[INFO] [stderr]     |            ^^^
[INFO] [stderr] ...
[INFO] [stderr]  33 |     pub fn indent(&mut self) {
[INFO] [stderr]     |            ^^^^^^
[INFO] [stderr] ...
[INFO] [stderr]  38 |     pub fn dedent(&mut self) {
[INFO] [stderr]     |            ^^^^^^
[INFO] [stderr] ...
[INFO] [stderr]  43 |     pub fn write(&mut self, s: String) {
[INFO] [stderr]     |            ^^^^^
[INFO] [stderr] ...
[INFO] [stderr]  48 |     pub fn write_paragraph(&mut self) {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr]  57 |     pub fn write_heading(&mut self, heading: &str) {
[INFO] [stderr]     |            ^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr]  63 |     pub fn write_dl(&mut self, rows: Vec<(String, String)>) {
[INFO] [stderr]     |            ^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr]  73 |     pub fn enter_section(&mut self, name: &str) {
[INFO] [stderr]     |            ^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr]  80 |     pub fn exit_section(&mut self) {
[INFO] [stderr]     |            ^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr]  85 |     pub fn write_text(&mut self, text: String) {
[INFO] [stderr]     |            ^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr]  98 |     pub fn write_usage(&mut self, name: &str, args: String, prefix: &str) {
[INFO] [stderr]     |            ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 115 |     pub fn getvalue(&self) -> String {
[INFO] [stderr]     |            ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `wrap_text` is never used
[INFO] [stderr]    --> src/formatting.rs:123:4
[INFO] [stderr]     |
[INFO] [stderr] 123 | fn wrap_text(text: String, width: usize, initial_indent: &str, subsequent_indent: &str) -> String {
[INFO] [stderr]     |    ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stderr]    --> src/term.rs:388:39
[INFO] [stderr]     |
[INFO] [stderr] 388 |     pub fn new(length: isize, label: &'a str) -> ProgressBar {
[INFO] [stderr]     |                                       ^^         ----------- the same lifetime is hidden here
[INFO] [stderr]     |                                       |
[INFO] [stderr]     |                                       the lifetime is named here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stderr] help: consistently use `'a`
[INFO] [stderr]     |
[INFO] [stderr] 388 |     pub fn new(length: isize, label: &'a str) -> ProgressBar<'a> {
[INFO] [stderr]     |                                                             ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stderr]    --> src/term.rs:527:25
[INFO] [stderr]     |
[INFO] [stderr] 527 |     pub fn new(editor: &'a str) -> Editor {
[INFO] [stderr]     |                         ^^         ------
[INFO] [stderr]     |                         |          |
[INFO] [stderr]     |                         |          the same lifetime is hidden here
[INFO] [stderr]     |                         |          the same lifetime is hidden here
[INFO] [stderr]     |                         |          the same lifetime is hidden here
[INFO] [stderr]     |                         the lifetime is named here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: consistently use `'a`
[INFO] [stderr]     |
[INFO] [stderr] 527 |     pub fn new(editor: &'a str) -> Editor<'a> {
[INFO] [stderr]     |                                          ++++
[INFO] [stderr] 
[INFO] [stderr] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stderr]    --> src/term.rs:576:41
[INFO] [stderr]     |
[INFO] [stderr] 576 |         let mut filepath = tmpdir.path().clone();
[INFO] [stderr]     |                                         ^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: the type `Path` does not implement `Clone`, so calling `clone` on `&Path` copies the reference, which does not do anything and can be removed
[INFO] [stderr]     = note: `#[warn(noop_method_call)]` on by default
[INFO] [stderr] help: remove this redundant call
[INFO] [stderr]     |
[INFO] [stderr] 576 -         let mut filepath = tmpdir.path().clone();
[INFO] [stderr] 576 +         let mut filepath = tmpdir.path();
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unused return value of `Path::join` that must be used
[INFO] [stderr]    --> src/term.rs:577:9
[INFO] [stderr]     |
[INFO] [stderr] 577 |         filepath.join(&tmpname);
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_must_use)]` on by default
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 577 |         let _ = filepath.join(&tmpname);
[INFO] [stderr]     |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: `clt` (lib) generated 46 warnings (run `cargo fix --lib -p clt` to apply 7 suggestions)
[INFO] [stderr] warning: `clt` (lib test) generated 46 warnings (46 duplicates)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.04s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/clt-526074c7b4f255df)
[INFO] [stderr]      Running tests/test_basic.rs (/opt/rustwide/target/debug/deps/test_basic-d5368e6bf31011e4)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stderr]    Doc-tests clt
[INFO] [stdout] test foo ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 5 tests
[INFO] [stdout] test src/term.rs - term::get_terminal_size (line 309) - compile ... ok
[INFO] [stdout] test src/term.rs - term::Editor<'a,'k,'v>::edit_file (line 541) - compile ... ok
[INFO] [stdout] test src/term.rs - term::Style (line 79) - compile ... ok
[INFO] [stdout] test src/term.rs - term::ProgressBar (line 359) - compile ... ok
[INFO] [stdout] test src/term.rs - term::Editor<'a,'k,'v>::edit (line 564) - compile ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.26s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "f03d9816eaa90bf19c8aa68b26ea8afa9ef6e40375f8aea547876cb255b9017e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f03d9816eaa90bf19c8aa68b26ea8afa9ef6e40375f8aea547876cb255b9017e", kill_on_drop: false }`
[INFO] [stdout] f03d9816eaa90bf19c8aa68b26ea8afa9ef6e40375f8aea547876cb255b9017e
