[INFO] updating cached repository danieldulaney/prompt-line [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/danieldulaney/prompt-line [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/danieldulaney/prompt-line" "work/ex/clippy-test-run/sources/stable/gh/danieldulaney/prompt-line"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable/gh/danieldulaney/prompt-line'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/danieldulaney/prompt-line" "work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/danieldulaney/prompt-line"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/danieldulaney/prompt-line'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] b994650c13128debc64bebbdbca7417cbb241399 [INFO] sha for GitHub repo danieldulaney/prompt-line: b994650c13128debc64bebbdbca7417cbb241399 [INFO] validating manifest of danieldulaney/prompt-line 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 danieldulaney/prompt-line 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 danieldulaney/prompt-line [INFO] finished frobbing danieldulaney/prompt-line [INFO] frobbed toml for danieldulaney/prompt-line written to work/ex/clippy-test-run/sources/stable/gh/danieldulaney/prompt-line/Cargo.toml [INFO] started frobbing danieldulaney/prompt-line [INFO] finished frobbing danieldulaney/prompt-line [INFO] frobbed toml for danieldulaney/prompt-line written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/danieldulaney/prompt-line/Cargo.toml [INFO] crate danieldulaney/prompt-line 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 danieldulaney/prompt-line against stable+rustflags=-Dclippy::into_iter_on_array for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-5/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/danieldulaney/prompt-line:/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 -Dclippy::into_iter_on_array" "-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] 77dea8cfc84fb033a53cb54ea72770bc57ffa884060ede027c0ab7bdcfe7d637 [INFO] running `"docker" "start" "-a" "77dea8cfc84fb033a53cb54ea72770bc57ffa884060ede027c0ab7bdcfe7d637"` [INFO] [stderr] Checking either v1.2.0 [INFO] [stderr] Checking prompter v0.1.0 (/opt/crater/workdir) [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/parser.rs:94:9 [INFO] [stderr] | [INFO] [stderr] 94 | / return Format { [INFO] [stderr] 95 | | foreground: None, [INFO] [stderr] 96 | | background: None, [INFO] [stderr] 97 | | italic: None, [INFO] [stderr] 98 | | underline: None, [INFO] [stderr] 99 | | } [INFO] [stderr] | |_________^ [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] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 94 | Format { [INFO] [stderr] 95 | foreground: None, [INFO] [stderr] 96 | background: None, [INFO] [stderr] 97 | italic: None, [INFO] [stderr] 98 | underline: None, [INFO] [stderr] 99 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/parser.rs:112:9 [INFO] [stderr] | [INFO] [stderr] 112 | return current; [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: remove `return` as shown: `current` [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] Checking itertools v0.6.5 [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/parser.rs:151:9 [INFO] [stderr] | [INFO] [stderr] 151 | / match self { [INFO] [stderr] 152 | | &Some(Ok(ref token)) => token.kind == kind, [INFO] [stderr] 153 | | _ => false, [INFO] [stderr] 154 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::match_ref_pats)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 151 | match *self { [INFO] [stderr] 152 | Some(Ok(ref token)) => token.kind == kind, [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/parser.rs:158:9 [INFO] [stderr] | [INFO] [stderr] 158 | / match self { [INFO] [stderr] 159 | | &Some(Ok(ref token)) => Some(token), [INFO] [stderr] 160 | | _ => None, [INFO] [stderr] 161 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 158 | match *self { [INFO] [stderr] 159 | Some(Ok(ref token)) => Some(token), [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/parser.rs:165:9 [INFO] [stderr] | [INFO] [stderr] 165 | / match self { [INFO] [stderr] 166 | | &Some(Ok(ref token)) => Some(token.lexeme), [INFO] [stderr] 167 | | _ => None, [INFO] [stderr] 168 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 165 | match *self { [INFO] [stderr] 166 | Some(Ok(ref token)) => Some(token.lexeme), [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/parser.rs:172:9 [INFO] [stderr] | [INFO] [stderr] 172 | / match self { [INFO] [stderr] 173 | | &Some(Ok(ref token)) => Some(token.location), [INFO] [stderr] 174 | | _ => None, [INFO] [stderr] 175 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 172 | match *self { [INFO] [stderr] 173 | Some(Ok(ref token)) => Some(token.location), [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/interpreter.rs:41:1 [INFO] [stderr] | [INFO] [stderr] 41 | / pub fn evaluate<'s>(content: Content<'s>) -> Result { [INFO] [stderr] 42 | | match content { [INFO] [stderr] 43 | | Literal(content) => Ok(String::from(content)), [INFO] [stderr] 44 | | Command(call) => { [INFO] [stderr] ... | [INFO] [stderr] 60 | | } [INFO] [stderr] 61 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_lifetimes)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use `&Box`. Consider using just `&T` [INFO] [stderr] --> src/output.rs:11:52 [INFO] [stderr] | [INFO] [stderr] 11 | pub fn write_format(t: &mut Box, format: &parser::Format, content: &str) { [INFO] [stderr] | ^^^^^^^^^^^ help: try: `&mut T` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::borrowed_box)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#borrowed_box [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/output.rs:15:5 [INFO] [stderr] | [INFO] [stderr] 15 | / match format.foreground { [INFO] [stderr] 16 | | Some(color) => or_log(t.fg(color), "setting foreground"), [INFO] [stderr] 17 | | None => {}, [INFO] [stderr] 18 | | }; [INFO] [stderr] | |_____^ help: try this: `if let Some(color) = format.foreground { or_log(t.fg(color), "setting foreground") }` [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] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/output.rs:20:5 [INFO] [stderr] | [INFO] [stderr] 20 | / match format.background { [INFO] [stderr] 21 | | Some(color) => or_log(t.bg(color), "setting background"), [INFO] [stderr] 22 | | None => {}, [INFO] [stderr] 23 | | }; [INFO] [stderr] | |_____^ help: try this: `if let Some(color) = format.background { or_log(t.bg(color), "setting background") }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [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/output.rs:25:5 [INFO] [stderr] | [INFO] [stderr] 25 | / match format.italic { [INFO] [stderr] 26 | | Some(i) => or_log(t.attr(Italic(i)), "setting italic"), [INFO] [stderr] 27 | | None => {}, [INFO] [stderr] 28 | | }; [INFO] [stderr] | |_____^ help: try this: `if let Some(i) = format.italic { or_log(t.attr(Italic(i)), "setting italic") }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [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/output.rs:30:5 [INFO] [stderr] | [INFO] [stderr] 30 | / match format.underline { [INFO] [stderr] 31 | | Some(i) => or_log(t.attr(Underline(i)), "setting underline"), [INFO] [stderr] 32 | | None => {}, [INFO] [stderr] 33 | | }; [INFO] [stderr] | |_____^ help: try this: `if let Some(i) = format.underline { or_log(t.attr(Underline(i)), "setting underline") }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/tokenizer.rs:356:22 [INFO] [stderr] | [INFO] [stderr] 356 | const TOKENS: [(&'static str, TokenKind); 16] = [ [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/tokenizer.rs:379:24 [INFO] [stderr] | [INFO] [stderr] 379 | const FAILURES: [(&'static str, u32, TokenizerError); 5] = [ [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/parser.rs:94:9 [INFO] [stderr] | [INFO] [stderr] 94 | / return Format { [INFO] [stderr] 95 | | foreground: None, [INFO] [stderr] 96 | | background: None, [INFO] [stderr] 97 | | italic: None, [INFO] [stderr] 98 | | underline: None, [INFO] [stderr] 99 | | } [INFO] [stderr] | |_________^ [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] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 94 | Format { [INFO] [stderr] 95 | foreground: None, [INFO] [stderr] 96 | background: None, [INFO] [stderr] 97 | italic: None, [INFO] [stderr] 98 | underline: None, [INFO] [stderr] 99 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/parser.rs:112:9 [INFO] [stderr] | [INFO] [stderr] 112 | return current; [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: remove `return` as shown: `current` [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: unneeded return statement [INFO] [stderr] --> src/parser.rs:498:9 [INFO] [stderr] | [INFO] [stderr] 498 | return (tokens, format) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `(tokens, format)` [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 import: `super::*` [INFO] [stderr] --> src/interpreter.rs:66:9 [INFO] [stderr] | [INFO] [stderr] 66 | use super::*; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: `if _ { .. } else { .. }` is an expression [INFO] [stderr] --> src/tokenizer.rs:487:17 [INFO] [stderr] | [INFO] [stderr] 487 | / let s: String; [INFO] [stderr] 488 | | [INFO] [stderr] 489 | | if needs_space(kind1) && needs_space(kind2) { [INFO] [stderr] 490 | | offset = 1; [INFO] [stderr] ... | [INFO] [stderr] 494 | | s = format!("{}{}", s1, s2); [INFO] [stderr] 495 | | } [INFO] [stderr] | |_________________^ help: it is more idiomatic to write: `let s = if needs_space(kind1) && needs_space(kind2) { ..; $ crate :: fmt :: format ( format_args ! ( $ ( $ arg ) * ) ) } else { ..; $ crate :: fmt :: format ( format_args ! ( $ ( $ arg ) * ) ) };` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::useless_let_if_seq)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_let_if_seq [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/parser.rs:151:9 [INFO] [stderr] | [INFO] [stderr] 151 | / match self { [INFO] [stderr] 152 | | &Some(Ok(ref token)) => token.kind == kind, [INFO] [stderr] 153 | | _ => false, [INFO] [stderr] 154 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::match_ref_pats)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 151 | match *self { [INFO] [stderr] 152 | Some(Ok(ref token)) => token.kind == kind, [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/parser.rs:158:9 [INFO] [stderr] | [INFO] [stderr] 158 | / match self { [INFO] [stderr] 159 | | &Some(Ok(ref token)) => Some(token), [INFO] [stderr] 160 | | _ => None, [INFO] [stderr] 161 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 158 | match *self { [INFO] [stderr] 159 | Some(Ok(ref token)) => Some(token), [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/parser.rs:165:9 [INFO] [stderr] | [INFO] [stderr] 165 | / match self { [INFO] [stderr] 166 | | &Some(Ok(ref token)) => Some(token.lexeme), [INFO] [stderr] 167 | | _ => None, [INFO] [stderr] 168 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 165 | match *self { [INFO] [stderr] 166 | Some(Ok(ref token)) => Some(token.lexeme), [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/parser.rs:172:9 [INFO] [stderr] | [INFO] [stderr] 172 | / match self { [INFO] [stderr] 173 | | &Some(Ok(ref token)) => Some(token.location), [INFO] [stderr] 174 | | _ => None, [INFO] [stderr] 175 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 172 | match *self { [INFO] [stderr] 173 | Some(Ok(ref token)) => Some(token.location), [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: redundant closure found [INFO] [stderr] --> src/parser.rs:621:22 [INFO] [stderr] | [INFO] [stderr] 621 | .map(|t| Ok::<_, TokenizerError>(t)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove closure as shown: `Ok::<_, TokenizerError>` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_closure)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stderr] [INFO] [stderr] warning: redundant closure found [INFO] [stderr] --> src/parser.rs:657:22 [INFO] [stderr] | [INFO] [stderr] 657 | .map(|t| Ok(t)); [INFO] [stderr] | ^^^^^^^^^ help: remove closure as shown: `Ok` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stderr] [INFO] [stderr] warning: redundant closure found [INFO] [stderr] --> src/parser.rs:690:22 [INFO] [stderr] | [INFO] [stderr] 690 | .map(|t| Ok::<_, TokenizerError>(t)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove closure as shown: `Ok::<_, TokenizerError>` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/interpreter.rs:41:1 [INFO] [stderr] | [INFO] [stderr] 41 | / pub fn evaluate<'s>(content: Content<'s>) -> Result { [INFO] [stderr] 42 | | match content { [INFO] [stderr] 43 | | Literal(content) => Ok(String::from(content)), [INFO] [stderr] 44 | | Command(call) => { [INFO] [stderr] ... | [INFO] [stderr] 60 | | } [INFO] [stderr] 61 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_lifetimes)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use `&Box`. Consider using just `&T` [INFO] [stderr] --> src/output.rs:11:52 [INFO] [stderr] | [INFO] [stderr] 11 | pub fn write_format(t: &mut Box, format: &parser::Format, content: &str) { [INFO] [stderr] | ^^^^^^^^^^^ help: try: `&mut T` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::borrowed_box)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#borrowed_box [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/output.rs:15:5 [INFO] [stderr] | [INFO] [stderr] 15 | / match format.foreground { [INFO] [stderr] 16 | | Some(color) => or_log(t.fg(color), "setting foreground"), [INFO] [stderr] 17 | | None => {}, [INFO] [stderr] 18 | | }; [INFO] [stderr] | |_____^ help: try this: `if let Some(color) = format.foreground { or_log(t.fg(color), "setting foreground") }` [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] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/output.rs:20:5 [INFO] [stderr] | [INFO] [stderr] 20 | / match format.background { [INFO] [stderr] 21 | | Some(color) => or_log(t.bg(color), "setting background"), [INFO] [stderr] 22 | | None => {}, [INFO] [stderr] 23 | | }; [INFO] [stderr] | |_____^ help: try this: `if let Some(color) = format.background { or_log(t.bg(color), "setting background") }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [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/output.rs:25:5 [INFO] [stderr] | [INFO] [stderr] 25 | / match format.italic { [INFO] [stderr] 26 | | Some(i) => or_log(t.attr(Italic(i)), "setting italic"), [INFO] [stderr] 27 | | None => {}, [INFO] [stderr] 28 | | }; [INFO] [stderr] | |_____^ help: try this: `if let Some(i) = format.italic { or_log(t.attr(Italic(i)), "setting italic") }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [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/output.rs:30:5 [INFO] [stderr] | [INFO] [stderr] 30 | / match format.underline { [INFO] [stderr] 31 | | Some(i) => or_log(t.attr(Underline(i)), "setting underline"), [INFO] [stderr] 32 | | None => {}, [INFO] [stderr] 33 | | }; [INFO] [stderr] | |_____^ help: try this: `if let Some(i) = format.underline { or_log(t.attr(Underline(i)), "setting underline") }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 4.17s [INFO] running `"docker" "inspect" "77dea8cfc84fb033a53cb54ea72770bc57ffa884060ede027c0ab7bdcfe7d637"` [INFO] running `"docker" "rm" "-f" "77dea8cfc84fb033a53cb54ea72770bc57ffa884060ede027c0ab7bdcfe7d637"` [INFO] [stdout] 77dea8cfc84fb033a53cb54ea72770bc57ffa884060ede027c0ab7bdcfe7d637