[INFO] updating cached repository ethowitz/rush [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/ethowitz/rush [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/ethowitz/rush" "work/ex/clippy-test-run/sources/stable/gh/ethowitz/rush"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable/gh/ethowitz/rush'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/ethowitz/rush" "work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/ethowitz/rush"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/ethowitz/rush'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] b036ace00a6472231b4653767c569fbc9e7fdcc7 [INFO] sha for GitHub repo ethowitz/rush: b036ace00a6472231b4653767c569fbc9e7fdcc7 [INFO] validating manifest of ethowitz/rush on toolchain stable [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] validating manifest of ethowitz/rush on toolchain stable+rustflags=-Dclippy::into_iter_on_array [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] started frobbing ethowitz/rush [INFO] finished frobbing ethowitz/rush [INFO] frobbed toml for ethowitz/rush written to work/ex/clippy-test-run/sources/stable/gh/ethowitz/rush/Cargo.toml [INFO] started frobbing ethowitz/rush [INFO] finished frobbing ethowitz/rush [INFO] frobbed toml for ethowitz/rush written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/ethowitz/rush/Cargo.toml [INFO] crate ethowitz/rush has a lockfile. skipping [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] linting ethowitz/rush against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-3/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/gh/ethowitz/rush:/opt/crater/workdir:ro,Z" "-v" "/mnt/big/crater/work/local/cargo-home:/opt/crater/cargo-home:ro,Z" "-v" "/mnt/big/crater/work/local/rustup-home:/opt/crater/rustup-home:ro,Z" "-e" "USER_ID=1000" "-e" "SOURCE_DIR=/opt/crater/workdir" "-e" "MAP_USER_ID=1000" "-e" "CARGO_TARGET_DIR=/opt/crater/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/crater/cargo-home" "-e" "RUSTUP_HOME=/opt/crater/rustup-home" "-w" "/opt/crater/workdir" "-m" "1536M" "--network" "none" "rustops/crates-build-env" "/opt/crater/cargo-home/bin/cargo" "+stable" "clippy" "--frozen" "--all" "--all-targets"` [INFO] [stdout] 7be82dcac45b8e71915b54da2b78057ccd480d697308a8d24773853634bbe9d5 [INFO] running `"docker" "start" "-a" "7be82dcac45b8e71915b54da2b78057ccd480d697308a8d24773853634bbe9d5"` [INFO] [stderr] Checking rush v0.1.0 (/opt/crater/workdir) [INFO] [stderr] warning: unused imports: `env`, `process` [INFO] [stderr] --> src/main.rs:7:11 [INFO] [stderr] | [INFO] [stderr] 7 | use std::{env, io, process}; [INFO] [stderr] | ^^^ ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/main.rs:18:24 [INFO] [stderr] | [INFO] [stderr] 18 | const VALID_TOKEN_RE: &'static str = [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::const_static_lifetime)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/main.rs:20:26 [INFO] [stderr] | [INFO] [stderr] 20 | const WHITESPACE_NL_RE: &'static str = " +|\\n+"; [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/main.rs:21:16 [INFO] [stderr] | [INFO] [stderr] 21 | const NUM_RE: &'static str = r"-?[0-9]+"; [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/main.rs:22:16 [INFO] [stderr] | [INFO] [stderr] 22 | const SYM_RE: &'static str = "\"[.]\""; [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/main.rs:57:16 [INFO] [stderr] | [INFO] [stderr] 57 | const PROMPT: &'static str = "->"; [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/main.rs:113:24 [INFO] [stderr] | [INFO] [stderr] 113 | Some(_) => return Err("expected closing bracket".to_string()), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Err("expected closing bracket".to_string())` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_return)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/main.rs:114:18 [INFO] [stderr] | [INFO] [stderr] 114 | _ => return Err("missing closing bracket".to_string()), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Err("missing closing bracket".to_string())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unused imports: `env`, `process` [INFO] [stderr] --> src/main.rs:7:11 [INFO] [stderr] | [INFO] [stderr] 7 | use std::{env, io, process}; [INFO] [stderr] | ^^^ ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/main.rs:18:24 [INFO] [stderr] | [INFO] [stderr] 18 | const VALID_TOKEN_RE: &'static str = [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::const_static_lifetime)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/main.rs:20:26 [INFO] [stderr] | [INFO] [stderr] 20 | const WHITESPACE_NL_RE: &'static str = " +|\\n+"; [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/main.rs:21:16 [INFO] [stderr] | [INFO] [stderr] 21 | const NUM_RE: &'static str = r"-?[0-9]+"; [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/main.rs:22:16 [INFO] [stderr] | [INFO] [stderr] 22 | const SYM_RE: &'static str = "\"[.]\""; [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/main.rs:57:16 [INFO] [stderr] | [INFO] [stderr] 57 | const PROMPT: &'static str = "->"; [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/main.rs:113:24 [INFO] [stderr] | [INFO] [stderr] 113 | Some(_) => return Err("expected closing bracket".to_string()), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Err("expected closing bracket".to_string())` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_return)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/main.rs:114:18 [INFO] [stderr] | [INFO] [stderr] 114 | _ => return Err("missing closing bracket".to_string()), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Err("missing closing bracket".to_string())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/main.rs:36:45 [INFO] [stderr] | [INFO] [stderr] 36 | Val::Num(ref value) => Val::Num(value.clone()), [INFO] [stderr] | ^^^^^^^^^^^^^ help: try dereferencing it: `*value` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::clone_on_copy)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/main.rs:38:47 [INFO] [stderr] | [INFO] [stderr] 38 | Val::Bool(ref value) => Val::Bool(value.clone()), [INFO] [stderr] | ^^^^^^^^^^^^^ help: try dereferencing it: `*value` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/main.rs:36:45 [INFO] [stderr] | [INFO] [stderr] 36 | Val::Num(ref value) => Val::Num(value.clone()), [INFO] [stderr] | ^^^^^^^^^^^^^ help: try dereferencing it: `*value` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::clone_on_copy)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/main.rs:38:47 [INFO] [stderr] | [INFO] [stderr] 38 | Val::Bool(ref value) => Val::Bool(value.clone()), [INFO] [stderr] | ^^^^^^^^^^^^^ help: try dereferencing it: `*value` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] error: using `clone` on a double-reference; this will copy the reference instead of cloning the inner type [INFO] [stderr] --> src/main.rs:104:21 [INFO] [stderr] | [INFO] [stderr] 104 | Some(op) => op.clone(), [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::clone_double_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_double_ref [INFO] [stderr] help: try dereferencing it [INFO] [stderr] | [INFO] [stderr] 104 | Some(op) => &&(**op).clone(), [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] help: or try being explicit about what type to clone [INFO] [stderr] | [INFO] [stderr] 104 | Some(op) => &&str::clone(op), [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: this creates an owned instance just for comparison [INFO] [stderr] --> src/main.rs:108:8 [INFO] [stderr] | [INFO] [stderr] 108 | if token.to_string() == "[".to_string() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `*token` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cmp_owned)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cmp_owned [INFO] [stderr] [INFO] [stderr] warning: this creates an owned instance just for comparison [INFO] [stderr] --> src/main.rs:108:29 [INFO] [stderr] | [INFO] [stderr] 108 | if token.to_string() == "[".to_string() { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `"["` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cmp_owned [INFO] [stderr] [INFO] [stderr] warning: this creates an owned instance just for comparison [INFO] [stderr] --> src/main.rs:112:25 [INFO] [stderr] | [INFO] [stderr] 112 | Some(ch) if ch.to_string() == "]".to_string() => Ok(e), [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `*ch` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cmp_owned [INFO] [stderr] [INFO] [stderr] warning: this creates an owned instance just for comparison [INFO] [stderr] --> src/main.rs:112:43 [INFO] [stderr] | [INFO] [stderr] 112 | Some(ch) if ch.to_string() == "]".to_string() => Ok(e), [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `"]"` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cmp_owned [INFO] [stderr] [INFO] [stderr] error: using `clone` on a double-reference; this will copy the reference instead of cloning the inner type [INFO] [stderr] --> src/main.rs:124:21 [INFO] [stderr] | [INFO] [stderr] 124 | Some(op) => op.clone(), [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_double_ref [INFO] [stderr] help: try dereferencing it [INFO] [stderr] | [INFO] [stderr] 124 | Some(op) => &(*op).clone(), [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] help: or try being explicit about what type to clone [INFO] [stderr] | [INFO] [stderr] 124 | Some(op) => &str::clone(op), [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: this call to `as_ref` does nothing [INFO] [stderr] --> src/main.rs:129:15 [INFO] [stderr] | [INFO] [stderr] 129 | match token.as_ref() { [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try this: `token` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::useless_asref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_asref [INFO] [stderr] [INFO] [stderr] warning: this creates an owned instance just for comparison [INFO] [stderr] --> src/main.rs:133:33 [INFO] [stderr] | [INFO] [stderr] 133 | Some(ch) if ch.to_string() != "]".to_string() => return Err("expected closing bracket".to_string()), [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `*ch` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cmp_owned [INFO] [stderr] [INFO] [stderr] warning: this creates an owned instance just for comparison [INFO] [stderr] --> src/main.rs:133:51 [INFO] [stderr] | [INFO] [stderr] 133 | Some(ch) if ch.to_string() != "]".to_string() => return Err("expected closing bracket".to_string()), [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `"]"` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cmp_owned [INFO] [stderr] [INFO] [stderr] warning: this creates an owned instance just for comparison [INFO] [stderr] --> src/main.rs:146:12 [INFO] [stderr] | [INFO] [stderr] 146 | if token.to_string() == "if".to_string() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `*token` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cmp_owned [INFO] [stderr] [INFO] [stderr] warning: this creates an owned instance just for comparison [INFO] [stderr] --> src/main.rs:146:33 [INFO] [stderr] | [INFO] [stderr] 146 | if token.to_string() == "if".to_string() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try: `"if"` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cmp_owned [INFO] [stderr] [INFO] [stderr] warning: this creates an owned instance just for comparison [INFO] [stderr] --> src/main.rs:150:20 [INFO] [stderr] | [INFO] [stderr] 150 | if token.to_string() != "then".to_string() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `*token` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cmp_owned [INFO] [stderr] [INFO] [stderr] warning: this creates an owned instance just for comparison [INFO] [stderr] --> src/main.rs:150:41 [INFO] [stderr] | [INFO] [stderr] 150 | if token.to_string() != "then".to_string() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: try: `"then"` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cmp_owned [INFO] [stderr] [INFO] [stderr] warning: this creates an owned instance just for comparison [INFO] [stderr] --> src/main.rs:158:20 [INFO] [stderr] | [INFO] [stderr] 158 | if token.to_string() != "else".to_string() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `*token` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cmp_owned [INFO] [stderr] [INFO] [stderr] warning: this creates an owned instance just for comparison [INFO] [stderr] --> src/main.rs:158:41 [INFO] [stderr] | [INFO] [stderr] 158 | if token.to_string() != "else".to_string() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: try: `"else"` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cmp_owned [INFO] [stderr] [INFO] [stderr] error: using `clone` on a double-reference; this will copy the reference instead of cloning the inner type [INFO] [stderr] --> src/main.rs:104:21 [INFO] [stderr] | [INFO] [stderr] 104 | Some(op) => op.clone(), [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::clone_double_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_double_ref [INFO] [stderr] help: try dereferencing it [INFO] [stderr] | [INFO] [stderr] 104 | Some(op) => &&(**op).clone(), [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] help: or try being explicit about what type to clone [INFO] [stderr] | [INFO] [stderr] 104 | Some(op) => &&str::clone(op), [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: this creates an owned instance just for comparison [INFO] [stderr] --> src/main.rs:108:8 [INFO] [stderr] | [INFO] [stderr] 108 | if token.to_string() == "[".to_string() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `*token` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cmp_owned)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cmp_owned [INFO] [stderr] [INFO] [stderr] warning: this creates an owned instance just for comparison [INFO] [stderr] --> src/main.rs:108:29 [INFO] [stderr] | [INFO] [stderr] 108 | if token.to_string() == "[".to_string() { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `"["` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cmp_owned [INFO] [stderr] [INFO] [stderr] warning: this creates an owned instance just for comparison [INFO] [stderr] --> src/main.rs:112:25 [INFO] [stderr] | [INFO] [stderr] 112 | Some(ch) if ch.to_string() == "]".to_string() => Ok(e), [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `*ch` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cmp_owned [INFO] [stderr] [INFO] [stderr] warning: this creates an owned instance just for comparison [INFO] [stderr] --> src/main.rs:112:43 [INFO] [stderr] | [INFO] [stderr] 112 | Some(ch) if ch.to_string() == "]".to_string() => Ok(e), [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `"]"` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cmp_owned [INFO] [stderr] [INFO] [stderr] warning: this call to `as_ref` does nothing [INFO] [stderr] --> src/main.rs:177:15 [INFO] [stderr] | [INFO] [stderr] 177 | match op.as_ref() { [INFO] [stderr] | ^^^^^^^^^^^ help: try this: `op` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_asref [INFO] [stderr] [INFO] [stderr] error: using `clone` on a double-reference; this will copy the reference instead of cloning the inner type [INFO] [stderr] --> src/main.rs:124:21 [INFO] [stderr] | [INFO] [stderr] 124 | Some(op) => op.clone(), [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_double_ref [INFO] [stderr] help: try dereferencing it [INFO] [stderr] | [INFO] [stderr] 124 | Some(op) => &(*op).clone(), [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] help: or try being explicit about what type to clone [INFO] [stderr] | [INFO] [stderr] 124 | Some(op) => &str::clone(op), [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: this call to `as_ref` does nothing [INFO] [stderr] --> src/main.rs:129:15 [INFO] [stderr] | [INFO] [stderr] 129 | match token.as_ref() { [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try this: `token` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::useless_asref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_asref [INFO] [stderr] [INFO] [stderr] warning: this creates an owned instance just for comparison [INFO] [stderr] --> src/main.rs:133:33 [INFO] [stderr] | [INFO] [stderr] 133 | Some(ch) if ch.to_string() != "]".to_string() => return Err("expected closing bracket".to_string()), [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `*ch` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cmp_owned [INFO] [stderr] [INFO] [stderr] warning: this creates an owned instance just for comparison [INFO] [stderr] --> src/main.rs:133:51 [INFO] [stderr] | [INFO] [stderr] 133 | Some(ch) if ch.to_string() != "]".to_string() => return Err("expected closing bracket".to_string()), [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `"]"` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cmp_owned [INFO] [stderr] [INFO] [stderr] warning: this call to `as_ref` does nothing [INFO] [stderr] --> src/main.rs:195:15 [INFO] [stderr] | [INFO] [stderr] 195 | match op.as_ref() { [INFO] [stderr] | ^^^^^^^^^^^ help: try this: `op` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_asref [INFO] [stderr] [INFO] [stderr] warning: this creates an owned instance just for comparison [INFO] [stderr] --> src/main.rs:146:12 [INFO] [stderr] | [INFO] [stderr] 146 | if token.to_string() == "if".to_string() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `*token` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cmp_owned [INFO] [stderr] [INFO] [stderr] warning: this creates an owned instance just for comparison [INFO] [stderr] --> src/main.rs:146:33 [INFO] [stderr] | [INFO] [stderr] 146 | if token.to_string() == "if".to_string() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try: `"if"` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cmp_owned [INFO] [stderr] [INFO] [stderr] warning: this creates an owned instance just for comparison [INFO] [stderr] --> src/main.rs:150:20 [INFO] [stderr] | [INFO] [stderr] 150 | if token.to_string() != "then".to_string() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `*token` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cmp_owned [INFO] [stderr] [INFO] [stderr] warning: this creates an owned instance just for comparison [INFO] [stderr] --> src/main.rs:150:41 [INFO] [stderr] | [INFO] [stderr] 150 | if token.to_string() != "then".to_string() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: try: `"then"` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cmp_owned [INFO] [stderr] [INFO] [stderr] warning: this call to `as_ref` does nothing [INFO] [stderr] --> src/main.rs:221:15 [INFO] [stderr] | [INFO] [stderr] 221 | match op.as_ref() { [INFO] [stderr] | ^^^^^^^^^^^ help: try this: `op` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_asref [INFO] [stderr] [INFO] [stderr] warning: this call to `as_ref` does nothing [INFO] [stderr] --> src/main.rs:242:15 [INFO] [stderr] | [INFO] [stderr] 242 | match op.as_ref() { [INFO] [stderr] | ^^^^^^^^^^^ help: try this: `op` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_asref [INFO] [stderr] [INFO] [stderr] warning: this call to `as_ref` does nothing [INFO] [stderr] --> src/main.rs:261:15 [INFO] [stderr] | [INFO] [stderr] 261 | match op.as_ref() { [INFO] [stderr] | ^^^^^^^^^^^ help: try this: `op` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_asref [INFO] [stderr] [INFO] [stderr] warning: this creates an owned instance just for comparison [INFO] [stderr] --> src/main.rs:158:20 [INFO] [stderr] | [INFO] [stderr] 158 | if token.to_string() != "else".to_string() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `*token` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cmp_owned [INFO] [stderr] [INFO] [stderr] warning: this creates an owned instance just for comparison [INFO] [stderr] --> src/main.rs:158:41 [INFO] [stderr] | [INFO] [stderr] 158 | if token.to_string() != "else".to_string() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: try: `"else"` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cmp_owned [INFO] [stderr] [INFO] [stderr] error: using `clone` on a double-reference; this will copy the reference instead of cloning the inner type [INFO] [stderr] --> src/main.rs:282:21 [INFO] [stderr] | [INFO] [stderr] 282 | Some(op) => op.clone(), [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_double_ref [INFO] [stderr] help: try dereferencing it [INFO] [stderr] | [INFO] [stderr] 282 | Some(op) => &&(**op).clone(), [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] help: or try being explicit about what type to clone [INFO] [stderr] | [INFO] [stderr] 282 | Some(op) => &&str::clone(op), [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: this call to `as_ref` does nothing [INFO] [stderr] --> src/main.rs:286:11 [INFO] [stderr] | [INFO] [stderr] 286 | match op.as_ref() as &str { [INFO] [stderr] | ^^^^^^^^^^^ help: try this: `op` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_asref [INFO] [stderr] [INFO] [stderr] warning: this call to `as_ref` does nothing [INFO] [stderr] --> src/main.rs:177:15 [INFO] [stderr] | [INFO] [stderr] 177 | match op.as_ref() { [INFO] [stderr] | ^^^^^^^^^^^ help: try this: `op` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_asref [INFO] [stderr] [INFO] [stderr] warning: this creates an owned instance just for comparison [INFO] [stderr] --> src/main.rs:313:29 [INFO] [stderr] | [INFO] [stderr] 313 | Some(ch) if ch.to_string() == ")".to_string() => e, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `*ch` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cmp_owned [INFO] [stderr] [INFO] [stderr] warning: this creates an owned instance just for comparison [INFO] [stderr] --> src/main.rs:313:47 [INFO] [stderr] | [INFO] [stderr] 313 | Some(ch) if ch.to_string() == ")".to_string() => e, [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `")"` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cmp_owned [INFO] [stderr] [INFO] [stderr] warning: this call to `as_ref` does nothing [INFO] [stderr] --> src/main.rs:195:15 [INFO] [stderr] | [INFO] [stderr] 195 | match op.as_ref() { [INFO] [stderr] | ^^^^^^^^^^^ help: try this: `op` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_asref [INFO] [stderr] [INFO] [stderr] warning: this call to `as_ref` does nothing [INFO] [stderr] --> src/main.rs:221:15 [INFO] [stderr] | [INFO] [stderr] 221 | match op.as_ref() { [INFO] [stderr] | ^^^^^^^^^^^ help: try this: `op` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_asref [INFO] [stderr] [INFO] [stderr] warning: this call to `as_ref` does nothing [INFO] [stderr] --> src/main.rs:242:15 [INFO] [stderr] | [INFO] [stderr] 242 | match op.as_ref() { [INFO] [stderr] | ^^^^^^^^^^^ help: try this: `op` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_asref [INFO] [stderr] [INFO] [stderr] warning: Negation by multiplying with -1 [INFO] [stderr] --> src/main.rs:392:40 [INFO] [stderr] | [INFO] [stderr] 392 | UnaryOp::Negate => Ok(Val::Num(try!(expect_num(val)) * -1 )), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::neg_multiply)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#neg_multiply [INFO] [stderr] [INFO] [stderr] warning: Negation by multiplying with -1 [INFO] [stderr] --> src/main.rs:393:41 [INFO] [stderr] | [INFO] [stderr] 393 | UnaryOp::Inverse => Ok(Val::Num(try!(expect_num(val)) * -1 )), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#neg_multiply [INFO] [stderr] [INFO] [stderr] warning: this call to `as_ref` does nothing [INFO] [stderr] --> src/main.rs:261:15 [INFO] [stderr] | [INFO] [stderr] 261 | match op.as_ref() { [INFO] [stderr] | ^^^^^^^^^^^ help: try this: `op` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_asref [INFO] [stderr] [INFO] [stderr] error: using `clone` on a double-reference; this will copy the reference instead of cloning the inner type [INFO] [stderr] --> src/main.rs:282:21 [INFO] [stderr] | [INFO] [stderr] 282 | Some(op) => op.clone(), [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_double_ref [INFO] [stderr] help: try dereferencing it [INFO] [stderr] | [INFO] [stderr] 282 | Some(op) => &&(**op).clone(), [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] help: or try being explicit about what type to clone [INFO] [stderr] | [INFO] [stderr] 282 | Some(op) => &&str::clone(op), [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: this call to `as_ref` does nothing [INFO] [stderr] --> src/main.rs:286:11 [INFO] [stderr] | [INFO] [stderr] 286 | match op.as_ref() as &str { [INFO] [stderr] | ^^^^^^^^^^^ help: try this: `op` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_asref [INFO] [stderr] [INFO] [stderr] warning: this creates an owned instance just for comparison [INFO] [stderr] --> src/main.rs:313:29 [INFO] [stderr] | [INFO] [stderr] 313 | Some(ch) if ch.to_string() == ")".to_string() => e, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `*ch` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cmp_owned [INFO] [stderr] [INFO] [stderr] warning: this creates an owned instance just for comparison [INFO] [stderr] --> src/main.rs:313:47 [INFO] [stderr] | [INFO] [stderr] 313 | Some(ch) if ch.to_string() == ")".to_string() => e, [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `")"` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cmp_owned [INFO] [stderr] [INFO] [stderr] warning: use of `expect` followed by a function call [INFO] [stderr] --> src/main.rs:411:38 [INFO] [stderr] | [INFO] [stderr] 411 | .expect(&format!("command \'{}\' not found", cmd)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|_| panic!("command \'{}\' not found", cmd))` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::expect_fun_call)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#expect_fun_call [INFO] [stderr] [INFO] [stderr] error: aborting due to 3 previous errors [INFO] [stderr] [INFO] [stderr] error: Could not compile `rush`. [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] warning: Negation by multiplying with -1 [INFO] [stderr] --> src/main.rs:392:40 [INFO] [stderr] | [INFO] [stderr] 392 | UnaryOp::Negate => Ok(Val::Num(try!(expect_num(val)) * -1 )), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::neg_multiply)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#neg_multiply [INFO] [stderr] [INFO] [stderr] warning: Negation by multiplying with -1 [INFO] [stderr] --> src/main.rs:393:41 [INFO] [stderr] | [INFO] [stderr] 393 | UnaryOp::Inverse => Ok(Val::Num(try!(expect_num(val)) * -1 )), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#neg_multiply [INFO] [stderr] [INFO] [stderr] warning: use of `expect` followed by a function call [INFO] [stderr] --> src/main.rs:411:38 [INFO] [stderr] | [INFO] [stderr] 411 | .expect(&format!("command \'{}\' not found", cmd)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|_| panic!("command \'{}\' not found", cmd))` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::expect_fun_call)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#expect_fun_call [INFO] [stderr] [INFO] [stderr] error: aborting due to 3 previous errors [INFO] [stderr] [INFO] [stderr] error: Could not compile `rush`. [INFO] [stderr] [INFO] [stderr] To learn more, run the command again with --verbose. [INFO] running `"docker" "inspect" "7be82dcac45b8e71915b54da2b78057ccd480d697308a8d24773853634bbe9d5"` [INFO] running `"docker" "rm" "-f" "7be82dcac45b8e71915b54da2b78057ccd480d697308a8d24773853634bbe9d5"` [INFO] [stdout] 7be82dcac45b8e71915b54da2b78057ccd480d697308a8d24773853634bbe9d5