[INFO] crate papyrus 0.6.1 is already in cache [INFO] extracting crate papyrus 0.6.1 into work/ex/clippy-test-run/sources/stable/reg/papyrus/0.6.1 [INFO] extracting crate papyrus 0.6.1 into work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/papyrus/0.6.1 [INFO] validating manifest of papyrus-0.6.1 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 papyrus-0.6.1 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 papyrus-0.6.1 [INFO] finished frobbing papyrus-0.6.1 [INFO] frobbed toml for papyrus-0.6.1 written to work/ex/clippy-test-run/sources/stable/reg/papyrus/0.6.1/Cargo.toml [INFO] started frobbing papyrus-0.6.1 [INFO] finished frobbing papyrus-0.6.1 [INFO] frobbed toml for papyrus-0.6.1 written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/papyrus/0.6.1/Cargo.toml [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"` [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 papyrus-0.6.1 against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-5/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/reg/papyrus/0.6.1:/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] 322ed9c143a61d8b694e34f7eaa1bc396eac3738abded2e42f4546ddc4d5053f [INFO] running `"docker" "start" "-a" "322ed9c143a61d8b694e34f7eaa1bc396eac3738abded2e42f4546ddc4d5053f"` [INFO] [stderr] Checking smallstr v0.1.0 [INFO] [stderr] Checking rand_xoshiro v0.1.0 [INFO] [stderr] Checking csv-core v0.1.5 [INFO] [stderr] Checking term_cursor v0.2.1 [INFO] [stderr] Checking simplelog v0.5.3 [INFO] [stderr] Compiling terminfo v0.6.1 [INFO] [stderr] Checking tokio v0.1.15 [INFO] [stderr] Checking csv v1.0.5 [INFO] [stderr] Checking criterion v0.2.9 [INFO] [stderr] Checking hyper v0.12.23 [INFO] [stderr] Checking hyper-tls v0.3.1 [INFO] [stderr] Checking mortal v0.1.5 [INFO] [stderr] Checking reqwest v0.9.9 [INFO] [stderr] Checking linefeed v0.5.4 [INFO] [stderr] Checking papyrus v0.6.1 (/opt/crater/workdir) [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/file.rs:98:4 [INFO] [stderr] | [INFO] [stderr] 98 | src: src, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `src` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_field_names)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/file.rs:101:4 [INFO] [stderr] | [INFO] [stderr] 101 | crates: crates, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `crates` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/input/parse.rs:69:5 [INFO] [stderr] | [INFO] [stderr] 69 | items: items, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `items` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/input/parse.rs:70:5 [INFO] [stderr] | [INFO] [stderr] 70 | stmts: stmts, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `stmts` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/input/parse.rs:71:5 [INFO] [stderr] | [INFO] [stderr] 71 | crates: crates, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `crates` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/repl/command.rs:47:4 [INFO] [stderr] | [INFO] [stderr] 47 | name: name, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `name` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/repl/command.rs:48:4 [INFO] [stderr] | [INFO] [stderr] 48 | arg_type: arg_type, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `arg_type` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/repl/command.rs:49:4 [INFO] [stderr] | [INFO] [stderr] 49 | help: help, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `help` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/repl/command.rs:50:4 [INFO] [stderr] | [INFO] [stderr] 50 | action: action, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `action` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: using `println!("")` [INFO] [stderr] --> src/repl/mod.rs:178:4 [INFO] [stderr] | [INFO] [stderr] 178 | println!("",); [INFO] [stderr] | ^^^^^^^^^^^^^ help: replace it with: `println!()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::println_empty_string)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#println_empty_string [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/repl/mod.rs:326:4 [INFO] [stderr] | [INFO] [stderr] 326 | crates: crates, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `crates` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/repl/mod.rs:440:3 [INFO] [stderr] | [INFO] [stderr] 440 | crates: crates, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `crates` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/file.rs:98:4 [INFO] [stderr] | [INFO] [stderr] 98 | src: src, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `src` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_field_names)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/file.rs:101:4 [INFO] [stderr] | [INFO] [stderr] 101 | crates: crates, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `crates` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/input/parse.rs:69:5 [INFO] [stderr] | [INFO] [stderr] 69 | items: items, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `items` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/input/parse.rs:70:5 [INFO] [stderr] | [INFO] [stderr] 70 | stmts: stmts, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `stmts` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/input/parse.rs:71:5 [INFO] [stderr] | [INFO] [stderr] 71 | crates: crates, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `crates` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/repl/command.rs:47:4 [INFO] [stderr] | [INFO] [stderr] 47 | name: name, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `name` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/repl/command.rs:48:4 [INFO] [stderr] | [INFO] [stderr] 48 | arg_type: arg_type, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `arg_type` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/repl/command.rs:49:4 [INFO] [stderr] | [INFO] [stderr] 49 | help: help, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `help` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/repl/command.rs:50:4 [INFO] [stderr] | [INFO] [stderr] 50 | action: action, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `action` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: using `println!("")` [INFO] [stderr] --> src/repl/mod.rs:178:4 [INFO] [stderr] | [INFO] [stderr] 178 | println!("",); [INFO] [stderr] | ^^^^^^^^^^^^^ help: replace it with: `println!()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::println_empty_string)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#println_empty_string [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/repl/mod.rs:326:4 [INFO] [stderr] | [INFO] [stderr] 326 | crates: crates, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `crates` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/repl/mod.rs:440:3 [INFO] [stderr] | [INFO] [stderr] 440 | crates: crates, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `crates` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: returning the result of a let binding from a block. Consider returning the expression directly. [INFO] [stderr] --> src/repl/mod.rs:473:2 [INFO] [stderr] | [INFO] [stderr] 473 | dir [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::let_and_return)] on by default [INFO] [stderr] note: this expression can be directly returned [INFO] [stderr] --> src/repl/mod.rs:472:12 [INFO] [stderr] | [INFO] [stderr] 472 | let dir = PathBuf::from(format!("{}/.papyrus", dir.to_string_lossy())); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/lib.rs:114:31 [INFO] [stderr] | [INFO] [stderr] 114 | const PAPYRUS_SPLIT_PATTERN: &'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: returning the result of a let binding from a block. Consider returning the expression directly. [INFO] [stderr] --> src/repl/mod.rs:473:2 [INFO] [stderr] | [INFO] [stderr] 473 | dir [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::let_and_return)] on by default [INFO] [stderr] note: this expression can be directly returned [INFO] [stderr] --> src/repl/mod.rs:472:12 [INFO] [stderr] | [INFO] [stderr] 472 | let dir = PathBuf::from(format!("{}/.papyrus", dir.to_string_lossy())); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/lib.rs:114:31 [INFO] [stderr] | [INFO] [stderr] 114 | const PAPYRUS_SPLIT_PATTERN: &'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/lib.rs:116:19 [INFO] [stderr] | [INFO] [stderr] 116 | const RS_FILES: [&'static str; 2] = ["with-crate.rs", "pwr.rs"]; [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/lib.rs:118:24 [INFO] [stderr] | [INFO] [stderr] 118 | const RSCRIPT_FILES: [&'static str; 7] = [ [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: use of `expect` followed by a function call [INFO] [stderr] --> src/compile.rs:99:6 [INFO] [stderr] | [INFO] [stderr] 99 | .expect(&format!( [INFO] [stderr] | __________________^ [INFO] [stderr] 100 | | "failed to start the executable {}, which is unlikely.", [INFO] [stderr] 101 | | self.path [INFO] [stderr] 102 | | )), [INFO] [stderr] | |__________________^ help: try this: `unwrap_or_else(|_| panic!("failed to start the executable {}, which is unlikely.", self.path))` [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] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/file.rs:77:6 [INFO] [stderr] | [INFO] [stderr] 77 | match line [INFO] [stderr] | _____________________^ [INFO] [stderr] 78 | | .split(" ") [INFO] [stderr] 79 | | .nth(2) [INFO] [stderr] 80 | | .map(|s| s.replace(";", "").replace("_", "-")) [INFO] [stderr] ... | [INFO] [stderr] 86 | | None => (), [INFO] [stderr] 87 | | } [INFO] [stderr] | |_____________________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::single_match)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 77 | if let Some(s) = line [INFO] [stderr] 78 | .split(" ") [INFO] [stderr] 79 | .nth(2) [INFO] [stderr] 80 | .map(|s| s.replace(";", "").replace("_", "-")) { crates.push(CrateType { [INFO] [stderr] 81 | src_line: line, [INFO] [stderr] 82 | cargo_name: s, [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/file.rs:78:14 [INFO] [stderr] | [INFO] [stderr] 78 | .split(" ") [INFO] [stderr] | ^^^ help: try using a char instead: `' '` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::single_char_pattern)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/file.rs:108:40 [INFO] [stderr] | [INFO] [stderr] 108 | let line = match string.trim().split("\n").nth(0) { [INFO] [stderr] | ^^^^ help: try using a char instead: `'\n'` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/file.rs:114:12 [INFO] [stderr] | [INFO] [stderr] 114 | .split(" ") [INFO] [stderr] | ^^^ help: try using a char instead: `' '` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: the function has a cyclomatic complexity of 34 [INFO] [stderr] --> src/input/parse.rs:165:1 [INFO] [stderr] | [INFO] [stderr] 165 | / fn parse_expr(expr: Expr) -> Result { [INFO] [stderr] 166 | | match expr { [INFO] [stderr] 167 | | Expr::Box(_) => { [INFO] [stderr] 168 | | error!("haven't handled expr variant Box"); [INFO] [stderr] ... | [INFO] [stderr] 299 | | } [INFO] [stderr] 300 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cyclomatic_complexity)] on by default [INFO] [stderr] = help: you could split it up into multiple smaller functions [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cyclomatic_complexity [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/input/mod.rs:114:9 [INFO] [stderr] | [INFO] [stderr] 114 | if input.stmts.len() > 0 && input.stmts.last().unwrap().semi { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!input.stmts.is_empty()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::len_zero)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/input/mod.rs:134:19 [INFO] [stderr] | [INFO] [stderr] 134 | line.starts_with(".") && !line.starts_with("..") [INFO] [stderr] | ^^^ help: try using a char instead: `'.'` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: you should consider adding a `Default` implementation for `repl::Repl` [INFO] [stderr] --> src/repl/mod.rs:60:2 [INFO] [stderr] | [INFO] [stderr] 60 | pub fn new() -> Self { [INFO] [stderr] | _____^ [INFO] [stderr] 61 | | let mut r = Repl { [INFO] [stderr] 62 | | commands: Vec::new(), [INFO] [stderr] 63 | | items: Vec::new(), [INFO] [stderr] ... | [INFO] [stderr] 135 | | r [INFO] [stderr] 136 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::new_without_default)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 58 | impl Default for repl::Repl { [INFO] [stderr] 59 | fn default() -> Self { [INFO] [stderr] 60 | Self::new() [INFO] [stderr] 61 | } [INFO] [stderr] 62 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/repl/mod.rs:85:5 [INFO] [stderr] | [INFO] [stderr] 85 | output.split("\n").into_iter().for_each(|line| { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `.into_iter()`: `output.split("\n")` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::identity_conversion)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/repl/mod.rs:85:18 [INFO] [stderr] | [INFO] [stderr] 85 | output.split("\n").into_iter().for_each(|line| { [INFO] [stderr] | ^^^^ help: try using a char instead: `'\n'` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/repl/mod.rs:89:39 [INFO] [stderr] | [INFO] [stderr] 89 | let mut line_split = line.split(" "); [INFO] [stderr] | ^^^ help: try using a char instead: `' '` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/repl/mod.rs:96:8 [INFO] [stderr] | [INFO] [stderr] 96 | line_split.into_iter().collect::>().join(" ") [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `.into_iter()`: `line_split` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/repl/mod.rs:238:3 [INFO] [stderr] | [INFO] [stderr] 238 | match compile_dir().canonicalize() { [INFO] [stderr] | _________^ [INFO] [stderr] 239 | | Ok(d) => { [INFO] [stderr] 240 | | let target_dir = format!("{}/target", d.to_string_lossy()); [INFO] [stderr] 241 | | fs::remove_dir_all(target_dir).is_ok(); [INFO] [stderr] 242 | | } [INFO] [stderr] 243 | | _ => (), [INFO] [stderr] 244 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 238 | if let Ok(d) = compile_dir().canonicalize() { [INFO] [stderr] 239 | let target_dir = format!("{}/target", d.to_string_lossy()); [INFO] [stderr] 240 | fs::remove_dir_all(target_dir).is_ok(); [INFO] [stderr] 241 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: You are using an explicit closure for cloning elements [INFO] [stderr] --> src/repl/mod.rs:305:16 [INFO] [stderr] | [INFO] [stderr] 305 | let crates = self [INFO] [stderr] | ______________________^ [INFO] [stderr] 306 | | .crates [INFO] [stderr] 307 | | .iter() [INFO] [stderr] 308 | | .chain(additional.crates.iter()) [INFO] [stderr] 309 | | .map(|x| x.clone()) [INFO] [stderr] | |_______________________________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::map_clone)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stderr] help: Consider calling the dedicated `cloned` method [INFO] [stderr] | [INFO] [stderr] 305 | let crates = self [INFO] [stderr] 306 | .crates [INFO] [stderr] 307 | .iter() [INFO] [stderr] 308 | .chain(additional.crates.iter()).cloned() [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/repl/mod.rs:409:5 [INFO] [stderr] | [INFO] [stderr] 409 | if items.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!items.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/repl/mod.rs:412:5 [INFO] [stderr] | [INFO] [stderr] 412 | if stmts.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!stmts.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a call to `new` [INFO] [stderr] --> src/repl/mod.rs:471:12 [INFO] [stderr] | [INFO] [stderr] 471 | let dir = dirs::home_dir().unwrap_or(PathBuf::new()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `dirs::home_dir().unwrap_or_default()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::or_fun_call)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/lib.rs:133:2 [INFO] [stderr] | [INFO] [stderr] 133 | match file.parent() { [INFO] [stderr] | _____^ [INFO] [stderr] 134 | | Some(parent) => { [INFO] [stderr] 135 | | fs::create_dir_all(parent).context(format!("failed creating directory {:?}", parent))? [INFO] [stderr] 136 | | } [INFO] [stderr] 137 | | None => (), [INFO] [stderr] 138 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 133 | if let Some(parent) = file.parent() { [INFO] [stderr] 134 | fs::create_dir_all(parent).context(format!("failed creating directory {:?}", parent))? [INFO] [stderr] 135 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: use of `expect` followed by a function call [INFO] [stderr] --> src/compile.rs:99:6 [INFO] [stderr] | [INFO] [stderr] 99 | .expect(&format!( [INFO] [stderr] | __________________^ [INFO] [stderr] 100 | | "failed to start the executable {}, which is unlikely.", [INFO] [stderr] 101 | | self.path [INFO] [stderr] 102 | | )), [INFO] [stderr] | |__________________^ help: try this: `unwrap_or_else(|_| panic!("failed to start the executable {}, which is unlikely.", self.path))` [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] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/file.rs:77:6 [INFO] [stderr] | [INFO] [stderr] 77 | match line [INFO] [stderr] | _____________________^ [INFO] [stderr] 78 | | .split(" ") [INFO] [stderr] 79 | | .nth(2) [INFO] [stderr] 80 | | .map(|s| s.replace(";", "").replace("_", "-")) [INFO] [stderr] ... | [INFO] [stderr] 86 | | None => (), [INFO] [stderr] 87 | | } [INFO] [stderr] | |_____________________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::single_match)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 77 | if let Some(s) = line [INFO] [stderr] 78 | .split(" ") [INFO] [stderr] 79 | .nth(2) [INFO] [stderr] 80 | .map(|s| s.replace(";", "").replace("_", "-")) { crates.push(CrateType { [INFO] [stderr] 81 | src_line: line, [INFO] [stderr] 82 | cargo_name: s, [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/file.rs:78:14 [INFO] [stderr] | [INFO] [stderr] 78 | .split(" ") [INFO] [stderr] | ^^^ help: try using a char instead: `' '` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::single_char_pattern)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/file.rs:108:40 [INFO] [stderr] | [INFO] [stderr] 108 | let line = match string.trim().split("\n").nth(0) { [INFO] [stderr] | ^^^^ help: try using a char instead: `'\n'` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/file.rs:114:12 [INFO] [stderr] | [INFO] [stderr] 114 | .split(" ") [INFO] [stderr] | ^^^ help: try using a char instead: `' '` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: the function has a cyclomatic complexity of 34 [INFO] [stderr] --> src/input/parse.rs:165:1 [INFO] [stderr] | [INFO] [stderr] 165 | / fn parse_expr(expr: Expr) -> Result { [INFO] [stderr] 166 | | match expr { [INFO] [stderr] 167 | | Expr::Box(_) => { [INFO] [stderr] 168 | | error!("haven't handled expr variant Box"); [INFO] [stderr] ... | [INFO] [stderr] 299 | | } [INFO] [stderr] 300 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cyclomatic_complexity)] on by default [INFO] [stderr] = help: you could split it up into multiple smaller functions [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cyclomatic_complexity [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/input/mod.rs:114:9 [INFO] [stderr] | [INFO] [stderr] 114 | if input.stmts.len() > 0 && input.stmts.last().unwrap().semi { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!input.stmts.is_empty()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::len_zero)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/input/mod.rs:134:19 [INFO] [stderr] | [INFO] [stderr] 134 | line.starts_with(".") && !line.starts_with("..") [INFO] [stderr] | ^^^ help: try using a char instead: `'.'` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/repl/tests.rs:15:41 [INFO] [stderr] | [INFO] [stderr] 15 | &format!("test/{}", src_file.split(".").nth(0).unwrap()), [INFO] [stderr] | ^^^ help: try using a char instead: `'.'` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/repl/tests.rs:49:41 [INFO] [stderr] | [INFO] [stderr] 49 | &format!("test/{}", src_file.split(".").nth(0).unwrap()), [INFO] [stderr] | ^^^ help: try using a char instead: `'.'` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: you should consider adding a `Default` implementation for `repl::Repl` [INFO] [stderr] --> src/repl/mod.rs:60:2 [INFO] [stderr] | [INFO] [stderr] 60 | pub fn new() -> Self { [INFO] [stderr] | _____^ [INFO] [stderr] 61 | | let mut r = Repl { [INFO] [stderr] 62 | | commands: Vec::new(), [INFO] [stderr] 63 | | items: Vec::new(), [INFO] [stderr] ... | [INFO] [stderr] 135 | | r [INFO] [stderr] 136 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::new_without_default)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 58 | impl Default for repl::Repl { [INFO] [stderr] 59 | fn default() -> Self { [INFO] [stderr] 60 | Self::new() [INFO] [stderr] 61 | } [INFO] [stderr] 62 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/repl/mod.rs:85:5 [INFO] [stderr] | [INFO] [stderr] 85 | output.split("\n").into_iter().for_each(|line| { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `.into_iter()`: `output.split("\n")` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::identity_conversion)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/repl/mod.rs:85:18 [INFO] [stderr] | [INFO] [stderr] 85 | output.split("\n").into_iter().for_each(|line| { [INFO] [stderr] | ^^^^ help: try using a char instead: `'\n'` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/repl/mod.rs:89:39 [INFO] [stderr] | [INFO] [stderr] 89 | let mut line_split = line.split(" "); [INFO] [stderr] | ^^^ help: try using a char instead: `' '` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/repl/mod.rs:96:8 [INFO] [stderr] | [INFO] [stderr] 96 | line_split.into_iter().collect::>().join(" ") [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `.into_iter()`: `line_split` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/repl/mod.rs:238:3 [INFO] [stderr] | [INFO] [stderr] 238 | match compile_dir().canonicalize() { [INFO] [stderr] | _________^ [INFO] [stderr] 239 | | Ok(d) => { [INFO] [stderr] 240 | | let target_dir = format!("{}/target", d.to_string_lossy()); [INFO] [stderr] 241 | | fs::remove_dir_all(target_dir).is_ok(); [INFO] [stderr] 242 | | } [INFO] [stderr] 243 | | _ => (), [INFO] [stderr] 244 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 238 | if let Ok(d) = compile_dir().canonicalize() { [INFO] [stderr] 239 | let target_dir = format!("{}/target", d.to_string_lossy()); [INFO] [stderr] 240 | fs::remove_dir_all(target_dir).is_ok(); [INFO] [stderr] 241 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: You are using an explicit closure for cloning elements [INFO] [stderr] --> src/repl/mod.rs:305:16 [INFO] [stderr] | [INFO] [stderr] 305 | let crates = self [INFO] [stderr] | ______________________^ [INFO] [stderr] 306 | | .crates [INFO] [stderr] 307 | | .iter() [INFO] [stderr] 308 | | .chain(additional.crates.iter()) [INFO] [stderr] 309 | | .map(|x| x.clone()) [INFO] [stderr] | |_______________________________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::map_clone)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stderr] help: Consider calling the dedicated `cloned` method [INFO] [stderr] | [INFO] [stderr] 305 | let crates = self [INFO] [stderr] 306 | .crates [INFO] [stderr] 307 | .iter() [INFO] [stderr] 308 | .chain(additional.crates.iter()).cloned() [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/repl/mod.rs:409:5 [INFO] [stderr] | [INFO] [stderr] 409 | if items.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!items.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/repl/mod.rs:412:5 [INFO] [stderr] | [INFO] [stderr] 412 | if stmts.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!stmts.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a call to `new` [INFO] [stderr] --> src/repl/mod.rs:471:12 [INFO] [stderr] | [INFO] [stderr] 471 | let dir = dirs::home_dir().unwrap_or(PathBuf::new()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `dirs::home_dir().unwrap_or_default()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::or_fun_call)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: Err(_) will match all errors, maybe not a good idea [INFO] [stderr] --> src/version.rs:68:3 [INFO] [stderr] | [INFO] [stderr] 68 | Err(_) => panic!("failed to query crates.io"), [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::match_wild_err_arm)] on by default [INFO] [stderr] = note: to remove this warning, match each error separately or use unreachable macro [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_wild_err_arm [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/lib.rs:133:2 [INFO] [stderr] | [INFO] [stderr] 133 | match file.parent() { [INFO] [stderr] | _____^ [INFO] [stderr] 134 | | Some(parent) => { [INFO] [stderr] 135 | | fs::create_dir_all(parent).context(format!("failed creating directory {:?}", parent))? [INFO] [stderr] 136 | | } [INFO] [stderr] 137 | | None => (), [INFO] [stderr] 138 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 133 | if let Some(parent) = file.parent() { [INFO] [stderr] 134 | fs::create_dir_all(parent).context(format!("failed creating directory {:?}", parent))? [INFO] [stderr] 135 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unused variable: `repl` [INFO] [stderr] --> tests/file.rs:5:6 [INFO] [stderr] | [INFO] [stderr] 5 | let repl = papyrus::Repl::new(); [INFO] [stderr] | ^^^^ help: consider using `_repl` instead [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_variables)] on by default [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 55.74s [INFO] running `"docker" "inspect" "322ed9c143a61d8b694e34f7eaa1bc396eac3738abded2e42f4546ddc4d5053f"` [INFO] running `"docker" "rm" "-f" "322ed9c143a61d8b694e34f7eaa1bc396eac3738abded2e42f4546ddc4d5053f"` [INFO] [stdout] 322ed9c143a61d8b694e34f7eaa1bc396eac3738abded2e42f4546ddc4d5053f