[INFO] cloning repository https://github.com/jasonhansel/paraphrase
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/jasonhansel/paraphrase" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjasonhansel%2Fparaphrase", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjasonhansel%2Fparaphrase'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] ce446649cb3b9538fff5ad09560720368c7e7eab
[INFO] checking jasonhansel/paraphrase against master#5518eaa946291f00471af8b254b2a1715f234882 for pr-120393
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjasonhansel%2Fparaphrase" "/workspace/builds/worker-3-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc1/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/jasonhansel/paraphrase on toolchain 5518eaa946291f00471af8b254b2a1715f234882
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+5518eaa946291f00471af8b254b2a1715f234882" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/jasonhansel/paraphrase
[INFO] finished tweaking git repo https://github.com/jasonhansel/paraphrase
[INFO] tweaked toml for git repo https://github.com/jasonhansel/paraphrase written to /workspace/builds/worker-3-tc1/source/Cargo.toml
[INFO] crate git repo https://github.com/jasonhansel/paraphrase already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+5518eaa946291f00471af8b254b2a1715f234882" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded structopt v0.1.7
[INFO] [stderr]   Downloaded structopt-derive v0.1.6
[INFO] [stderr]   Downloaded clap v2.29.2
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+5518eaa946291f00471af8b254b2a1715f234882" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] b5fc0ad712091244ae8fa3b934bafa1a917f0d04df4566ce2debe1b02d0ec7bf
[INFO] running `Command { std: "docker" "start" "-a" "b5fc0ad712091244ae8fa3b934bafa1a917f0d04df4566ce2debe1b02d0ec7bf", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "b5fc0ad712091244ae8fa3b934bafa1a917f0d04df4566ce2debe1b02d0ec7bf", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b5fc0ad712091244ae8fa3b934bafa1a917f0d04df4566ce2debe1b02d0ec7bf", kill_on_drop: false }`
[INFO] [stdout] b5fc0ad712091244ae8fa3b934bafa1a917f0d04df4566ce2debe1b02d0ec7bf
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+5518eaa946291f00471af8b254b2a1715f234882" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 887ab07eafae5f878e29e5e37f89ff3a1e74bb6a2725579ce125aba76035619b
[INFO] running `Command { std: "docker" "start" "-a" "887ab07eafae5f878e29e5e37f89ff3a1e74bb6a2725579ce125aba76035619b", kill_on_drop: false }`
[INFO] [stderr]     Checking libc v0.2.36
[INFO] [stderr]    Compiling unicode-xid v0.0.4
[INFO] [stderr]     Checking void v1.0.2
[INFO] [stderr]     Checking unicode-width v0.1.4
[INFO] [stderr]    Compiling quote v0.3.15
[INFO] [stderr]     Checking bitflags v1.0.1
[INFO] [stderr]     Checking strsim v0.6.0
[INFO] [stderr]     Checking ansi_term v0.10.2
[INFO] [stderr]     Checking vec_map v0.8.0
[INFO] [stderr]     Checking lazy_static v1.0.0
[INFO] [stderr]     Checking futures v0.1.17
[INFO] [stderr]     Checking regex-syntax v0.4.2
[INFO] [stderr]     Checking itoa v0.3.4
[INFO] [stderr]     Checking num-traits v0.1.42
[INFO] [stderr]     Checking dtoa v0.4.2
[INFO] [stderr]     Checking utf8-ranges v1.0.0
[INFO] [stderr]     Checking unreachable v1.0.0
[INFO] [stderr]    Compiling synom v0.11.3
[INFO] [stderr]     Checking textwrap v0.9.0
[INFO] [stderr]     Checking serde v1.0.27
[INFO] [stderr]     Checking thread_local v0.3.5
[INFO] [stderr]    Compiling syn v0.11.11
[INFO] [stderr]     Checking atty v0.2.6
[INFO] [stderr]     Checking memchr v2.0.1
[INFO] [stderr]     Checking num_cpus v1.8.0
[INFO] [stderr]     Checking rand v0.4.2
[INFO] [stderr]     Checking clap v2.29.2
[INFO] [stderr]     Checking aho-corasick v0.6.4
[INFO] [stderr]     Checking regex v0.2.5
[INFO] [stderr]     Checking futures-cpupool v0.1.8
[INFO] [stderr]    Compiling structopt-derive v0.1.6
[INFO] [stderr]     Checking structopt v0.1.7
[INFO] [stderr]     Checking serde_json v1.0.9
[INFO] [stderr]     Checking paraphrase v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused imports: `IndexMut`, `Index`
[INFO] [stdout]   --> src/value.rs:13:20
[INFO] [stdout]    |
[INFO] [stdout] 13 | use std::ops::{Add,Index,IndexMut};
[INFO] [stdout]    |                    ^^^^^ ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `IndexMut`, `Index`
[INFO] [stdout]   --> src/value.rs:13:20
[INFO] [stdout]    |
[INFO] [stdout] 13 | use std::ops::{Add,Index,IndexMut};
[INFO] [stdout]    |                    ^^^^^ ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/value.rs:76:50
[INFO] [stdout]    |
[INFO] [stdout] 76 |     fn split_at<'t>(&'t mut self, idx: usize) -> (ArcSlice) {
[INFO] [stdout]    |                                                  ^        ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 76 -     fn split_at<'t>(&'t mut self, idx: usize) -> (ArcSlice) {
[INFO] [stdout] 76 +     fn split_at<'t>(&'t mut self, idx: usize) -> ArcSlice {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `let` scrutinee expression
[INFO] [stdout]    --> src/base.rs:201:36
[INFO] [stdout]     |
[INFO] [stdout] 201 |                 if let Some(tag) = (name_tag.get(1)) {
[INFO] [stdout]     |                                    ^               ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 201 -                 if let Some(tag) = (name_tag.get(1)) {
[INFO] [stdout] 201 +                 if let Some(tag) = name_tag.get(1) {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `UnwindSafe`
[INFO] [stdout]   --> src/expand.rs:16:18
[INFO] [stdout]    |
[INFO] [stdout] 16 | use std::panic::{UnwindSafe,AssertUnwindSafe};
[INFO] [stdout]    |                  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/expand.rs:28:31
[INFO] [stdout]    |
[INFO] [stdout] 28 |     fn end_command(&mut self, Vec<CommandPart>, Arc<Scope>);
[INFO] [stdout]    |                               ^^^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: Vec<CommandPart>`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout]    = note: `#[warn(anonymous_parameters)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/expand.rs:28:49
[INFO] [stdout]    |
[INFO] [stdout] 28 |     fn end_command(&mut self, Vec<CommandPart>, Arc<Scope>);
[INFO] [stdout]    |                                                 ^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: Arc<Scope>`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/expand.rs:31:29
[INFO] [stdout]    |
[INFO] [stdout] 31 |     fn raw_param(&mut self, Rope);
[INFO] [stdout]    |                             ^^^^ help: try naming the parameter or explicitly ignoring it: `_: Rope`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/expand.rs:32:30
[INFO] [stdout]    |
[INFO] [stdout] 32 |     fn semi_param(&mut self, Arc<Scope>, Rope, Vec<CommandPart>) -> Rope ;
[INFO] [stdout]    |                              ^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: Arc<Scope>`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/expand.rs:32:42
[INFO] [stdout]    |
[INFO] [stdout] 32 |     fn semi_param(&mut self, Arc<Scope>, Rope, Vec<CommandPart>) -> Rope ;
[INFO] [stdout]    |                                          ^^^^ help: try naming the parameter or explicitly ignoring it: `_: Rope`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/expand.rs:32:48
[INFO] [stdout]    |
[INFO] [stdout] 32 |     fn semi_param(&mut self, Arc<Scope>, Rope, Vec<CommandPart>) -> Rope ;
[INFO] [stdout]    |                                                ^^^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: Vec<CommandPart>`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/expand.rs:33:24
[INFO] [stdout]    |
[INFO] [stdout] 33 |     fn text(&mut self, Rope);
[INFO] [stdout]    |                        ^^^^ help: try naming the parameter or explicitly ignoring it: `_: Rope`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/value.rs:76:50
[INFO] [stdout]    |
[INFO] [stdout] 76 |     fn split_at<'t>(&'t mut self, idx: usize) -> (ArcSlice) {
[INFO] [stdout]    |                                                  ^        ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 76 -     fn split_at<'t>(&'t mut self, idx: usize) -> (ArcSlice) {
[INFO] [stdout] 76 +     fn split_at<'t>(&'t mut self, idx: usize) -> ArcSlice {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]    --> src/expand.rs:238:41
[INFO] [stdout]     |
[INFO] [stdout] 238 |         self.final_join = Some(Box::new((self.handle_call(cmd, call))));
[INFO] [stdout]     |                                         ^                           ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 238 -         self.final_join = Some(Box::new((self.handle_call(cmd, call))));
[INFO] [stdout] 238 +         self.final_join = Some(Box::new(self.handle_call(cmd, call)));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]    --> src/expand.rs:407:26
[INFO] [stdout]     |
[INFO] [stdout] 407 |                 Box::new((final_join.map(|w| {
[INFO] [stdout]     |                          ^
[INFO] [stdout] ...
[INFO] [stdout] 415 |                 })))  as Fut<Loop<_,_>>
[INFO] [stdout]     |                   ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 407 ~                 Box::new(final_join.map(|w| {
[INFO] [stdout] 408 |                     match w {
[INFO] [stdout]   ...
[INFO] [stdout] 414 |                     }
[INFO] [stdout] 415 ~                 }))  as Fut<Loop<_,_>>
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `CpuFuture`
[INFO] [stdout]   --> src/main.rs:38:23
[INFO] [stdout]    |
[INFO] [stdout] 38 | use futures_cpupool::{CpuFuture, CpuPool};
[INFO] [stdout]    |                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::borrow::Cow`
[INFO] [stdout]   --> src/main.rs:41:5
[INFO] [stdout]    |
[INFO] [stdout] 41 | use std::borrow::Cow;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `let` scrutinee expression
[INFO] [stdout]    --> src/base.rs:201:36
[INFO] [stdout]     |
[INFO] [stdout] 201 |                 if let Some(tag) = (name_tag.get(1)) {
[INFO] [stdout]     |                                    ^               ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 201 -                 if let Some(tag) = (name_tag.get(1)) {
[INFO] [stdout] 201 +                 if let Some(tag) = name_tag.get(1) {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::rc::Rc`
[INFO] [stdout]   --> src/main.rs:42:5
[INFO] [stdout]    |
[INFO] [stdout] 42 | use std::rc::Rc;
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `UnwindSafe`
[INFO] [stdout]   --> src/expand.rs:16:18
[INFO] [stdout]    |
[INFO] [stdout] 16 | use std::panic::{UnwindSafe,AssertUnwindSafe};
[INFO] [stdout]    |                  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/expand.rs:28:31
[INFO] [stdout]    |
[INFO] [stdout] 28 |     fn end_command(&mut self, Vec<CommandPart>, Arc<Scope>);
[INFO] [stdout]    |                               ^^^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: Vec<CommandPart>`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout]    = note: `#[warn(anonymous_parameters)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/expand.rs:28:49
[INFO] [stdout]    |
[INFO] [stdout] 28 |     fn end_command(&mut self, Vec<CommandPart>, Arc<Scope>);
[INFO] [stdout]    |                                                 ^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: Arc<Scope>`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/expand.rs:31:29
[INFO] [stdout]    |
[INFO] [stdout] 31 |     fn raw_param(&mut self, Rope);
[INFO] [stdout]    |                             ^^^^ help: try naming the parameter or explicitly ignoring it: `_: Rope`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/expand.rs:32:30
[INFO] [stdout]    |
[INFO] [stdout] 32 |     fn semi_param(&mut self, Arc<Scope>, Rope, Vec<CommandPart>) -> Rope ;
[INFO] [stdout]    |                              ^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: Arc<Scope>`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/expand.rs:32:42
[INFO] [stdout]    |
[INFO] [stdout] 32 |     fn semi_param(&mut self, Arc<Scope>, Rope, Vec<CommandPart>) -> Rope ;
[INFO] [stdout]    |                                          ^^^^ help: try naming the parameter or explicitly ignoring it: `_: Rope`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/expand.rs:32:48
[INFO] [stdout]    |
[INFO] [stdout] 32 |     fn semi_param(&mut self, Arc<Scope>, Rope, Vec<CommandPart>) -> Rope ;
[INFO] [stdout]    |                                                ^^^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: Vec<CommandPart>`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/expand.rs:33:24
[INFO] [stdout]    |
[INFO] [stdout] 33 |     fn text(&mut self, Rope);
[INFO] [stdout]    |                        ^^^^ help: try naming the parameter or explicitly ignoring it: `_: Rope`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]    --> src/expand.rs:238:41
[INFO] [stdout]     |
[INFO] [stdout] 238 |         self.final_join = Some(Box::new((self.handle_call(cmd, call))));
[INFO] [stdout]     |                                         ^                           ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 238 -         self.final_join = Some(Box::new((self.handle_call(cmd, call))));
[INFO] [stdout] 238 +         self.final_join = Some(Box::new(self.handle_call(cmd, call)));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]    --> src/expand.rs:407:26
[INFO] [stdout]     |
[INFO] [stdout] 407 |                 Box::new((final_join.map(|w| {
[INFO] [stdout]     |                          ^
[INFO] [stdout] ...
[INFO] [stdout] 415 |                 })))  as Fut<Loop<_,_>>
[INFO] [stdout]     |                   ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 407 ~                 Box::new(final_join.map(|w| {
[INFO] [stdout] 408 |                     match w {
[INFO] [stdout]   ...
[INFO] [stdout] 414 |                     }
[INFO] [stdout] 415 ~                 }))  as Fut<Loop<_,_>>
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `CpuFuture`
[INFO] [stdout]   --> src/main.rs:38:23
[INFO] [stdout]    |
[INFO] [stdout] 38 | use futures_cpupool::{CpuFuture, CpuPool};
[INFO] [stdout]    |                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::borrow::Cow`
[INFO] [stdout]   --> src/main.rs:41:5
[INFO] [stdout]    |
[INFO] [stdout] 41 | use std::borrow::Cow;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::rc::Rc`
[INFO] [stdout]   --> src/main.rs:42:5
[INFO] [stdout]    |
[INFO] [stdout] 42 | use std::rc::Rc;
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/expand.rs:73:23
[INFO] [stdout]    |
[INFO] [stdout] 73 | pub type Fut<T> = Box<Future<Item=T,Error=Box<Any+Send>> + Send>;
[INFO] [stdout]    |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 73 | pub type Fut<T> = Box<dyn Future<Item=T,Error=Box<Any+Send>> + Send>;
[INFO] [stdout]    |                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/expand.rs:73:23
[INFO] [stdout]    |
[INFO] [stdout] 73 | pub type Fut<T> = Box<Future<Item=T,Error=Box<Any+Send>> + Send>;
[INFO] [stdout]    |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 73 | pub type Fut<T> = Box<dyn Future<Item=T,Error=Box<Any+Send>> + Send>;
[INFO] [stdout]    |                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/expand.rs:73:47
[INFO] [stdout]    |
[INFO] [stdout] 73 | pub type Fut<T> = Box<Future<Item=T,Error=Box<Any+Send>> + Send>;
[INFO] [stdout]    |                                               ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 73 | pub type Fut<T> = Box<Future<Item=T,Error=Box<dyn Any+Send>> + Send>;
[INFO] [stdout]    |                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/expand.rs:73:47
[INFO] [stdout]    |
[INFO] [stdout] 73 | pub type Fut<T> = Box<Future<Item=T,Error=Box<Any+Send>> + Send>;
[INFO] [stdout]    |                                               ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 73 | pub type Fut<T> = Box<Future<Item=T,Error=Box<dyn Any+Send>> + Send>;
[INFO] [stdout]    |                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable statement
[INFO] [stdout]   --> src/value.rs:55:9
[INFO] [stdout]    |
[INFO] [stdout] 53 |         return self.to_str().to_owned();
[INFO] [stdout]    |         ------------------------------- any code following this expression is unreachable
[INFO] [stdout] 54 |
[INFO] [stdout] 55 |         let range = self.range.clone();
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unreachable statement
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unreachable_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable statement
[INFO] [stdout]   --> src/value.rs:55:9
[INFO] [stdout]    |
[INFO] [stdout] 53 |         return self.to_str().to_owned();
[INFO] [stdout]    |         ------------------------------- any code following this expression is unreachable
[INFO] [stdout] 54 |
[INFO] [stdout] 55 |         let range = self.range.clone();
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unreachable statement
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unreachable_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/expand.rs:431:18
[INFO] [stdout]     |
[INFO] [stdout] 431 |         ) as Box<Future<Item=Value,Error=Box<Any+Send>>+Send> ))
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 431 |         ) as Box<dyn Future<Item=Value,Error=Box<Any+Send>>+Send> ))
[INFO] [stdout]     |                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/expand.rs:431:46
[INFO] [stdout]     |
[INFO] [stdout] 431 |         ) as Box<Future<Item=Value,Error=Box<Any+Send>>+Send> ))
[INFO] [stdout]     |                                              ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 431 |         ) as Box<Future<Item=Value,Error=Box<dyn Any+Send>>+Send> ))
[INFO] [stdout]     |                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/expand.rs:431:18
[INFO] [stdout]     |
[INFO] [stdout] 431 |         ) as Box<Future<Item=Value,Error=Box<Any+Send>>+Send> ))
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 431 |         ) as Box<dyn Future<Item=Value,Error=Box<Any+Send>>+Send> ))
[INFO] [stdout]     |                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/expand.rs:431:46
[INFO] [stdout]     |
[INFO] [stdout] 431 |         ) as Box<Future<Item=Value,Error=Box<Any+Send>>+Send> ))
[INFO] [stdout]     |                                              ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 431 |         ) as Box<Future<Item=Value,Error=Box<dyn Any+Send>>+Send> ))
[INFO] [stdout]     |                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/scope.rs:196:41
[INFO] [stdout]     |
[INFO] [stdout] 196 |              code(args.into_iter().map(|mut x| { x }).collect())
[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/base.rs:116:87
[INFO] [stdout]     |
[INFO] [stdout] 116 |         (Some(Str(n)), Some(Str(replacement)), Some(Closure(ValueClosure(inner_scope, mut h))), None, ..) => {
[INFO] [stdout]     |                                                                                       ----^
[INFO] [stdout]     |                                                                                       |
[INFO] [stdout]     |                                                                                       help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/base.rs:136:17
[INFO] [stdout]     |
[INFO] [stdout] 136 |             let mut todo = if value_a == value_b { if_true } else { if_false };
[INFO] [stdout]     |                 ----^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/base.rs:146:17
[INFO] [stdout]     |
[INFO] [stdout] 146 |             let mut todo = (if value_a == value_b { if_true } else { if_false }).force_clone().1;
[INFO] [stdout]     |                 ----^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/scope.rs:196:41
[INFO] [stdout]     |
[INFO] [stdout] 196 |              code(args.into_iter().map(|mut x| { x }).collect())
[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/base.rs:232:17
[INFO] [stdout]     |
[INFO] [stdout] 232 |             let mut params = vec![];
[INFO] [stdout]     |                 ----^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/base.rs:116:87
[INFO] [stdout]     |
[INFO] [stdout] 116 |         (Some(Str(n)), Some(Str(replacement)), Some(Closure(ValueClosure(inner_scope, mut h))), None, ..) => {
[INFO] [stdout]     |                                                                                       ----^
[INFO] [stdout]     |                                                                                       |
[INFO] [stdout]     |                                                                                       help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/base.rs:136:17
[INFO] [stdout]     |
[INFO] [stdout] 136 |             let mut todo = if value_a == value_b { if_true } else { if_false };
[INFO] [stdout]     |                 ----^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/base.rs:146:17
[INFO] [stdout]     |
[INFO] [stdout] 146 |             let mut todo = (if value_a == value_b { if_true } else { if_false }).force_clone().1;
[INFO] [stdout]     |                 ----^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/base.rs:232:17
[INFO] [stdout]     |
[INFO] [stdout] 232 |             let mut params = vec![];
[INFO] [stdout]     |                 ----^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `scope`
[INFO] [stdout]    --> src/expand.rs:186:17
[INFO] [stdout]     |
[INFO] [stdout] 186 |             let scope = self.scope.clone();
[INFO] [stdout]     |                 ^^^^^ help: if this is intentional, prefix it with an underscore: `_scope`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pool2`
[INFO] [stdout]    --> src/expand.rs:187:17
[INFO] [stdout]     |
[INFO] [stdout] 187 |             let pool2 = self.pool.clone();
[INFO] [stdout]     |                 ^^^^^ help: if this is intentional, prefix it with an underscore: `_pool2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `scope`
[INFO] [stdout]    --> src/expand.rs:179:54
[INFO] [stdout]     |
[INFO] [stdout] 179 |     fn end_command(&mut self, cmd: Vec<CommandPart>, scope: Arc<Scope>) {
[INFO] [stdout]     |                                                      ^^^^^ help: if this is intentional, prefix it with an underscore: `_scope`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/expand.rs:220:29
[INFO] [stdout]     |
[INFO] [stdout] 220 |     fn raw_param(&mut self, mut rope: Rope) {
[INFO] [stdout]     |                             ----^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/expand.rs:227:54
[INFO] [stdout]     |
[INFO] [stdout] 227 |     fn semi_param(&mut self, stack: Vec<ParseEntry>, mut rope: Rope, cmd: Vec<CommandPart>) {
[INFO] [stdout]     |                                                      ----^^^^
[INFO] [stdout]     |                                                      |
[INFO] [stdout]     |                                                      help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/expand.rs:240:24
[INFO] [stdout]     |
[INFO] [stdout] 240 |     fn text(&mut self, mut rope: Rope) {
[INFO] [stdout]     |                        ----^^^^
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `new_scope`
[INFO] [stdout]    --> src/expand.rs:306:25
[INFO] [stdout]     |
[INFO] [stdout] 306 |                     let new_scope = scope.clone();
[INFO] [stdout]     |                         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_new_scope`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]    --> src/expand.rs:385:9
[INFO] [stdout]     |
[INFO] [stdout] 385 |     let id = rand::random::<u64>();
[INFO] [stdout]     |         ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `scope`
[INFO] [stdout]    --> src/expand.rs:186:17
[INFO] [stdout]     |
[INFO] [stdout] 186 |             let scope = self.scope.clone();
[INFO] [stdout]     |                 ^^^^^ help: if this is intentional, prefix it with an underscore: `_scope`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pool2`
[INFO] [stdout]    --> src/expand.rs:187:17
[INFO] [stdout]     |
[INFO] [stdout] 187 |             let pool2 = self.pool.clone();
[INFO] [stdout]     |                 ^^^^^ help: if this is intentional, prefix it with an underscore: `_pool2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `scope`
[INFO] [stdout]    --> src/expand.rs:179:54
[INFO] [stdout]     |
[INFO] [stdout] 179 |     fn end_command(&mut self, cmd: Vec<CommandPart>, scope: Arc<Scope>) {
[INFO] [stdout]     |                                                      ^^^^^ help: if this is intentional, prefix it with an underscore: `_scope`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/expand.rs:220:29
[INFO] [stdout]     |
[INFO] [stdout] 220 |     fn raw_param(&mut self, mut rope: Rope) {
[INFO] [stdout]     |                             ----^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/expand.rs:227:54
[INFO] [stdout]     |
[INFO] [stdout] 227 |     fn semi_param(&mut self, stack: Vec<ParseEntry>, mut rope: Rope, cmd: Vec<CommandPart>) {
[INFO] [stdout]     |                                                      ----^^^^
[INFO] [stdout]     |                                                      |
[INFO] [stdout]     |                                                      help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/expand.rs:240:24
[INFO] [stdout]     |
[INFO] [stdout] 240 |     fn text(&mut self, mut rope: Rope) {
[INFO] [stdout]     |                        ----^^^^
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `new_scope`
[INFO] [stdout]    --> src/expand.rs:306:25
[INFO] [stdout]     |
[INFO] [stdout] 306 |                     let new_scope = scope.clone();
[INFO] [stdout]     |                         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_new_scope`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/expand.rs:389:92
[INFO] [stdout]     |
[INFO] [stdout] 389 |         loop_fn(( (vec![] as Vec<Fut<Rope>>), _scope, _rope), move |(mut joins, mut scope, mut rope)| {
[INFO] [stdout]     |                                                                                            ----^^^^
[INFO] [stdout]     |                                                                                            |
[INFO] [stdout]     |                                                                                            help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]    --> src/expand.rs:385:9
[INFO] [stdout]     |
[INFO] [stdout] 385 |     let id = rand::random::<u64>();
[INFO] [stdout]     |         ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/expand.rs:389:92
[INFO] [stdout]     |
[INFO] [stdout] 389 |         loop_fn(( (vec![] as Vec<Fut<Rope>>), _scope, _rope), move |(mut joins, mut scope, mut rope)| {
[INFO] [stdout]     |                                                                                            ----^^^^
[INFO] [stdout]     |                                                                                            |
[INFO] [stdout]     |                                                                                            help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/main.rs:78:13
[INFO] [stdout]    |
[INFO] [stdout] 78 |             file.read_to_string(&mut s);
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 78 |             let _ = file.read_to_string(&mut s);
[INFO] [stdout]    |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::string::String::split_off` that must be used
[INFO] [stdout]   --> src/value.rs:57:28
[INFO] [stdout]    |
[INFO] [stdout] 57 |             .map(|mut x| { x.split_off(range.end); x.split_off(range.start)   })
[INFO] [stdout]    |                            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: use `.truncate()` if you don't need the other half
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 57 |             .map(|mut x| { let _ = x.split_off(range.end); x.split_off(range.start)   })
[INFO] [stdout]    |                            +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/value.rs:356:9
[INFO] [stdout]     |
[INFO] [stdout] 356 |         write!(f, "CODE<");
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]     = note: this warning originates in the macro `write` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static variable `latest_tag` should have an upper case name
[INFO] [stdout]   --> src/scope.rs:14:8
[INFO] [stdout]    |
[INFO] [stdout] 14 | static latest_tag : AtomicUsize = AtomicUsize::new(0);
[INFO] [stdout]    |        ^^^^^^^^^^ help: convert the identifier to upper case: `LATEST_TAG`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_upper_case_globals)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/scope.rs:40:76
[INFO] [stdout]    |
[INFO] [stdout] 40 |             &User(ref s, _, ref v) => { write!(f, "params (")?; s.fmt(f)?; write!(f, ") in "); v.fmt(f) },
[INFO] [stdout]    |                                                                            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]    = note: this warning originates in the macro `write` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 40 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/main.rs:78:13
[INFO] [stdout]    |
[INFO] [stdout] 78 |             file.read_to_string(&mut s);
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 78 |             let _ = file.read_to_string(&mut s);
[INFO] [stdout]    |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::string::String::split_off` that must be used
[INFO] [stdout]   --> src/value.rs:57:28
[INFO] [stdout]    |
[INFO] [stdout] 57 |             .map(|mut x| { x.split_off(range.end); x.split_off(range.start)   })
[INFO] [stdout]    |                            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: use `.truncate()` if you don't need the other half
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 57 |             .map(|mut x| { let _ = x.split_off(range.end); x.split_off(range.start)   })
[INFO] [stdout]    |                            +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/value.rs:356:9
[INFO] [stdout]     |
[INFO] [stdout] 356 |         write!(f, "CODE<");
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]     = note: this warning originates in the macro `write` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static variable `latest_tag` should have an upper case name
[INFO] [stdout]   --> src/scope.rs:14:8
[INFO] [stdout]    |
[INFO] [stdout] 14 | static latest_tag : AtomicUsize = AtomicUsize::new(0);
[INFO] [stdout]    |        ^^^^^^^^^^ help: convert the identifier to upper case: `LATEST_TAG`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_upper_case_globals)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/scope.rs:40:76
[INFO] [stdout]    |
[INFO] [stdout] 40 |             &User(ref s, _, ref v) => { write!(f, "params (")?; s.fmt(f)?; write!(f, ") in "); v.fmt(f) },
[INFO] [stdout]    |                                                                            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]    = note: this warning originates in the macro `write` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 40 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished dev [unoptimized + debuginfo] target(s) in 2.22s
[INFO] running `Command { std: "docker" "inspect" "887ab07eafae5f878e29e5e37f89ff3a1e74bb6a2725579ce125aba76035619b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "887ab07eafae5f878e29e5e37f89ff3a1e74bb6a2725579ce125aba76035619b", kill_on_drop: false }`
[INFO] [stdout] 887ab07eafae5f878e29e5e37f89ff3a1e74bb6a2725579ce125aba76035619b
