[INFO] updating cached repository dewaka/forth-rs [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/dewaka/forth-rs [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/dewaka/forth-rs" "work/ex/clippy-test-run/sources/stable/gh/dewaka/forth-rs"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable/gh/dewaka/forth-rs'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/dewaka/forth-rs" "work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/dewaka/forth-rs"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/dewaka/forth-rs'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] fe23d0beae5cac3ccc27c137aabba8665cc644b3 [INFO] sha for GitHub repo dewaka/forth-rs: fe23d0beae5cac3ccc27c137aabba8665cc644b3 [INFO] validating manifest of dewaka/forth-rs 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 dewaka/forth-rs 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 dewaka/forth-rs [INFO] finished frobbing dewaka/forth-rs [INFO] frobbed toml for dewaka/forth-rs written to work/ex/clippy-test-run/sources/stable/gh/dewaka/forth-rs/Cargo.toml [INFO] started frobbing dewaka/forth-rs [INFO] finished frobbing dewaka/forth-rs [INFO] frobbed toml for dewaka/forth-rs written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/dewaka/forth-rs/Cargo.toml [INFO] crate dewaka/forth-rs 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 dewaka/forth-rs 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/gh/dewaka/forth-rs:/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] 0fd373e266ccf2467fcfa6d185aa776bfdcc48ae542fabd731cd6be259ca38d5 [INFO] running `"docker" "start" "-a" "0fd373e266ccf2467fcfa6d185aa776bfdcc48ae542fabd731cd6be259ca38d5"` [INFO] [stderr] Checking forth-rs v0.1.0 (/opt/crater/workdir) [INFO] [stderr] warning: using `println!("")` [INFO] [stderr] --> src/forth/ops.rs:94:5 [INFO] [stderr] | [INFO] [stderr] 94 | 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: using `println!("")` [INFO] [stderr] --> src/forth/ops.rs:94:5 [INFO] [stderr] | [INFO] [stderr] 94 | 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: You are using an explicit closure for cloning elements [INFO] [stderr] --> src/forth/env.rs:59:9 [INFO] [stderr] | [INFO] [stderr] 59 | self.vars.get(name).map(|v| v.clone()) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: Consider calling the dedicated `cloned` method: `self.vars.get(name).cloned()` [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] [INFO] [stderr] warning: You are using an explicit closure for cloning elements [INFO] [stderr] --> src/forth/env.rs:67:9 [INFO] [stderr] | [INFO] [stderr] 67 | self.constants.get(name).map(|n| *n) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: Consider calling the dedicated `cloned` method: `self.constants.get(name).cloned()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a HashMap. Using `[]` is more clear and more concise [INFO] [stderr] --> src/forth/env.rs:117:24 [INFO] [stderr] | [INFO] [stderr] 117 | let val = *self.specials.get(name).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `&self.specials[name]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::get_unwrap)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a HashMap. Using `[]` is more clear and more concise [INFO] [stderr] --> src/forth/env.rs:139:23 [INFO] [stderr] | [INFO] [stderr] 139 | let var = self.vars.get(name).unwrap().clone(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `&self.vars[name]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/forth/inter.rs:14:41 [INFO] [stderr] | [INFO] [stderr] 14 | let tokens: Vec<_> = expr.split(" ").map(|s| s.trim().to_string()).collect(); [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: called `.get().unwrap()` on a HashMap. Using `[]` is more clear and more concise [INFO] [stderr] --> src/forth/inter.rs:62:23 [INFO] [stderr] | [INFO] [stderr] 62 | let opr = self.builtins.get(op).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `&self.builtins[op]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] warning: this loop could be written as a `for` loop [INFO] [stderr] --> src/forth/inter.rs:190:33 [INFO] [stderr] | [INFO] [stderr] 190 | while let Some(s) = toks.next() { [INFO] [stderr] | ^^^^^^^^^^^ help: try: `for s in toks { .. }` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::while_let_on_iterator)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#while_let_on_iterator [INFO] [stderr] [INFO] [stderr] warning: taken reference of right operand [INFO] [stderr] --> src/forth/inter.rs:191:20 [INFO] [stderr] | [INFO] [stderr] 191 | if s == &";" { [INFO] [stderr] | ^^^^^---- [INFO] [stderr] | | [INFO] [stderr] | help: use the right value directly: `";"` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::op_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stderr] [INFO] [stderr] warning: useless use of `format!` [INFO] [stderr] --> src/forth/inter.rs:200:13 [INFO] [stderr] | [INFO] [stderr] 200 | Err(format!("Invalid function")) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using .to_string(): `"Invalid function".to_string()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::useless_format)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stderr] [INFO] [stderr] warning: this loop could be written as a `for` loop [INFO] [stderr] --> src/forth/inter.rs:206:29 [INFO] [stderr] | [INFO] [stderr] 206 | while let Some(m) = toks.next() { [INFO] [stderr] | ^^^^^^^^^^^ help: try: `for m in toks { .. }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#while_let_on_iterator [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/forth/inter.rs:210:28 [INFO] [stderr] | [INFO] [stderr] 210 | if m.ends_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: useless use of `format!` [INFO] [stderr] --> src/forth/inter.rs:219:13 [INFO] [stderr] | [INFO] [stderr] 219 | Err(format!("Nonterminated string")) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using .to_string(): `"Nonterminated string".to_string()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stderr] [INFO] [stderr] warning: this loop could be written as a `for` loop [INFO] [stderr] --> src/forth/inter.rs:230:29 [INFO] [stderr] | [INFO] [stderr] 230 | while let Some(t) = toks.next() { [INFO] [stderr] | ^^^^^^^^^^^ help: try: `for t in toks { .. }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#while_let_on_iterator [INFO] [stderr] [INFO] [stderr] warning: useless use of `format!` [INFO] [stderr] --> src/forth/inter.rs:372:35 [INFO] [stderr] | [INFO] [stderr] 372 | match env.pop(format!("Stack empty to set slot value for array")) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using .to_string(): `"Stack empty to set slot value for array".to_string()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stderr] [INFO] [stderr] warning: useless use of `format!` [INFO] [stderr] --> src/forth/inter.rs:390:38 [INFO] [stderr] | [INFO] [stderr] 390 | let length = env.pop(format!("Stack empty to allot array"))?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using .to_string(): `"Stack empty to allot array".to_string()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stderr] [INFO] [stderr] warning: useless use of `format!` [INFO] [stderr] --> src/forth/inter.rs:395:25 [INFO] [stderr] | [INFO] [stderr] 395 | None => Err(format!("No variable found to allocate as an array!")), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using .to_string(): `"No variable found to allocate as an array!".to_string()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stderr] [INFO] [stderr] warning: useless use of `format!` [INFO] [stderr] --> src/forth/inter.rs:402:17 [INFO] [stderr] | [INFO] [stderr] 402 | env.top(format!("Empty stack to evaluate cells"))?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using .to_string(): `"Empty stack to evaluate cells".to_string()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stderr] [INFO] [stderr] warning: useless use of `format!` [INFO] [stderr] --> src/forth/inter.rs:416:17 [INFO] [stderr] | [INFO] [stderr] 416 | Err(format!("Variable name not found")) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using .to_string(): `"Variable name not found".to_string()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stderr] [INFO] [stderr] warning: this loop could be written as a `for` loop [INFO] [stderr] --> src/forth/inter.rs:424:29 [INFO] [stderr] | [INFO] [stderr] 424 | while let Some(t) = toks.next() { [INFO] [stderr] | ^^^^^^^^^^^ help: try: `for t in toks { .. }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#while_let_on_iterator [INFO] [stderr] [INFO] [stderr] warning: useless use of `format!` [INFO] [stderr] --> src/forth/inter.rs:432:24 [INFO] [stderr] | [INFO] [stderr] 432 | return Err(format!("Empty loop body")); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using .to_string(): `"Empty loop body".to_string()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stderr] [INFO] [stderr] warning: useless use of `format!` [INFO] [stderr] --> src/forth/inter.rs:435:29 [INFO] [stderr] | [INFO] [stderr] 435 | let start = env.pop(format!("Empty stack for start of do loop"))?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using .to_string(): `"Empty stack for start of do loop".to_string()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stderr] [INFO] [stderr] warning: useless use of `format!` [INFO] [stderr] --> src/forth/inter.rs:436:27 [INFO] [stderr] | [INFO] [stderr] 436 | let end = env.pop(format!("Empty stack for end of do loop"))?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using .to_string(): `"Empty stack for end of do loop".to_string()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stderr] [INFO] [stderr] warning: useless use of `format!` [INFO] [stderr] --> src/forth/inter.rs:454:17 [INFO] [stderr] | [INFO] [stderr] 454 | Err(format!("Variable name not found")) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using .to_string(): `"Variable name not found".to_string()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stderr] [INFO] [stderr] warning: useless use of `format!` [INFO] [stderr] --> src/forth/inter.rs:462:37 [INFO] [stderr] | [INFO] [stderr] 462 | let x = env.pop(format!("Stack empty to set variable value"))?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using .to_string(): `"Stack empty to set variable value".to_string()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stderr] [INFO] [stderr] warning: useless use of `format!` [INFO] [stderr] --> src/forth/inter.rs:469:37 [INFO] [stderr] | [INFO] [stderr] 469 | let x = env.pop(format!("Stack empty to set array value"))?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using .to_string(): `"Stack empty to set array value".to_string()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stderr] [INFO] [stderr] warning: redundant pattern matching, consider using `is_some()` [INFO] [stderr] --> src/forth/inter.rs:471:28 [INFO] [stderr] | [INFO] [stderr] 471 | if let Some(_) = env.get_variable(&var_name) { [INFO] [stderr] | _____________________- ^^^^^^^ [INFO] [stderr] 472 | | match env.array_set(&var_name, pos, x) { [INFO] [stderr] 473 | | Ok(()) => Ok(()), [INFO] [stderr] 474 | | Err(e) => Err(format!( [INFO] [stderr] ... | [INFO] [stderr] 480 | | Err(format!("No such array: {}", var_name)) [INFO] [stderr] 481 | | } [INFO] [stderr] | |_____________________- help: try this: `if env.get_variable(&var_name).is_some()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_pattern_matching)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: useless use of `format!` [INFO] [stderr] --> src/forth/inter.rs:484:25 [INFO] [stderr] | [INFO] [stderr] 484 | None => Err(format!("No variable reference found to set value")), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using .to_string(): `"No variable reference found to set value".to_string()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stderr] [INFO] [stderr] warning: useless use of `format!` [INFO] [stderr] --> src/forth/inter.rs:512:25 [INFO] [stderr] | [INFO] [stderr] 512 | None => Err(format!("No variable reference found to set value")), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using .to_string(): `"No variable reference found to set value".to_string()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stderr] [INFO] [stderr] warning: useless use of `format!` [INFO] [stderr] --> src/forth/ops.rs:43:21 [INFO] [stderr] | [INFO] [stderr] 43 | let x = env.pop(format!("Empty stack for dup"))?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using .to_string(): `"Empty stack for dup".to_string()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stderr] [INFO] [stderr] warning: useless use of `format!` [INFO] [stderr] --> src/forth/ops.rs:50:21 [INFO] [stderr] | [INFO] [stderr] 50 | let x = env.pop(format!("Empty stack for ."))?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using .to_string(): `"Empty stack for .".to_string()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stderr] [INFO] [stderr] warning: useless use of `format!` [INFO] [stderr] --> src/forth/ops.rs:56:21 [INFO] [stderr] | [INFO] [stderr] 56 | let x = env.pop(format!("Empty stack for first element in swap"))?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using .to_string(): `"Empty stack for first element in swap".to_string()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stderr] [INFO] [stderr] warning: useless use of `format!` [INFO] [stderr] --> src/forth/ops.rs:57:21 [INFO] [stderr] | [INFO] [stderr] 57 | let y = env.pop(format!("Empty stack for second element in swap"))?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using .to_string(): `"Empty stack for second element in swap".to_string()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stderr] [INFO] [stderr] warning: useless use of `format!` [INFO] [stderr] --> src/forth/ops.rs:64:21 [INFO] [stderr] | [INFO] [stderr] 64 | let x = env.pop(format!("Empty stack for first element in over"))?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using .to_string(): `"Empty stack for first element in over".to_string()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stderr] [INFO] [stderr] warning: useless use of `format!` [INFO] [stderr] --> src/forth/ops.rs:65:21 [INFO] [stderr] | [INFO] [stderr] 65 | let y = env.pop(format!("Empty stack for second element in over"))?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using .to_string(): `"Empty stack for second element in over".to_string()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stderr] [INFO] [stderr] warning: useless use of `format!` [INFO] [stderr] --> src/forth/ops.rs:73:21 [INFO] [stderr] | [INFO] [stderr] 73 | let x = env.pop(format!("Empty stack for first element in rot"))?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using .to_string(): `"Empty stack for first element in rot".to_string()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stderr] [INFO] [stderr] warning: useless use of `format!` [INFO] [stderr] --> src/forth/ops.rs:74:21 [INFO] [stderr] | [INFO] [stderr] 74 | let y = env.pop(format!("Empty stack for second element in rot"))?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using .to_string(): `"Empty stack for second element in rot".to_string()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stderr] [INFO] [stderr] warning: useless use of `format!` [INFO] [stderr] --> src/forth/ops.rs:75:21 [INFO] [stderr] | [INFO] [stderr] 75 | let z = env.pop(format!("Empty stack for third element in rot"))?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using .to_string(): `"Empty stack for third element in rot".to_string()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stderr] [INFO] [stderr] warning: useless use of `format!` [INFO] [stderr] --> src/forth/ops.rs:83:13 [INFO] [stderr] | [INFO] [stderr] 83 | env.pop(format!("Empty stack for drop"))?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using .to_string(): `"Empty stack for drop".to_string()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stderr] [INFO] [stderr] warning: useless use of `format!` [INFO] [stderr] --> src/forth/ops.rs:88:21 [INFO] [stderr] | [INFO] [stderr] 88 | let x = env.pop(format!("Empty stack for emit"))?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using .to_string(): `"Empty stack for emit".to_string()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stderr] [INFO] [stderr] warning: useless use of `format!` [INFO] [stderr] --> src/forth/ops.rs:155:21 [INFO] [stderr] | [INFO] [stderr] 155 | let x = env.pop(format!("Empty stack for invert"))?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using .to_string(): `"Empty stack for invert".to_string()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stderr] [INFO] [stderr] warning: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/forth/mod.rs:6:5 [INFO] [stderr] | [INFO] [stderr] 6 | / match name.parse::() { [INFO] [stderr] 7 | | Ok(_) => false, [INFO] [stderr] 8 | | Err(_) => true, [INFO] [stderr] 9 | | } [INFO] [stderr] | |_____^ help: try this: `name.parse::().is_err()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: You are using an explicit closure for cloning elements [INFO] [stderr] --> src/forth/env.rs:59:9 [INFO] [stderr] | [INFO] [stderr] 59 | self.vars.get(name).map(|v| v.clone()) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: Consider calling the dedicated `cloned` method: `self.vars.get(name).cloned()` [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] [INFO] [stderr] warning: You are using an explicit closure for cloning elements [INFO] [stderr] --> src/forth/env.rs:67:9 [INFO] [stderr] | [INFO] [stderr] 67 | self.constants.get(name).map(|n| *n) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: Consider calling the dedicated `cloned` method: `self.constants.get(name).cloned()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a HashMap. Using `[]` is more clear and more concise [INFO] [stderr] --> src/forth/env.rs:117:24 [INFO] [stderr] | [INFO] [stderr] 117 | let val = *self.specials.get(name).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `&self.specials[name]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::get_unwrap)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a HashMap. Using `[]` is more clear and more concise [INFO] [stderr] --> src/forth/env.rs:139:23 [INFO] [stderr] | [INFO] [stderr] 139 | let var = self.vars.get(name).unwrap().clone(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `&self.vars[name]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/forth/inter.rs:14:41 [INFO] [stderr] | [INFO] [stderr] 14 | let tokens: Vec<_> = expr.split(" ").map(|s| s.trim().to_string()).collect(); [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: called `.get().unwrap()` on a HashMap. Using `[]` is more clear and more concise [INFO] [stderr] --> src/forth/inter.rs:62:23 [INFO] [stderr] | [INFO] [stderr] 62 | let opr = self.builtins.get(op).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `&self.builtins[op]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] warning: this loop could be written as a `for` loop [INFO] [stderr] --> src/forth/inter.rs:190:33 [INFO] [stderr] | [INFO] [stderr] 190 | while let Some(s) = toks.next() { [INFO] [stderr] | ^^^^^^^^^^^ help: try: `for s in toks { .. }` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::while_let_on_iterator)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#while_let_on_iterator [INFO] [stderr] [INFO] [stderr] warning: taken reference of right operand [INFO] [stderr] --> src/forth/inter.rs:191:20 [INFO] [stderr] | [INFO] [stderr] 191 | if s == &";" { [INFO] [stderr] | ^^^^^---- [INFO] [stderr] | | [INFO] [stderr] | help: use the right value directly: `";"` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::op_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stderr] [INFO] [stderr] warning: useless use of `format!` [INFO] [stderr] --> src/forth/inter.rs:200:13 [INFO] [stderr] | [INFO] [stderr] 200 | Err(format!("Invalid function")) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using .to_string(): `"Invalid function".to_string()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::useless_format)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stderr] [INFO] [stderr] warning: this loop could be written as a `for` loop [INFO] [stderr] --> src/forth/inter.rs:206:29 [INFO] [stderr] | [INFO] [stderr] 206 | while let Some(m) = toks.next() { [INFO] [stderr] | ^^^^^^^^^^^ help: try: `for m in toks { .. }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#while_let_on_iterator [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/forth/inter.rs:210:28 [INFO] [stderr] | [INFO] [stderr] 210 | if m.ends_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: useless use of `format!` [INFO] [stderr] --> src/forth/inter.rs:219:13 [INFO] [stderr] | [INFO] [stderr] 219 | Err(format!("Nonterminated string")) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using .to_string(): `"Nonterminated string".to_string()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stderr] [INFO] [stderr] warning: this loop could be written as a `for` loop [INFO] [stderr] --> src/forth/inter.rs:230:29 [INFO] [stderr] | [INFO] [stderr] 230 | while let Some(t) = toks.next() { [INFO] [stderr] | ^^^^^^^^^^^ help: try: `for t in toks { .. }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#while_let_on_iterator [INFO] [stderr] [INFO] [stderr] warning: useless use of `format!` [INFO] [stderr] --> src/forth/inter.rs:372:35 [INFO] [stderr] | [INFO] [stderr] 372 | match env.pop(format!("Stack empty to set slot value for array")) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using .to_string(): `"Stack empty to set slot value for array".to_string()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stderr] [INFO] [stderr] warning: useless use of `format!` [INFO] [stderr] --> src/forth/inter.rs:390:38 [INFO] [stderr] | [INFO] [stderr] 390 | let length = env.pop(format!("Stack empty to allot array"))?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using .to_string(): `"Stack empty to allot array".to_string()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stderr] [INFO] [stderr] warning: useless use of `format!` [INFO] [stderr] --> src/forth/inter.rs:395:25 [INFO] [stderr] | [INFO] [stderr] 395 | None => Err(format!("No variable found to allocate as an array!")), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using .to_string(): `"No variable found to allocate as an array!".to_string()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stderr] [INFO] [stderr] warning: useless use of `format!` [INFO] [stderr] --> src/forth/inter.rs:402:17 [INFO] [stderr] | [INFO] [stderr] 402 | env.top(format!("Empty stack to evaluate cells"))?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using .to_string(): `"Empty stack to evaluate cells".to_string()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stderr] [INFO] [stderr] warning: useless use of `format!` [INFO] [stderr] --> src/forth/inter.rs:416:17 [INFO] [stderr] | [INFO] [stderr] 416 | Err(format!("Variable name not found")) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using .to_string(): `"Variable name not found".to_string()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stderr] [INFO] [stderr] warning: this loop could be written as a `for` loop [INFO] [stderr] --> src/forth/inter.rs:424:29 [INFO] [stderr] | [INFO] [stderr] 424 | while let Some(t) = toks.next() { [INFO] [stderr] | ^^^^^^^^^^^ help: try: `for t in toks { .. }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#while_let_on_iterator [INFO] [stderr] [INFO] [stderr] warning: useless use of `format!` [INFO] [stderr] --> src/forth/inter.rs:432:24 [INFO] [stderr] | [INFO] [stderr] 432 | return Err(format!("Empty loop body")); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using .to_string(): `"Empty loop body".to_string()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stderr] [INFO] [stderr] warning: useless use of `format!` [INFO] [stderr] --> src/forth/inter.rs:435:29 [INFO] [stderr] | [INFO] [stderr] 435 | let start = env.pop(format!("Empty stack for start of do loop"))?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using .to_string(): `"Empty stack for start of do loop".to_string()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stderr] [INFO] [stderr] warning: useless use of `format!` [INFO] [stderr] --> src/forth/inter.rs:436:27 [INFO] [stderr] | [INFO] [stderr] 436 | let end = env.pop(format!("Empty stack for end of do loop"))?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using .to_string(): `"Empty stack for end of do loop".to_string()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stderr] [INFO] [stderr] warning: useless use of `format!` [INFO] [stderr] --> src/forth/inter.rs:454:17 [INFO] [stderr] | [INFO] [stderr] 454 | Err(format!("Variable name not found")) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using .to_string(): `"Variable name not found".to_string()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stderr] [INFO] [stderr] warning: useless use of `format!` [INFO] [stderr] --> src/forth/inter.rs:462:37 [INFO] [stderr] | [INFO] [stderr] 462 | let x = env.pop(format!("Stack empty to set variable value"))?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using .to_string(): `"Stack empty to set variable value".to_string()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stderr] [INFO] [stderr] warning: useless use of `format!` [INFO] [stderr] --> src/forth/inter.rs:469:37 [INFO] [stderr] | [INFO] [stderr] 469 | let x = env.pop(format!("Stack empty to set array value"))?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using .to_string(): `"Stack empty to set array value".to_string()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stderr] [INFO] [stderr] warning: redundant pattern matching, consider using `is_some()` [INFO] [stderr] --> src/forth/inter.rs:471:28 [INFO] [stderr] | [INFO] [stderr] 471 | if let Some(_) = env.get_variable(&var_name) { [INFO] [stderr] | _____________________- ^^^^^^^ [INFO] [stderr] 472 | | match env.array_set(&var_name, pos, x) { [INFO] [stderr] 473 | | Ok(()) => Ok(()), [INFO] [stderr] 474 | | Err(e) => Err(format!( [INFO] [stderr] ... | [INFO] [stderr] 480 | | Err(format!("No such array: {}", var_name)) [INFO] [stderr] 481 | | } [INFO] [stderr] | |_____________________- help: try this: `if env.get_variable(&var_name).is_some()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_pattern_matching)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: useless use of `format!` [INFO] [stderr] --> src/forth/inter.rs:484:25 [INFO] [stderr] | [INFO] [stderr] 484 | None => Err(format!("No variable reference found to set value")), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using .to_string(): `"No variable reference found to set value".to_string()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stderr] [INFO] [stderr] warning: useless use of `format!` [INFO] [stderr] --> src/forth/inter.rs:512:25 [INFO] [stderr] | [INFO] [stderr] 512 | None => Err(format!("No variable reference found to set value")), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using .to_string(): `"No variable reference found to set value".to_string()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stderr] [INFO] [stderr] warning: useless use of `format!` [INFO] [stderr] --> src/forth/ops.rs:43:21 [INFO] [stderr] | [INFO] [stderr] 43 | let x = env.pop(format!("Empty stack for dup"))?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using .to_string(): `"Empty stack for dup".to_string()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stderr] [INFO] [stderr] warning: useless use of `format!` [INFO] [stderr] --> src/forth/ops.rs:50:21 [INFO] [stderr] | [INFO] [stderr] 50 | let x = env.pop(format!("Empty stack for ."))?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using .to_string(): `"Empty stack for .".to_string()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stderr] [INFO] [stderr] warning: useless use of `format!` [INFO] [stderr] --> src/forth/ops.rs:56:21 [INFO] [stderr] | [INFO] [stderr] 56 | let x = env.pop(format!("Empty stack for first element in swap"))?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using .to_string(): `"Empty stack for first element in swap".to_string()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stderr] [INFO] [stderr] warning: useless use of `format!` [INFO] [stderr] --> src/forth/ops.rs:57:21 [INFO] [stderr] | [INFO] [stderr] 57 | let y = env.pop(format!("Empty stack for second element in swap"))?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using .to_string(): `"Empty stack for second element in swap".to_string()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stderr] [INFO] [stderr] warning: useless use of `format!` [INFO] [stderr] --> src/forth/ops.rs:64:21 [INFO] [stderr] | [INFO] [stderr] 64 | let x = env.pop(format!("Empty stack for first element in over"))?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using .to_string(): `"Empty stack for first element in over".to_string()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stderr] [INFO] [stderr] warning: useless use of `format!` [INFO] [stderr] --> src/forth/ops.rs:65:21 [INFO] [stderr] | [INFO] [stderr] 65 | let y = env.pop(format!("Empty stack for second element in over"))?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using .to_string(): `"Empty stack for second element in over".to_string()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stderr] [INFO] [stderr] warning: useless use of `format!` [INFO] [stderr] --> src/forth/ops.rs:73:21 [INFO] [stderr] | [INFO] [stderr] 73 | let x = env.pop(format!("Empty stack for first element in rot"))?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using .to_string(): `"Empty stack for first element in rot".to_string()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stderr] [INFO] [stderr] warning: useless use of `format!` [INFO] [stderr] --> src/forth/ops.rs:74:21 [INFO] [stderr] | [INFO] [stderr] 74 | let y = env.pop(format!("Empty stack for second element in rot"))?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using .to_string(): `"Empty stack for second element in rot".to_string()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stderr] [INFO] [stderr] warning: useless use of `format!` [INFO] [stderr] --> src/forth/ops.rs:75:21 [INFO] [stderr] | [INFO] [stderr] 75 | let z = env.pop(format!("Empty stack for third element in rot"))?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using .to_string(): `"Empty stack for third element in rot".to_string()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stderr] [INFO] [stderr] warning: useless use of `format!` [INFO] [stderr] --> src/forth/ops.rs:83:13 [INFO] [stderr] | [INFO] [stderr] 83 | env.pop(format!("Empty stack for drop"))?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using .to_string(): `"Empty stack for drop".to_string()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stderr] [INFO] [stderr] warning: useless use of `format!` [INFO] [stderr] --> src/forth/ops.rs:88:21 [INFO] [stderr] | [INFO] [stderr] 88 | let x = env.pop(format!("Empty stack for emit"))?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using .to_string(): `"Empty stack for emit".to_string()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stderr] [INFO] [stderr] warning: useless use of `format!` [INFO] [stderr] --> src/forth/ops.rs:155:21 [INFO] [stderr] | [INFO] [stderr] 155 | let x = env.pop(format!("Empty stack for invert"))?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using .to_string(): `"Empty stack for invert".to_string()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stderr] [INFO] [stderr] warning: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/forth/mod.rs:6:5 [INFO] [stderr] | [INFO] [stderr] 6 | / match name.parse::() { [INFO] [stderr] 7 | | Ok(_) => false, [INFO] [stderr] 8 | | Err(_) => true, [INFO] [stderr] 9 | | } [INFO] [stderr] | |_____^ help: try this: `name.parse::().is_err()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 0.90s [INFO] running `"docker" "inspect" "0fd373e266ccf2467fcfa6d185aa776bfdcc48ae542fabd731cd6be259ca38d5"` [INFO] running `"docker" "rm" "-f" "0fd373e266ccf2467fcfa6d185aa776bfdcc48ae542fabd731cd6be259ca38d5"` [INFO] [stdout] 0fd373e266ccf2467fcfa6d185aa776bfdcc48ae542fabd731cd6be259ca38d5