[INFO] cloning repository https://github.com/Chionophile/ttable [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Chionophile/ttable" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FChionophile%2Fttable", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FChionophile%2Fttable'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 34e76ab1999a5e3737f979ff36347b6c56b89272 [INFO] linting Chionophile/ttable against nightly for clippy-nonminimal_bool-denied [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FChionophile%2Fttable" "/workspace/builds/worker-2-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/Chionophile/ttable [INFO] finished tweaking git repo https://github.com/Chionophile/ttable [INFO] tweaked toml for git repo https://github.com/Chionophile/ttable written to /workspace/builds/worker-2-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/Chionophile/ttable on toolchain nightly [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+nightly" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/Chionophile/ttable 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" "+nightly" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+nightly" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] d74b0b6991c7f66cda11fc09d6b606975a1f6eb2278052f20f0bb26cb7ca9a17 [INFO] running `Command { std: "docker" "start" "-a" "d74b0b6991c7f66cda11fc09d6b606975a1f6eb2278052f20f0bb26cb7ca9a17", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "d74b0b6991c7f66cda11fc09d6b606975a1f6eb2278052f20f0bb26cb7ca9a17", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "d74b0b6991c7f66cda11fc09d6b606975a1f6eb2278052f20f0bb26cb7ca9a17", kill_on_drop: false }` [INFO] [stdout] d74b0b6991c7f66cda11fc09d6b606975a1f6eb2278052f20f0bb26cb7ca9a17 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+nightly" "clippy" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] e0809497149dd03d2ce0f33c4fc07261c719bab6676a829352f51b12dda93908 [INFO] running `Command { std: "docker" "start" "-a" "e0809497149dd03d2ce0f33c4fc07261c719bab6676a829352f51b12dda93908", kill_on_drop: false }` [INFO] [stderr] Checking ttable v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: using `contains()` instead of `iter().any()` is more efficient [INFO] [stdout] --> src/util/tokenize.rs:33:5 [INFO] [stdout] | [INFO] [stdout] 33 | WHITESPACE.iter().any(|ws|*ws==c) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `WHITESPACE.contains(&c)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_contains [INFO] [stdout] = note: `#[warn(clippy::manual_contains)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/util/tokenize.rs:41:5 [INFO] [stdout] | [INFO] [stdout] 41 | return (val>=65 && val<=90) || (val>=97 && val<=122); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] = note: `#[warn(clippy::needless_return)]` on by default [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 41 - return (val>=65 && val<=90) || (val>=97 && val<=122); [INFO] [stdout] 41 + (val>=65 && val<=90) || (val>=97 && val<=122) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual `RangeInclusive::contains` implementation [INFO] [stdout] --> src/util/tokenize.rs:41:12 [INFO] [stdout] | [INFO] [stdout] 41 | return (val>=65 && val<=90) || (val>=97 && val<=122); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: use: `(65..=90).contains(&val)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_range_contains [INFO] [stdout] = note: `#[warn(clippy::manual_range_contains)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual `RangeInclusive::contains` implementation [INFO] [stdout] --> src/util/tokenize.rs:41:36 [INFO] [stdout] | [INFO] [stdout] 41 | return (val>=65 && val<=90) || (val>=97 && val<=122); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: use: `(97..=122).contains(&val)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_range_contains [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/util/tokenize.rs:49:5 [INFO] [stdout] | [INFO] [stdout] 49 | return (val>=65 && val<=90) || (val>=97 && val<=122) || (val>=48 && val<=57) || val == 95; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 49 - return (val>=65 && val<=90) || (val>=97 && val<=122) || (val>=48 && val<=57) || val == 95; [INFO] [stdout] 49 + (val>=65 && val<=90) || (val>=97 && val<=122) || (val>=48 && val<=57) || val == 95 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual `RangeInclusive::contains` implementation [INFO] [stdout] --> src/util/tokenize.rs:49:12 [INFO] [stdout] | [INFO] [stdout] 49 | return (val>=65 && val<=90) || (val>=97 && val<=122) || (val>=48 && val<=57) || val == 95; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: use: `(65..=90).contains(&val)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_range_contains [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual `RangeInclusive::contains` implementation [INFO] [stdout] --> src/util/tokenize.rs:49:36 [INFO] [stdout] | [INFO] [stdout] 49 | return (val>=65 && val<=90) || (val>=97 && val<=122) || (val>=48 && val<=57) || val == 95; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: use: `(97..=122).contains(&val)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_range_contains [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual `RangeInclusive::contains` implementation [INFO] [stdout] --> src/util/tokenize.rs:49:61 [INFO] [stdout] | [INFO] [stdout] 49 | return (val>=65 && val<=90) || (val>=97 && val<=122) || (val>=48 && val<=57) || val == 95; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: use: `(48..=57).contains(&val)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_range_contains [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/util/tokenize.rs:85:13 [INFO] [stdout] | [INFO] [stdout] 85 | return Err(io::Error::new(io::ErrorKind::Other, format!("unrecognized operator {}", op))); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 85 - return Err(io::Error::new(io::ErrorKind::Other, format!("unrecognized operator {}", op))); [INFO] [stdout] 85 + Err(io::Error::new(io::ErrorKind::Other, format!("unrecognized operator {}", op))) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this can be `std::io::Error::other(_)` [INFO] [stdout] --> src/util/tokenize.rs:85:24 [INFO] [stdout] | [INFO] [stdout] 85 | return Err(io::Error::new(io::ErrorKind::Other, format!("unrecognized operator {}", op))); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#io_other_error [INFO] [stdout] = note: `#[warn(clippy::io_other_error)]` on by default [INFO] [stdout] help: use `std::io::Error::other` [INFO] [stdout] | [INFO] [stdout] 85 - return Err(io::Error::new(io::ErrorKind::Other, format!("unrecognized operator {}", op))); [INFO] [stdout] 85 + return Err(io::Error::other(format!("unrecognized operator {}", op))); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this can be `std::io::Error::other(_)` [INFO] [stdout] --> src/util/tokenize.rs:107:24 [INFO] [stdout] | [INFO] [stdout] 107 | return Err(io::Error::new(io::ErrorKind::Other, "operator can't be negated")); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#io_other_error [INFO] [stdout] help: use `std::io::Error::other` [INFO] [stdout] | [INFO] [stdout] 107 - return Err(io::Error::new(io::ErrorKind::Other, "operator can't be negated")); [INFO] [stdout] 107 + return Err(io::Error::other("operator can't be negated")); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/util/tokenize.rs:344:5 [INFO] [stdout] | [INFO] [stdout] 344 | return None; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 344 - return None; [INFO] [stdout] 344 + None [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/util.rs:86:5 [INFO] [stdout] | [INFO] [stdout] 86 | return new_script; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 86 - return new_script; [INFO] [stdout] 86 + new_script [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/util.rs:121:9 [INFO] [stdout] | [INFO] [stdout] 121 | return Ok(Output::File{file}); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 121 - return Ok(Output::File{file}); [INFO] [stdout] 121 + Ok(Output::File{file}) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `match` expression can be replaced with `?` [INFO] [stdout] --> src/util.rs:117:20 [INFO] [stdout] | [INFO] [stdout] 117 | let file = match File::create(filename) { [INFO] [stdout] | ____________________^ [INFO] [stdout] 118 | | Err(e) => return Err(e), [INFO] [stdout] 119 | | Ok(file) => file [INFO] [stdout] 120 | | }; [INFO] [stdout] | |_________^ help: try instead: `File::create(filename)?` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#question_mark [INFO] [stdout] = note: `#[warn(clippy::question_mark)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/util.rs:126:9 [INFO] [stdout] | [INFO] [stdout] 126 | return Output::Stdout; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 126 - return Output::Stdout; [INFO] [stdout] 126 + Output::Stdout [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting a character literal to `u8` truncates [INFO] [stdout] --> src/util.rs:156:34 [INFO] [stdout] | [INFO] [stdout] 156 | file.write_all(&['\n' as u8]).unwrap(); [INFO] [stdout] | ^^^^^^^^^^ help: use a byte literal instead: `b'\n'` [INFO] [stdout] | [INFO] [stdout] = note: `char` is four bytes wide, but `u8` is a single byte [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#char_lit_as_u8 [INFO] [stdout] = note: `#[warn(clippy::char_lit_as_u8)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/util.rs:476:5 [INFO] [stdout] | [INFO] [stdout] 476 | return Ok(()); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 476 - return Ok(()); [INFO] [stdout] 476 + Ok(()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this can be `std::io::Error::other(_)` [INFO] [stdout] --> src/util.rs:189:32 [INFO] [stdout] | [INFO] [stdout] 189 | return Err(io::Error::new(io::ErrorKind::Other, "no variable for asssignment")); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#io_other_error [INFO] [stdout] help: use `std::io::Error::other` [INFO] [stdout] | [INFO] [stdout] 189 - return Err(io::Error::new(io::ErrorKind::Other, "no variable for asssignment")); [INFO] [stdout] 189 + return Err(io::Error::other("no variable for asssignment")); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this can be `std::io::Error::other(_)` [INFO] [stdout] --> src/util.rs:194:32 [INFO] [stdout] | [INFO] [stdout] 194 | return Err(io::Error::new(io::ErrorKind::Other, "no value for asssignment")); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#io_other_error [INFO] [stdout] help: use `std::io::Error::other` [INFO] [stdout] | [INFO] [stdout] 194 - return Err(io::Error::new(io::ErrorKind::Other, "no value for asssignment")); [INFO] [stdout] 194 + return Err(io::Error::other("no value for asssignment")); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this can be `std::io::Error::other(_)` [INFO] [stdout] --> src/util.rs:206:32 [INFO] [stdout] | [INFO] [stdout] 206 | return Err(io::Error::new(io::ErrorKind::Other, "no value for disjunction")); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#io_other_error [INFO] [stdout] help: use `std::io::Error::other` [INFO] [stdout] | [INFO] [stdout] 206 - return Err(io::Error::new(io::ErrorKind::Other, "no value for disjunction")); [INFO] [stdout] 206 + return Err(io::Error::other("no value for disjunction")); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this can be `std::io::Error::other(_)` [INFO] [stdout] --> src/util.rs:214:32 [INFO] [stdout] | [INFO] [stdout] 214 | return Err(io::Error::new(io::ErrorKind::Other, "no value for disjunction")); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#io_other_error [INFO] [stdout] help: use `std::io::Error::other` [INFO] [stdout] | [INFO] [stdout] 214 - return Err(io::Error::new(io::ErrorKind::Other, "no value for disjunction")); [INFO] [stdout] 214 + return Err(io::Error::other("no value for disjunction")); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this can be `std::io::Error::other(_)` [INFO] [stdout] --> src/util.rs:230:32 [INFO] [stdout] | [INFO] [stdout] 230 | return Err(io::Error::new(io::ErrorKind::Other, "no value for disjunction")); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#io_other_error [INFO] [stdout] help: use `std::io::Error::other` [INFO] [stdout] | [INFO] [stdout] 230 - return Err(io::Error::new(io::ErrorKind::Other, "no value for disjunction")); [INFO] [stdout] 230 + return Err(io::Error::other("no value for disjunction")); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this can be `std::io::Error::other(_)` [INFO] [stdout] --> src/util.rs:238:32 [INFO] [stdout] | [INFO] [stdout] 238 | return Err(io::Error::new(io::ErrorKind::Other, "no value for disjunction")); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#io_other_error [INFO] [stdout] help: use `std::io::Error::other` [INFO] [stdout] | [INFO] [stdout] 238 - return Err(io::Error::new(io::ErrorKind::Other, "no value for disjunction")); [INFO] [stdout] 238 + return Err(io::Error::other("no value for disjunction")); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this can be `std::io::Error::other(_)` [INFO] [stdout] --> src/util.rs:254:32 [INFO] [stdout] | [INFO] [stdout] 254 | return Err(io::Error::new(io::ErrorKind::Other, "no value for disjunction")); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#io_other_error [INFO] [stdout] help: use `std::io::Error::other` [INFO] [stdout] | [INFO] [stdout] 254 - return Err(io::Error::new(io::ErrorKind::Other, "no value for disjunction")); [INFO] [stdout] 254 + return Err(io::Error::other("no value for disjunction")); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this can be `std::io::Error::other(_)` [INFO] [stdout] --> src/util.rs:262:32 [INFO] [stdout] | [INFO] [stdout] 262 | return Err(io::Error::new(io::ErrorKind::Other, "no value for disjunction")); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#io_other_error [INFO] [stdout] help: use `std::io::Error::other` [INFO] [stdout] | [INFO] [stdout] 262 - return Err(io::Error::new(io::ErrorKind::Other, "no value for disjunction")); [INFO] [stdout] 262 + return Err(io::Error::other("no value for disjunction")); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this can be `std::io::Error::other(_)` [INFO] [stdout] --> src/util.rs:278:32 [INFO] [stdout] | [INFO] [stdout] 278 | return Err(io::Error::new(io::ErrorKind::Other, "no value for disjunction")); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#io_other_error [INFO] [stdout] help: use `std::io::Error::other` [INFO] [stdout] | [INFO] [stdout] 278 - return Err(io::Error::new(io::ErrorKind::Other, "no value for disjunction")); [INFO] [stdout] 278 + return Err(io::Error::other("no value for disjunction")); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this can be `std::io::Error::other(_)` [INFO] [stdout] --> src/util.rs:286:32 [INFO] [stdout] | [INFO] [stdout] 286 | return Err(io::Error::new(io::ErrorKind::Other, "no value for disjunction")); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#io_other_error [INFO] [stdout] help: use `std::io::Error::other` [INFO] [stdout] | [INFO] [stdout] 286 - return Err(io::Error::new(io::ErrorKind::Other, "no value for disjunction")); [INFO] [stdout] 286 + return Err(io::Error::other("no value for disjunction")); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this can be `std::io::Error::other(_)` [INFO] [stdout] --> src/util.rs:302:32 [INFO] [stdout] | [INFO] [stdout] 302 | return Err(io::Error::new(io::ErrorKind::Other, "no value for disjunction")); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#io_other_error [INFO] [stdout] help: use `std::io::Error::other` [INFO] [stdout] | [INFO] [stdout] 302 - return Err(io::Error::new(io::ErrorKind::Other, "no value for disjunction")); [INFO] [stdout] 302 + return Err(io::Error::other("no value for disjunction")); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this can be `std::io::Error::other(_)` [INFO] [stdout] --> src/util.rs:310:32 [INFO] [stdout] | [INFO] [stdout] 310 | return Err(io::Error::new(io::ErrorKind::Other, "no value for disjunction")); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#io_other_error [INFO] [stdout] help: use `std::io::Error::other` [INFO] [stdout] | [INFO] [stdout] 310 - return Err(io::Error::new(io::ErrorKind::Other, "no value for disjunction")); [INFO] [stdout] 310 + return Err(io::Error::other("no value for disjunction")); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this can be `std::io::Error::other(_)` [INFO] [stdout] --> src/util.rs:326:32 [INFO] [stdout] | [INFO] [stdout] 326 | return Err(io::Error::new(io::ErrorKind::Other, "no value for disjunction")); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#io_other_error [INFO] [stdout] help: use `std::io::Error::other` [INFO] [stdout] | [INFO] [stdout] 326 - return Err(io::Error::new(io::ErrorKind::Other, "no value for disjunction")); [INFO] [stdout] 326 + return Err(io::Error::other("no value for disjunction")); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this can be `std::io::Error::other(_)` [INFO] [stdout] --> src/util.rs:334:32 [INFO] [stdout] | [INFO] [stdout] 334 | return Err(io::Error::new(io::ErrorKind::Other, "no value for disjunction")); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#io_other_error [INFO] [stdout] help: use `std::io::Error::other` [INFO] [stdout] | [INFO] [stdout] 334 - return Err(io::Error::new(io::ErrorKind::Other, "no value for disjunction")); [INFO] [stdout] 334 + return Err(io::Error::other("no value for disjunction")); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this can be `std::io::Error::other(_)` [INFO] [stdout] --> src/util.rs:350:32 [INFO] [stdout] | [INFO] [stdout] 350 | return Err(io::Error::new(io::ErrorKind::Other, "no value for disjunction")); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#io_other_error [INFO] [stdout] help: use `std::io::Error::other` [INFO] [stdout] | [INFO] [stdout] 350 - return Err(io::Error::new(io::ErrorKind::Other, "no value for disjunction")); [INFO] [stdout] 350 + return Err(io::Error::other("no value for disjunction")); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this can be `std::io::Error::other(_)` [INFO] [stdout] --> src/util.rs:358:32 [INFO] [stdout] | [INFO] [stdout] 358 | return Err(io::Error::new(io::ErrorKind::Other, "no value for disjunction")); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#io_other_error [INFO] [stdout] help: use `std::io::Error::other` [INFO] [stdout] | [INFO] [stdout] 358 - return Err(io::Error::new(io::ErrorKind::Other, "no value for disjunction")); [INFO] [stdout] 358 + return Err(io::Error::other("no value for disjunction")); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this can be `std::io::Error::other(_)` [INFO] [stdout] --> src/util.rs:374:32 [INFO] [stdout] | [INFO] [stdout] 374 | return Err(io::Error::new(io::ErrorKind::Other, "no value for disjunction")); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#io_other_error [INFO] [stdout] help: use `std::io::Error::other` [INFO] [stdout] | [INFO] [stdout] 374 - return Err(io::Error::new(io::ErrorKind::Other, "no value for disjunction")); [INFO] [stdout] 374 + return Err(io::Error::other("no value for disjunction")); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this can be `std::io::Error::other(_)` [INFO] [stdout] --> src/util.rs:382:32 [INFO] [stdout] | [INFO] [stdout] 382 | return Err(io::Error::new(io::ErrorKind::Other, "no value for disjunction")); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#io_other_error [INFO] [stdout] help: use `std::io::Error::other` [INFO] [stdout] | [INFO] [stdout] 382 - return Err(io::Error::new(io::ErrorKind::Other, "no value for disjunction")); [INFO] [stdout] 382 + return Err(io::Error::other("no value for disjunction")); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this can be `std::io::Error::other(_)` [INFO] [stdout] --> src/util.rs:398:32 [INFO] [stdout] | [INFO] [stdout] 398 | return Err(io::Error::new(io::ErrorKind::Other, "no value for disjunction")); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#io_other_error [INFO] [stdout] help: use `std::io::Error::other` [INFO] [stdout] | [INFO] [stdout] 398 - return Err(io::Error::new(io::ErrorKind::Other, "no value for disjunction")); [INFO] [stdout] 398 + return Err(io::Error::other("no value for disjunction")); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this can be `std::io::Error::other(_)` [INFO] [stdout] --> src/util.rs:406:32 [INFO] [stdout] | [INFO] [stdout] 406 | return Err(io::Error::new(io::ErrorKind::Other, "no value for disjunction")); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#io_other_error [INFO] [stdout] help: use `std::io::Error::other` [INFO] [stdout] | [INFO] [stdout] 406 - return Err(io::Error::new(io::ErrorKind::Other, "no value for disjunction")); [INFO] [stdout] 406 + return Err(io::Error::other("no value for disjunction")); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this can be `std::io::Error::other(_)` [INFO] [stdout] --> src/util.rs:422:32 [INFO] [stdout] | [INFO] [stdout] 422 | return Err(io::Error::new(io::ErrorKind::Other, "no value for disjunction")); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#io_other_error [INFO] [stdout] help: use `std::io::Error::other` [INFO] [stdout] | [INFO] [stdout] 422 - return Err(io::Error::new(io::ErrorKind::Other, "no value for disjunction")); [INFO] [stdout] 422 + return Err(io::Error::other("no value for disjunction")); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this can be `std::io::Error::other(_)` [INFO] [stdout] --> src/util.rs:430:32 [INFO] [stdout] | [INFO] [stdout] 430 | return Err(io::Error::new(io::ErrorKind::Other, "no value for disjunction")); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#io_other_error [INFO] [stdout] help: use `std::io::Error::other` [INFO] [stdout] | [INFO] [stdout] 430 - return Err(io::Error::new(io::ErrorKind::Other, "no value for disjunction")); [INFO] [stdout] 430 + return Err(io::Error::other("no value for disjunction")); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this can be `std::io::Error::other(_)` [INFO] [stdout] --> src/util.rs:447:32 [INFO] [stdout] | [INFO] [stdout] 447 | return Err(io::Error::new(io::ErrorKind::Other, "no value for negation")); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#io_other_error [INFO] [stdout] help: use `std::io::Error::other` [INFO] [stdout] | [INFO] [stdout] 447 - return Err(io::Error::new(io::ErrorKind::Other, "no value for negation")); [INFO] [stdout] 447 + return Err(io::Error::other("no value for negation")); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this can be `std::io::Error::other(_)` [INFO] [stdout] --> src/util.rs:459:32 [INFO] [stdout] | [INFO] [stdout] 459 | return Err(io::Error::new(io::ErrorKind::Other, "no operator for negation")); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#io_other_error [INFO] [stdout] help: use `std::io::Error::other` [INFO] [stdout] | [INFO] [stdout] 459 - return Err(io::Error::new(io::ErrorKind::Other, "no operator for negation")); [INFO] [stdout] 459 + return Err(io::Error::other("no operator for negation")); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/util.rs:542:5 [INFO] [stdout] | [INFO] [stdout] 542 | return Ok(()); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 542 - return Ok(()); [INFO] [stdout] 542 + Ok(()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to one [INFO] [stdout] --> src/util.rs:485:8 [INFO] [stdout] | [INFO] [stdout] 485 | if lines.len() < 1 { [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `lines.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] = note: `#[warn(clippy::len_zero)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/util.rs:674:5 [INFO] [stdout] | [INFO] [stdout] 674 | return Ok(Some(val_stack.pop().unwrap())) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 674 - return Ok(Some(val_stack.pop().unwrap())) [INFO] [stdout] 674 + Ok(Some(val_stack.pop().unwrap())) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this can be `std::io::Error::other(_)` [INFO] [stdout] --> src/util.rs:609:40 [INFO] [stdout] | [INFO] [stdout] 609 | ... return Err(io::Error::new(io::ErrorKind::Other, format!("variable {} not assigned", var))) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#io_other_error [INFO] [stdout] help: use `std::io::Error::other` [INFO] [stdout] | [INFO] [stdout] 609 - return Err(io::Error::new(io::ErrorKind::Other, format!("variable {} not assigned", var))) [INFO] [stdout] 609 + return Err(io::Error::other(format!("variable {} not assigned", var))) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this can be `std::io::Error::other(_)` [INFO] [stdout] --> src/util.rs:644:40 [INFO] [stdout] | [INFO] [stdout] 644 | ... return Err(io::Error::new(io::ErrorKind::Other, "unexpected close parenthesis")); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#io_other_error [INFO] [stdout] help: use `std::io::Error::other` [INFO] [stdout] | [INFO] [stdout] 644 - return Err(io::Error::new(io::ErrorKind::Other, "unexpected close parenthesis")); [INFO] [stdout] 644 + return Err(io::Error::other("unexpected close parenthesis")); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this can be `std::io::Error::other(_)` [INFO] [stdout] --> src/util.rs:648:40 [INFO] [stdout] | [INFO] [stdout] 648 | ... return Err(io::Error::new(io::ErrorKind::Other, "unexpected close parenthesis")); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#io_other_error [INFO] [stdout] help: use `std::io::Error::other` [INFO] [stdout] | [INFO] [stdout] 648 - return Err(io::Error::new(io::ErrorKind::Other, "unexpected close parenthesis")); [INFO] [stdout] 648 + return Err(io::Error::other("unexpected close parenthesis")); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to be trying to pop elements from a `Vec` in a loop [INFO] [stdout] --> src/util.rs:666:9 [INFO] [stdout] | [INFO] [stdout] 666 | let operator = op_stack.pop().unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_while_let_some [INFO] [stdout] = note: `#[warn(clippy::manual_while_let_some)]` on by default [INFO] [stdout] help: consider using a `while..let` loop [INFO] [stdout] | [INFO] [stdout] 665 ~ while let Some(operator) = op_stack.pop() { [INFO] [stdout] 666 ~ [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/main.rs:58:20 [INFO] [stdout] | [INFO] [stdout] 58 | if !in_method.is_some() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: try: `in_method.is_none()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] = note: `#[warn(clippy::nonminimal_bool)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to be trying to use `match` for destructuring a single pattern. Consider using `if let` [INFO] [stdout] --> src/main.rs:87:13 [INFO] [stdout] | [INFO] [stdout] 87 | / match std::io::stdin().read_to_string(&mut script) { [INFO] [stdout] 88 | | Err(e) => { [INFO] [stdout] 89 | | print_error(e); [INFO] [stdout] 90 | | return; [INFO] [stdout] 91 | | }, [INFO] [stdout] 92 | | Ok(_)=>(), [INFO] [stdout] 93 | | }; [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stdout] = note: `#[warn(clippy::single_match)]` on by default [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 87 ~ if let Err(e) = std::io::stdin().read_to_string(&mut script) { [INFO] [stdout] 88 + print_error(e); [INFO] [stdout] 89 + return; [INFO] [stdout] 90 ~ }; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to be trying to use `match` for destructuring a single pattern. Consider using `if let` [INFO] [stdout] --> src/main.rs:99:17 [INFO] [stdout] | [INFO] [stdout] 99 | / match std::io::stdin().read_to_string(&mut script) { [INFO] [stdout] 100 | | Err(e) => { [INFO] [stdout] 101 | | print_error(e); [INFO] [stdout] 102 | | return; [INFO] [stdout] 103 | | }, [INFO] [stdout] 104 | | Ok(_)=>(), [INFO] [stdout] 105 | | }; [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 99 ~ if let Err(e) = std::io::stdin().read_to_string(&mut script) { [INFO] [stdout] 100 + print_error(e); [INFO] [stdout] 101 + return; [INFO] [stdout] 102 ~ }; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to be trying to use `match` for destructuring a single pattern. Consider using `if let` [INFO] [stdout] --> src/main.rs:150:5 [INFO] [stdout] | [INFO] [stdout] 150 | / match execute(&mut output, Vec::new(), HashMap::new(), lines.as_slice()) { [INFO] [stdout] 151 | | Err(e) => { [INFO] [stdout] 152 | | print_error(e); [INFO] [stdout] 153 | | return; [INFO] [stdout] ... | [INFO] [stdout] 158 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 150 ~ if let Err(e) = execute(&mut output, Vec::new(), HashMap::new(), lines.as_slice()) { [INFO] [stdout] 151 + print_error(e); [INFO] [stdout] 152 + return; [INFO] [stdout] 153 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `contains()` instead of `iter().any()` is more efficient [INFO] [stdout] --> src/util/tokenize.rs:33:5 [INFO] [stdout] | [INFO] [stdout] 33 | WHITESPACE.iter().any(|ws|*ws==c) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `WHITESPACE.contains(&c)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_contains [INFO] [stdout] = note: `#[warn(clippy::manual_contains)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/util/tokenize.rs:41:5 [INFO] [stdout] | [INFO] [stdout] 41 | return (val>=65 && val<=90) || (val>=97 && val<=122); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] = note: `#[warn(clippy::needless_return)]` on by default [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 41 - return (val>=65 && val<=90) || (val>=97 && val<=122); [INFO] [stdout] 41 + (val>=65 && val<=90) || (val>=97 && val<=122) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual `RangeInclusive::contains` implementation [INFO] [stdout] --> src/util/tokenize.rs:41:12 [INFO] [stdout] | [INFO] [stdout] 41 | return (val>=65 && val<=90) || (val>=97 && val<=122); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: use: `(65..=90).contains(&val)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_range_contains [INFO] [stdout] = note: `#[warn(clippy::manual_range_contains)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual `RangeInclusive::contains` implementation [INFO] [stdout] --> src/util/tokenize.rs:41:36 [INFO] [stdout] | [INFO] [stdout] 41 | return (val>=65 && val<=90) || (val>=97 && val<=122); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: use: `(97..=122).contains(&val)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_range_contains [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/util/tokenize.rs:49:5 [INFO] [stdout] | [INFO] [stdout] 49 | return (val>=65 && val<=90) || (val>=97 && val<=122) || (val>=48 && val<=57) || val == 95; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 49 - return (val>=65 && val<=90) || (val>=97 && val<=122) || (val>=48 && val<=57) || val == 95; [INFO] [stdout] 49 + (val>=65 && val<=90) || (val>=97 && val<=122) || (val>=48 && val<=57) || val == 95 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual `RangeInclusive::contains` implementation [INFO] [stdout] --> src/util/tokenize.rs:49:12 [INFO] [stdout] | [INFO] [stdout] 49 | return (val>=65 && val<=90) || (val>=97 && val<=122) || (val>=48 && val<=57) || val == 95; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: use: `(65..=90).contains(&val)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_range_contains [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual `RangeInclusive::contains` implementation [INFO] [stdout] --> src/util/tokenize.rs:49:36 [INFO] [stdout] | [INFO] [stdout] 49 | return (val>=65 && val<=90) || (val>=97 && val<=122) || (val>=48 && val<=57) || val == 95; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: use: `(97..=122).contains(&val)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_range_contains [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual `RangeInclusive::contains` implementation [INFO] [stdout] --> src/util/tokenize.rs:49:61 [INFO] [stdout] | [INFO] [stdout] 49 | return (val>=65 && val<=90) || (val>=97 && val<=122) || (val>=48 && val<=57) || val == 95; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: use: `(48..=57).contains(&val)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_range_contains [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/util/tokenize.rs:85:13 [INFO] [stdout] | [INFO] [stdout] 85 | return Err(io::Error::new(io::ErrorKind::Other, format!("unrecognized operator {}", op))); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 85 - return Err(io::Error::new(io::ErrorKind::Other, format!("unrecognized operator {}", op))); [INFO] [stdout] 85 + Err(io::Error::new(io::ErrorKind::Other, format!("unrecognized operator {}", op))) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this can be `std::io::Error::other(_)` [INFO] [stdout] --> src/util/tokenize.rs:85:24 [INFO] [stdout] | [INFO] [stdout] 85 | return Err(io::Error::new(io::ErrorKind::Other, format!("unrecognized operator {}", op))); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#io_other_error [INFO] [stdout] = note: `#[warn(clippy::io_other_error)]` on by default [INFO] [stdout] help: use `std::io::Error::other` [INFO] [stdout] | [INFO] [stdout] 85 - return Err(io::Error::new(io::ErrorKind::Other, format!("unrecognized operator {}", op))); [INFO] [stdout] 85 + return Err(io::Error::other(format!("unrecognized operator {}", op))); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this can be `std::io::Error::other(_)` [INFO] [stdout] --> src/util/tokenize.rs:107:24 [INFO] [stdout] | [INFO] [stdout] 107 | return Err(io::Error::new(io::ErrorKind::Other, "operator can't be negated")); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#io_other_error [INFO] [stdout] help: use `std::io::Error::other` [INFO] [stdout] | [INFO] [stdout] 107 - return Err(io::Error::new(io::ErrorKind::Other, "operator can't be negated")); [INFO] [stdout] 107 + return Err(io::Error::other("operator can't be negated")); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/util/tokenize.rs:344:5 [INFO] [stdout] | [INFO] [stdout] 344 | return None; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 344 - return None; [INFO] [stdout] 344 + None [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/util.rs:86:5 [INFO] [stdout] | [INFO] [stdout] 86 | return new_script; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 86 - return new_script; [INFO] [stdout] 86 + new_script [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/util.rs:121:9 [INFO] [stdout] | [INFO] [stdout] 121 | return Ok(Output::File{file}); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 121 - return Ok(Output::File{file}); [INFO] [stdout] 121 + Ok(Output::File{file}) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `match` expression can be replaced with `?` [INFO] [stdout] --> src/util.rs:117:20 [INFO] [stdout] | [INFO] [stdout] 117 | let file = match File::create(filename) { [INFO] [stdout] | ____________________^ [INFO] [stdout] 118 | | Err(e) => return Err(e), [INFO] [stdout] 119 | | Ok(file) => file [INFO] [stdout] 120 | | }; [INFO] [stdout] | |_________^ help: try instead: `File::create(filename)?` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#question_mark [INFO] [stdout] = note: `#[warn(clippy::question_mark)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/util.rs:126:9 [INFO] [stdout] | [INFO] [stdout] 126 | return Output::Stdout; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 126 - return Output::Stdout; [INFO] [stdout] 126 + Output::Stdout [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting a character literal to `u8` truncates [INFO] [stdout] --> src/util.rs:156:34 [INFO] [stdout] | [INFO] [stdout] 156 | file.write_all(&['\n' as u8]).unwrap(); [INFO] [stdout] | ^^^^^^^^^^ help: use a byte literal instead: `b'\n'` [INFO] [stdout] | [INFO] [stdout] = note: `char` is four bytes wide, but `u8` is a single byte [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#char_lit_as_u8 [INFO] [stdout] = note: `#[warn(clippy::char_lit_as_u8)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/util.rs:476:5 [INFO] [stdout] | [INFO] [stdout] 476 | return Ok(()); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 476 - return Ok(()); [INFO] [stdout] 476 + Ok(()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this can be `std::io::Error::other(_)` [INFO] [stdout] --> src/util.rs:189:32 [INFO] [stdout] | [INFO] [stdout] 189 | return Err(io::Error::new(io::ErrorKind::Other, "no variable for asssignment")); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#io_other_error [INFO] [stdout] help: use `std::io::Error::other` [INFO] [stdout] | [INFO] [stdout] 189 - return Err(io::Error::new(io::ErrorKind::Other, "no variable for asssignment")); [INFO] [stdout] 189 + return Err(io::Error::other("no variable for asssignment")); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this can be `std::io::Error::other(_)` [INFO] [stdout] --> src/util.rs:194:32 [INFO] [stdout] | [INFO] [stdout] 194 | return Err(io::Error::new(io::ErrorKind::Other, "no value for asssignment")); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#io_other_error [INFO] [stdout] help: use `std::io::Error::other` [INFO] [stdout] | [INFO] [stdout] 194 - return Err(io::Error::new(io::ErrorKind::Other, "no value for asssignment")); [INFO] [stdout] 194 + return Err(io::Error::other("no value for asssignment")); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this can be `std::io::Error::other(_)` [INFO] [stdout] --> src/util.rs:206:32 [INFO] [stdout] | [INFO] [stdout] 206 | return Err(io::Error::new(io::ErrorKind::Other, "no value for disjunction")); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#io_other_error [INFO] [stdout] help: use `std::io::Error::other` [INFO] [stdout] | [INFO] [stdout] 206 - return Err(io::Error::new(io::ErrorKind::Other, "no value for disjunction")); [INFO] [stdout] 206 + return Err(io::Error::other("no value for disjunction")); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this can be `std::io::Error::other(_)` [INFO] [stdout] --> src/util.rs:214:32 [INFO] [stdout] | [INFO] [stdout] 214 | return Err(io::Error::new(io::ErrorKind::Other, "no value for disjunction")); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#io_other_error [INFO] [stdout] help: use `std::io::Error::other` [INFO] [stdout] | [INFO] [stdout] 214 - return Err(io::Error::new(io::ErrorKind::Other, "no value for disjunction")); [INFO] [stdout] 214 + return Err(io::Error::other("no value for disjunction")); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this can be `std::io::Error::other(_)` [INFO] [stdout] --> src/util.rs:230:32 [INFO] [stdout] | [INFO] [stdout] 230 | return Err(io::Error::new(io::ErrorKind::Other, "no value for disjunction")); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#io_other_error [INFO] [stdout] help: use `std::io::Error::other` [INFO] [stdout] | [INFO] [stdout] 230 - return Err(io::Error::new(io::ErrorKind::Other, "no value for disjunction")); [INFO] [stdout] 230 + return Err(io::Error::other("no value for disjunction")); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this can be `std::io::Error::other(_)` [INFO] [stdout] --> src/util.rs:238:32 [INFO] [stdout] | [INFO] [stdout] 238 | return Err(io::Error::new(io::ErrorKind::Other, "no value for disjunction")); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#io_other_error [INFO] [stdout] help: use `std::io::Error::other` [INFO] [stdout] | [INFO] [stdout] 238 - return Err(io::Error::new(io::ErrorKind::Other, "no value for disjunction")); [INFO] [stdout] 238 + return Err(io::Error::other("no value for disjunction")); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this can be `std::io::Error::other(_)` [INFO] [stdout] --> src/util.rs:254:32 [INFO] [stdout] | [INFO] [stdout] 254 | return Err(io::Error::new(io::ErrorKind::Other, "no value for disjunction")); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#io_other_error [INFO] [stdout] help: use `std::io::Error::other` [INFO] [stdout] | [INFO] [stdout] 254 - return Err(io::Error::new(io::ErrorKind::Other, "no value for disjunction")); [INFO] [stdout] 254 + return Err(io::Error::other("no value for disjunction")); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this can be `std::io::Error::other(_)` [INFO] [stdout] --> src/util.rs:262:32 [INFO] [stdout] | [INFO] [stdout] 262 | return Err(io::Error::new(io::ErrorKind::Other, "no value for disjunction")); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#io_other_error [INFO] [stdout] help: use `std::io::Error::other` [INFO] [stdout] | [INFO] [stdout] 262 - return Err(io::Error::new(io::ErrorKind::Other, "no value for disjunction")); [INFO] [stdout] 262 + return Err(io::Error::other("no value for disjunction")); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this can be `std::io::Error::other(_)` [INFO] [stdout] --> src/util.rs:278:32 [INFO] [stdout] | [INFO] [stdout] 278 | return Err(io::Error::new(io::ErrorKind::Other, "no value for disjunction")); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#io_other_error [INFO] [stdout] help: use `std::io::Error::other` [INFO] [stdout] | [INFO] [stdout] 278 - return Err(io::Error::new(io::ErrorKind::Other, "no value for disjunction")); [INFO] [stdout] 278 + return Err(io::Error::other("no value for disjunction")); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this can be `std::io::Error::other(_)` [INFO] [stdout] --> src/util.rs:286:32 [INFO] [stdout] | [INFO] [stdout] 286 | return Err(io::Error::new(io::ErrorKind::Other, "no value for disjunction")); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#io_other_error [INFO] [stdout] help: use `std::io::Error::other` [INFO] [stdout] | [INFO] [stdout] 286 - return Err(io::Error::new(io::ErrorKind::Other, "no value for disjunction")); [INFO] [stdout] 286 + return Err(io::Error::other("no value for disjunction")); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this can be `std::io::Error::other(_)` [INFO] [stdout] --> src/util.rs:302:32 [INFO] [stdout] | [INFO] [stdout] 302 | return Err(io::Error::new(io::ErrorKind::Other, "no value for disjunction")); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#io_other_error [INFO] [stdout] help: use `std::io::Error::other` [INFO] [stdout] | [INFO] [stdout] 302 - return Err(io::Error::new(io::ErrorKind::Other, "no value for disjunction")); [INFO] [stdout] 302 + return Err(io::Error::other("no value for disjunction")); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this can be `std::io::Error::other(_)` [INFO] [stdout] --> src/util.rs:310:32 [INFO] [stdout] | [INFO] [stdout] 310 | return Err(io::Error::new(io::ErrorKind::Other, "no value for disjunction")); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#io_other_error [INFO] [stdout] help: use `std::io::Error::other` [INFO] [stdout] | [INFO] [stdout] 310 - return Err(io::Error::new(io::ErrorKind::Other, "no value for disjunction")); [INFO] [stdout] 310 + return Err(io::Error::other("no value for disjunction")); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this can be `std::io::Error::other(_)` [INFO] [stdout] --> src/util.rs:326:32 [INFO] [stdout] | [INFO] [stdout] 326 | return Err(io::Error::new(io::ErrorKind::Other, "no value for disjunction")); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#io_other_error [INFO] [stdout] help: use `std::io::Error::other` [INFO] [stdout] | [INFO] [stdout] 326 - return Err(io::Error::new(io::ErrorKind::Other, "no value for disjunction")); [INFO] [stdout] 326 + return Err(io::Error::other("no value for disjunction")); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this can be `std::io::Error::other(_)` [INFO] [stdout] --> src/util.rs:334:32 [INFO] [stdout] | [INFO] [stdout] 334 | return Err(io::Error::new(io::ErrorKind::Other, "no value for disjunction")); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#io_other_error [INFO] [stdout] help: use `std::io::Error::other` [INFO] [stdout] | [INFO] [stdout] 334 - return Err(io::Error::new(io::ErrorKind::Other, "no value for disjunction")); [INFO] [stdout] 334 + return Err(io::Error::other("no value for disjunction")); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this can be `std::io::Error::other(_)` [INFO] [stdout] --> src/util.rs:350:32 [INFO] [stdout] | [INFO] [stdout] 350 | return Err(io::Error::new(io::ErrorKind::Other, "no value for disjunction")); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#io_other_error [INFO] [stdout] help: use `std::io::Error::other` [INFO] [stdout] | [INFO] [stdout] 350 - return Err(io::Error::new(io::ErrorKind::Other, "no value for disjunction")); [INFO] [stdout] 350 + return Err(io::Error::other("no value for disjunction")); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this can be `std::io::Error::other(_)` [INFO] [stdout] --> src/util.rs:358:32 [INFO] [stdout] | [INFO] [stdout] 358 | return Err(io::Error::new(io::ErrorKind::Other, "no value for disjunction")); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#io_other_error [INFO] [stdout] help: use `std::io::Error::other` [INFO] [stdout] | [INFO] [stdout] 358 - return Err(io::Error::new(io::ErrorKind::Other, "no value for disjunction")); [INFO] [stdout] 358 + return Err(io::Error::other("no value for disjunction")); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this can be `std::io::Error::other(_)` [INFO] [stdout] --> src/util.rs:374:32 [INFO] [stdout] | [INFO] [stdout] 374 | return Err(io::Error::new(io::ErrorKind::Other, "no value for disjunction")); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#io_other_error [INFO] [stdout] help: use `std::io::Error::other` [INFO] [stdout] | [INFO] [stdout] 374 - return Err(io::Error::new(io::ErrorKind::Other, "no value for disjunction")); [INFO] [stdout] 374 + return Err(io::Error::other("no value for disjunction")); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this can be `std::io::Error::other(_)` [INFO] [stdout] --> src/util.rs:382:32 [INFO] [stdout] | [INFO] [stdout] 382 | return Err(io::Error::new(io::ErrorKind::Other, "no value for disjunction")); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#io_other_error [INFO] [stdout] help: use `std::io::Error::other` [INFO] [stdout] | [INFO] [stdout] 382 - return Err(io::Error::new(io::ErrorKind::Other, "no value for disjunction")); [INFO] [stdout] 382 + return Err(io::Error::other("no value for disjunction")); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this can be `std::io::Error::other(_)` [INFO] [stdout] --> src/util.rs:398:32 [INFO] [stdout] | [INFO] [stdout] 398 | return Err(io::Error::new(io::ErrorKind::Other, "no value for disjunction")); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#io_other_error [INFO] [stdout] help: use `std::io::Error::other` [INFO] [stdout] | [INFO] [stdout] 398 - return Err(io::Error::new(io::ErrorKind::Other, "no value for disjunction")); [INFO] [stdout] 398 + return Err(io::Error::other("no value for disjunction")); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this can be `std::io::Error::other(_)` [INFO] [stdout] --> src/util.rs:406:32 [INFO] [stdout] | [INFO] [stdout] 406 | return Err(io::Error::new(io::ErrorKind::Other, "no value for disjunction")); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#io_other_error [INFO] [stdout] help: use `std::io::Error::other` [INFO] [stdout] | [INFO] [stdout] 406 - return Err(io::Error::new(io::ErrorKind::Other, "no value for disjunction")); [INFO] [stdout] 406 + return Err(io::Error::other("no value for disjunction")); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this can be `std::io::Error::other(_)` [INFO] [stdout] --> src/util.rs:422:32 [INFO] [stdout] | [INFO] [stdout] 422 | return Err(io::Error::new(io::ErrorKind::Other, "no value for disjunction")); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#io_other_error [INFO] [stdout] help: use `std::io::Error::other` [INFO] [stdout] | [INFO] [stdout] 422 - return Err(io::Error::new(io::ErrorKind::Other, "no value for disjunction")); [INFO] [stdout] 422 + return Err(io::Error::other("no value for disjunction")); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this can be `std::io::Error::other(_)` [INFO] [stdout] --> src/util.rs:430:32 [INFO] [stdout] | [INFO] [stdout] 430 | return Err(io::Error::new(io::ErrorKind::Other, "no value for disjunction")); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#io_other_error [INFO] [stdout] help: use `std::io::Error::other` [INFO] [stdout] | [INFO] [stdout] 430 - return Err(io::Error::new(io::ErrorKind::Other, "no value for disjunction")); [INFO] [stdout] 430 + return Err(io::Error::other("no value for disjunction")); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this can be `std::io::Error::other(_)` [INFO] [stdout] --> src/util.rs:447:32 [INFO] [stdout] | [INFO] [stdout] 447 | return Err(io::Error::new(io::ErrorKind::Other, "no value for negation")); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#io_other_error [INFO] [stdout] help: use `std::io::Error::other` [INFO] [stdout] | [INFO] [stdout] 447 - return Err(io::Error::new(io::ErrorKind::Other, "no value for negation")); [INFO] [stdout] 447 + return Err(io::Error::other("no value for negation")); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this can be `std::io::Error::other(_)` [INFO] [stdout] --> src/util.rs:459:32 [INFO] [stdout] | [INFO] [stdout] 459 | return Err(io::Error::new(io::ErrorKind::Other, "no operator for negation")); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#io_other_error [INFO] [stdout] help: use `std::io::Error::other` [INFO] [stdout] | [INFO] [stdout] 459 - return Err(io::Error::new(io::ErrorKind::Other, "no operator for negation")); [INFO] [stdout] 459 + return Err(io::Error::other("no operator for negation")); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/util.rs:542:5 [INFO] [stdout] | [INFO] [stdout] 542 | return Ok(()); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 542 - return Ok(()); [INFO] [stdout] 542 + Ok(()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to one [INFO] [stdout] --> src/util.rs:485:8 [INFO] [stdout] | [INFO] [stdout] 485 | if lines.len() < 1 { [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `lines.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] = note: `#[warn(clippy::len_zero)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/util.rs:674:5 [INFO] [stdout] | [INFO] [stdout] 674 | return Ok(Some(val_stack.pop().unwrap())) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 674 - return Ok(Some(val_stack.pop().unwrap())) [INFO] [stdout] 674 + Ok(Some(val_stack.pop().unwrap())) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this can be `std::io::Error::other(_)` [INFO] [stdout] --> src/util.rs:609:40 [INFO] [stdout] | [INFO] [stdout] 609 | ... return Err(io::Error::new(io::ErrorKind::Other, format!("variable {} not assigned", var))) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#io_other_error [INFO] [stdout] help: use `std::io::Error::other` [INFO] [stdout] | [INFO] [stdout] 609 - return Err(io::Error::new(io::ErrorKind::Other, format!("variable {} not assigned", var))) [INFO] [stdout] 609 + return Err(io::Error::other(format!("variable {} not assigned", var))) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this can be `std::io::Error::other(_)` [INFO] [stdout] --> src/util.rs:644:40 [INFO] [stdout] | [INFO] [stdout] 644 | ... return Err(io::Error::new(io::ErrorKind::Other, "unexpected close parenthesis")); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#io_other_error [INFO] [stdout] help: use `std::io::Error::other` [INFO] [stdout] | [INFO] [stdout] 644 - return Err(io::Error::new(io::ErrorKind::Other, "unexpected close parenthesis")); [INFO] [stdout] 644 + return Err(io::Error::other("unexpected close parenthesis")); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this can be `std::io::Error::other(_)` [INFO] [stdout] --> src/util.rs:648:40 [INFO] [stdout] | [INFO] [stdout] 648 | ... return Err(io::Error::new(io::ErrorKind::Other, "unexpected close parenthesis")); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#io_other_error [INFO] [stdout] help: use `std::io::Error::other` [INFO] [stdout] | [INFO] [stdout] 648 - return Err(io::Error::new(io::ErrorKind::Other, "unexpected close parenthesis")); [INFO] [stdout] 648 + return Err(io::Error::other("unexpected close parenthesis")); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to be trying to pop elements from a `Vec` in a loop [INFO] [stdout] --> src/util.rs:666:9 [INFO] [stdout] | [INFO] [stdout] 666 | let operator = op_stack.pop().unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_while_let_some [INFO] [stdout] = note: `#[warn(clippy::manual_while_let_some)]` on by default [INFO] [stdout] help: consider using a `while..let` loop [INFO] [stdout] | [INFO] [stdout] 665 ~ while let Some(operator) = op_stack.pop() { [INFO] [stdout] 666 ~ [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/main.rs:58:20 [INFO] [stdout] | [INFO] [stdout] 58 | if !in_method.is_some() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: try: `in_method.is_none()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] = note: `#[warn(clippy::nonminimal_bool)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to be trying to use `match` for destructuring a single pattern. Consider using `if let` [INFO] [stdout] --> src/main.rs:87:13 [INFO] [stdout] | [INFO] [stdout] 87 | / match std::io::stdin().read_to_string(&mut script) { [INFO] [stdout] 88 | | Err(e) => { [INFO] [stdout] 89 | | print_error(e); [INFO] [stdout] 90 | | return; [INFO] [stdout] 91 | | }, [INFO] [stdout] 92 | | Ok(_)=>(), [INFO] [stdout] 93 | | }; [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stdout] = note: `#[warn(clippy::single_match)]` on by default [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 87 ~ if let Err(e) = std::io::stdin().read_to_string(&mut script) { [INFO] [stdout] 88 + print_error(e); [INFO] [stdout] 89 + return; [INFO] [stdout] 90 ~ }; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to be trying to use `match` for destructuring a single pattern. Consider using `if let` [INFO] [stdout] --> src/main.rs:99:17 [INFO] [stdout] | [INFO] [stdout] 99 | / match std::io::stdin().read_to_string(&mut script) { [INFO] [stdout] 100 | | Err(e) => { [INFO] [stdout] 101 | | print_error(e); [INFO] [stdout] 102 | | return; [INFO] [stdout] 103 | | }, [INFO] [stdout] 104 | | Ok(_)=>(), [INFO] [stdout] 105 | | }; [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 99 ~ if let Err(e) = std::io::stdin().read_to_string(&mut script) { [INFO] [stdout] 100 + print_error(e); [INFO] [stdout] 101 + return; [INFO] [stdout] 102 ~ }; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to be trying to use `match` for destructuring a single pattern. Consider using `if let` [INFO] [stdout] --> src/main.rs:150:5 [INFO] [stdout] | [INFO] [stdout] 150 | / match execute(&mut output, Vec::new(), HashMap::new(), lines.as_slice()) { [INFO] [stdout] 151 | | Err(e) => { [INFO] [stdout] 152 | | print_error(e); [INFO] [stdout] 153 | | return; [INFO] [stdout] ... | [INFO] [stdout] 158 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 150 ~ if let Err(e) = execute(&mut output, Vec::new(), HashMap::new(), lines.as_slice()) { [INFO] [stdout] 151 + print_error(e); [INFO] [stdout] 152 + return; [INFO] [stdout] 153 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.35s [INFO] running `Command { std: "docker" "inspect" "e0809497149dd03d2ce0f33c4fc07261c719bab6676a829352f51b12dda93908", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "e0809497149dd03d2ce0f33c4fc07261c719bab6676a829352f51b12dda93908", kill_on_drop: false }` [INFO] [stdout] e0809497149dd03d2ce0f33c4fc07261c719bab6676a829352f51b12dda93908