[INFO] crate fungui_syntax 0.1.0 is already in cache [INFO] extracting crate fungui_syntax 0.1.0 into work/ex/clippy-test-run/sources/stable/reg/fungui_syntax/0.1.0 [INFO] extracting crate fungui_syntax 0.1.0 into work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/fungui_syntax/0.1.0 [INFO] validating manifest of fungui_syntax-0.1.0 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 fungui_syntax-0.1.0 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 fungui_syntax-0.1.0 [INFO] finished frobbing fungui_syntax-0.1.0 [INFO] frobbed toml for fungui_syntax-0.1.0 written to work/ex/clippy-test-run/sources/stable/reg/fungui_syntax/0.1.0/Cargo.toml [INFO] started frobbing fungui_syntax-0.1.0 [INFO] finished frobbing fungui_syntax-0.1.0 [INFO] frobbed toml for fungui_syntax-0.1.0 written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/fungui_syntax/0.1.0/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 fungui_syntax-0.1.0 against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-6/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/reg/fungui_syntax/0.1.0:/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] fc195361688cb1e2bd0d8dcd88566755bc46b2bd2eef569d9fc45b966ad3dd8a [INFO] running `"docker" "start" "-a" "fc195361688cb1e2bd0d8dcd88566755bc46b2bd2eef569d9fc45b966ad3dd8a"` [INFO] [stderr] Checking combine v3.6.6 [INFO] [stderr] Checking fungui_syntax v0.1.0 (/opt/crater/workdir) [INFO] [stderr] warning: using `println!("")` [INFO] [stderr] --> src/desc/mod.rs:288:13 [INFO] [stderr] | [INFO] [stderr] 288 | 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/style/mod.rs:566:13 [INFO] [stderr] | [INFO] [stderr] 566 | println!(""); [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `println!()` [INFO] [stderr] | [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/common.rs:20:17 [INFO] [stderr] | [INFO] [stderr] 20 | name: name, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `name` [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: using `write!()` with a format string that ends in a single newline, consider using `writeln!()` instead [INFO] [stderr] --> src/lib.rs:107:5 [INFO] [stderr] | [INFO] [stderr] 107 | write!(&mut w, "error: {}\n", msg)?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::write_with_newline)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stderr] [INFO] [stderr] warning: using `write!()` with a format string that ends in a single newline, consider using `writeln!()` instead [INFO] [stderr] --> src/lib.rs:108:5 [INFO] [stderr] | [INFO] [stderr] 108 | / write!( [INFO] [stderr] 109 | | &mut w, [INFO] [stderr] 110 | | "{:width$}--> {}:{}\n", [INFO] [stderr] 111 | | "", [INFO] [stderr] ... | [INFO] [stderr] 114 | | width = number_len, [INFO] [stderr] 115 | | )?; [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stderr] [INFO] [stderr] warning: using `write!()` with a format string that ends in a single newline, consider using `writeln!()` instead [INFO] [stderr] --> src/lib.rs:118:9 [INFO] [stderr] | [INFO] [stderr] 118 | write!(&mut w, "{:width$} |\n", "", width = number_len)?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stderr] [INFO] [stderr] warning: using `write!()` with a format string that ends in a single newline, consider using `writeln!()` instead [INFO] [stderr] --> src/lib.rs:127:13 [INFO] [stderr] | [INFO] [stderr] 127 | write!(&mut w, "{:width$} | {}\n", no + 1, line, width = number_len)?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stderr] [INFO] [stderr] warning: using `write!()` with a format string that ends in a single newline, consider using `writeln!()` instead [INFO] [stderr] --> src/lib.rs:128:13 [INFO] [stderr] | [INFO] [stderr] 128 | / write!( [INFO] [stderr] 129 | | &mut w, [INFO] [stderr] 130 | | "{:width$} | {:offset$}{:^ src/lib.rs:140:13 [INFO] [stderr] | [INFO] [stderr] 140 | write!(&mut w, "{:width$} | {}\n", "", line, width = number_len)?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stderr] [INFO] [stderr] warning: using `println!("")` [INFO] [stderr] --> src/desc/mod.rs:288:13 [INFO] [stderr] | [INFO] [stderr] 288 | 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/style/mod.rs:566:13 [INFO] [stderr] | [INFO] [stderr] 566 | println!(""); [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `println!()` [INFO] [stderr] | [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/common.rs:20:17 [INFO] [stderr] | [INFO] [stderr] 20 | name: name, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `name` [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: using `write!()` with a format string that ends in a single newline, consider using `writeln!()` instead [INFO] [stderr] --> src/lib.rs:107:5 [INFO] [stderr] | [INFO] [stderr] 107 | write!(&mut w, "error: {}\n", msg)?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::write_with_newline)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stderr] [INFO] [stderr] warning: using `write!()` with a format string that ends in a single newline, consider using `writeln!()` instead [INFO] [stderr] --> src/lib.rs:108:5 [INFO] [stderr] | [INFO] [stderr] 108 | / write!( [INFO] [stderr] 109 | | &mut w, [INFO] [stderr] 110 | | "{:width$}--> {}:{}\n", [INFO] [stderr] 111 | | "", [INFO] [stderr] ... | [INFO] [stderr] 114 | | width = number_len, [INFO] [stderr] 115 | | )?; [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stderr] [INFO] [stderr] warning: using `write!()` with a format string that ends in a single newline, consider using `writeln!()` instead [INFO] [stderr] --> src/lib.rs:118:9 [INFO] [stderr] | [INFO] [stderr] 118 | write!(&mut w, "{:width$} |\n", "", width = number_len)?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stderr] [INFO] [stderr] warning: using `write!()` with a format string that ends in a single newline, consider using `writeln!()` instead [INFO] [stderr] --> src/lib.rs:127:13 [INFO] [stderr] | [INFO] [stderr] 127 | write!(&mut w, "{:width$} | {}\n", no + 1, line, width = number_len)?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stderr] [INFO] [stderr] warning: using `write!()` with a format string that ends in a single newline, consider using `writeln!()` instead [INFO] [stderr] --> src/lib.rs:128:13 [INFO] [stderr] | [INFO] [stderr] 128 | / write!( [INFO] [stderr] 129 | | &mut w, [INFO] [stderr] 130 | | "{:width$} | {:offset$}{:^ src/lib.rs:140:13 [INFO] [stderr] | [INFO] [stderr] 140 | write!(&mut w, "{:width$} | {}\n", "", line, width = number_len)?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stderr] [INFO] [stderr] warning: redundant closure found [INFO] [stderr] --> src/desc/mod.rs:195:34 [INFO] [stderr] | [INFO] [stderr] 195 | .map(|v| Flow::Continue(v)) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: remove closure as shown: `Flow::Continue` [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/desc/mod.rs:237:36 [INFO] [stderr] | [INFO] [stderr] 237 | let boolean = parse_bool().map(|v| Value::Boolean(v)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: remove closure as shown: `Value::Boolean` [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/desc/mod.rs:238:35 [INFO] [stderr] | [INFO] [stderr] 238 | let float = parse_float().map(|v| Value::Float(v)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: remove closure as shown: `Value::Float` [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/desc/mod.rs:239:39 [INFO] [stderr] | [INFO] [stderr] 239 | let integer = parse_integer().map(|v| Value::Integer(v)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: remove closure as shown: `Value::Integer` [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/style/mod.rs:179:37 [INFO] [stderr] | [INFO] [stderr] 179 | .or(parse_element().map(|v| Matcher::Element(v))), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: remove closure as shown: `Matcher::Element` [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: this loop could be written as a `while let` loop [INFO] [stderr] --> src/style/mod.rs:273:5 [INFO] [stderr] | [INFO] [stderr] 273 | / loop { [INFO] [stderr] 274 | | let (op, _) = match (position(), choice(( [INFO] [stderr] 275 | | attempt(string("==")), [INFO] [stderr] 276 | | attempt(string("!=")), [INFO] [stderr] ... | [INFO] [stderr] 302 | | }; [INFO] [stderr] 303 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::while_let_loop)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#while_let_loop [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 273 | while let Ok(v) = (position(), choice(( [INFO] [stderr] 274 | attempt(string("==")), [INFO] [stderr] 275 | attempt(string("!=")), [INFO] [stderr] 276 | attempt(string("<=")), [INFO] [stderr] 277 | attempt(string(">=")), [INFO] [stderr] 278 | string("<"), [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: this loop could be written as a `while let` loop [INFO] [stderr] --> src/style/mod.rs:318:5 [INFO] [stderr] | [INFO] [stderr] 318 | / loop { [INFO] [stderr] 319 | | let (op, _) = match (position(), choice(( [INFO] [stderr] 320 | | attempt(string("&&")), [INFO] [stderr] 321 | | attempt(string("||")), [INFO] [stderr] ... | [INFO] [stderr] 341 | | }; [INFO] [stderr] 342 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#while_let_loop [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 318 | while let Ok(v) = (position(), choice(( [INFO] [stderr] 319 | attempt(string("&&")), [INFO] [stderr] 320 | attempt(string("||")), [INFO] [stderr] 321 | string("^"), [INFO] [stderr] 322 | ))) [INFO] [stderr] 323 | .skip(skip_spaces()) [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: this loop could be written as a `while let` loop [INFO] [stderr] --> src/style/mod.rs:358:5 [INFO] [stderr] | [INFO] [stderr] 358 | / loop { [INFO] [stderr] 359 | | let (op, _) = match (position(), choice((char('+'), char('-')))) [INFO] [stderr] 360 | | .skip(skip_spaces()) [INFO] [stderr] 361 | | .parse_stream(input) [INFO] [stderr] ... | [INFO] [stderr] 376 | | }; [INFO] [stderr] 377 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#while_let_loop [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 358 | while let Ok(v) = (position(), choice((char('+'), char('-')))) [INFO] [stderr] 359 | .skip(skip_spaces()) [INFO] [stderr] 360 | .parse_stream(input) { .. } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: this loop could be written as a `while let` loop [INFO] [stderr] --> src/style/mod.rs:393:5 [INFO] [stderr] | [INFO] [stderr] 393 | / loop { [INFO] [stderr] 394 | | let (op, _) = match (position(), choice((char('*'), char('/'), char('%')))) [INFO] [stderr] 395 | | .skip(skip_spaces()) [INFO] [stderr] 396 | | .parse_stream(input) [INFO] [stderr] ... | [INFO] [stderr] 412 | | }; [INFO] [stderr] 413 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#while_let_loop [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 393 | while let Ok(v) = (position(), choice((char('*'), char('/'), char('%')))) [INFO] [stderr] 394 | .skip(skip_spaces()) [INFO] [stderr] 395 | .parse_stream(input) { .. } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: redundant closure found [INFO] [stderr] --> src/desc/mod.rs:195:34 [INFO] [stderr] | [INFO] [stderr] 195 | .map(|v| Flow::Continue(v)) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: remove closure as shown: `Flow::Continue` [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/style/mod.rs:511:36 [INFO] [stderr] | [INFO] [stderr] 511 | let boolean = parse_bool().map(|v| Value::Boolean(v)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: remove closure as shown: `Value::Boolean` [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/style/mod.rs:512:35 [INFO] [stderr] | [INFO] [stderr] 512 | let float = parse_float().map(|v| Value::Float(v)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: remove closure as shown: `Value::Float` [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/style/mod.rs:513:39 [INFO] [stderr] | [INFO] [stderr] 513 | let integer = parse_integer().map(|v| Value::Integer(v)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: remove closure as shown: `Value::Integer` [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/style/mod.rs:517:32 [INFO] [stderr] | [INFO] [stderr] 517 | let variable = ident().map(|v| Value::Variable(v)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: remove closure as shown: `Value::Variable` [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/desc/mod.rs:237:36 [INFO] [stderr] | [INFO] [stderr] 237 | let boolean = parse_bool().map(|v| Value::Boolean(v)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: remove closure as shown: `Value::Boolean` [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/desc/mod.rs:238:35 [INFO] [stderr] | [INFO] [stderr] 238 | let float = parse_float().map(|v| Value::Float(v)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: remove closure as shown: `Value::Float` [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/desc/mod.rs:239:39 [INFO] [stderr] | [INFO] [stderr] 239 | let integer = parse_integer().map(|v| Value::Integer(v)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: remove closure as shown: `Value::Integer` [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: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/lib.rs:231:17 [INFO] [stderr] | [INFO] [stderr] 231 | / match *err { [INFO] [stderr] 232 | | Error::Expected(ref m) => match *m { [INFO] [stderr] 233 | | Info::Owned(ref m) => { [INFO] [stderr] 234 | | msg.push_str(m); [INFO] [stderr] ... | [INFO] [stderr] 244 | | _ => {} [INFO] [stderr] 245 | | } [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] 231 | if let Error::Expected(ref m) = *err { match *m { [INFO] [stderr] 232 | Info::Owned(ref m) => { [INFO] [stderr] 233 | msg.push_str(m); [INFO] [stderr] 234 | } [INFO] [stderr] 235 | Info::Borrowed(m) => { [INFO] [stderr] 236 | msg.push_str(m); [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: redundant closure found [INFO] [stderr] --> src/style/mod.rs:179:37 [INFO] [stderr] | [INFO] [stderr] 179 | .or(parse_element().map(|v| Matcher::Element(v))), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: remove closure as shown: `Matcher::Element` [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: this loop could be written as a `while let` loop [INFO] [stderr] --> src/style/mod.rs:273:5 [INFO] [stderr] | [INFO] [stderr] 273 | / loop { [INFO] [stderr] 274 | | let (op, _) = match (position(), choice(( [INFO] [stderr] 275 | | attempt(string("==")), [INFO] [stderr] 276 | | attempt(string("!=")), [INFO] [stderr] ... | [INFO] [stderr] 302 | | }; [INFO] [stderr] 303 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::while_let_loop)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#while_let_loop [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 273 | while let Ok(v) = (position(), choice(( [INFO] [stderr] 274 | attempt(string("==")), [INFO] [stderr] 275 | attempt(string("!=")), [INFO] [stderr] 276 | attempt(string("<=")), [INFO] [stderr] 277 | attempt(string(">=")), [INFO] [stderr] 278 | string("<"), [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: this loop could be written as a `while let` loop [INFO] [stderr] --> src/style/mod.rs:318:5 [INFO] [stderr] | [INFO] [stderr] 318 | / loop { [INFO] [stderr] 319 | | let (op, _) = match (position(), choice(( [INFO] [stderr] 320 | | attempt(string("&&")), [INFO] [stderr] 321 | | attempt(string("||")), [INFO] [stderr] ... | [INFO] [stderr] 341 | | }; [INFO] [stderr] 342 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#while_let_loop [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 318 | while let Ok(v) = (position(), choice(( [INFO] [stderr] 319 | attempt(string("&&")), [INFO] [stderr] 320 | attempt(string("||")), [INFO] [stderr] 321 | string("^"), [INFO] [stderr] 322 | ))) [INFO] [stderr] 323 | .skip(skip_spaces()) [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: this loop could be written as a `while let` loop [INFO] [stderr] --> src/style/mod.rs:358:5 [INFO] [stderr] | [INFO] [stderr] 358 | / loop { [INFO] [stderr] 359 | | let (op, _) = match (position(), choice((char('+'), char('-')))) [INFO] [stderr] 360 | | .skip(skip_spaces()) [INFO] [stderr] 361 | | .parse_stream(input) [INFO] [stderr] ... | [INFO] [stderr] 376 | | }; [INFO] [stderr] 377 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#while_let_loop [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 358 | while let Ok(v) = (position(), choice((char('+'), char('-')))) [INFO] [stderr] 359 | .skip(skip_spaces()) [INFO] [stderr] 360 | .parse_stream(input) { .. } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: this loop could be written as a `while let` loop [INFO] [stderr] --> src/style/mod.rs:393:5 [INFO] [stderr] | [INFO] [stderr] 393 | / loop { [INFO] [stderr] 394 | | let (op, _) = match (position(), choice((char('*'), char('/'), char('%')))) [INFO] [stderr] 395 | | .skip(skip_spaces()) [INFO] [stderr] 396 | | .parse_stream(input) [INFO] [stderr] ... | [INFO] [stderr] 412 | | }; [INFO] [stderr] 413 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#while_let_loop [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 393 | while let Ok(v) = (position(), choice((char('*'), char('/'), char('%')))) [INFO] [stderr] 394 | .skip(skip_spaces()) [INFO] [stderr] 395 | .parse_stream(input) { .. } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: redundant closure found [INFO] [stderr] --> src/style/mod.rs:511:36 [INFO] [stderr] | [INFO] [stderr] 511 | let boolean = parse_bool().map(|v| Value::Boolean(v)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: remove closure as shown: `Value::Boolean` [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/style/mod.rs:512:35 [INFO] [stderr] | [INFO] [stderr] 512 | let float = parse_float().map(|v| Value::Float(v)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: remove closure as shown: `Value::Float` [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/style/mod.rs:513:39 [INFO] [stderr] | [INFO] [stderr] 513 | let integer = parse_integer().map(|v| Value::Integer(v)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: remove closure as shown: `Value::Integer` [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/style/mod.rs:517:32 [INFO] [stderr] | [INFO] [stderr] 517 | let variable = ident().map(|v| Value::Variable(v)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: remove closure as shown: `Value::Variable` [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: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/lib.rs:231:17 [INFO] [stderr] | [INFO] [stderr] 231 | / match *err { [INFO] [stderr] 232 | | Error::Expected(ref m) => match *m { [INFO] [stderr] 233 | | Info::Owned(ref m) => { [INFO] [stderr] 234 | | msg.push_str(m); [INFO] [stderr] ... | [INFO] [stderr] 244 | | _ => {} [INFO] [stderr] 245 | | } [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] 231 | if let Error::Expected(ref m) = *err { match *m { [INFO] [stderr] 232 | Info::Owned(ref m) => { [INFO] [stderr] 233 | msg.push_str(m); [INFO] [stderr] 234 | } [INFO] [stderr] 235 | Info::Borrowed(m) => { [INFO] [stderr] 236 | msg.push_str(m); [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 21.69s [INFO] running `"docker" "inspect" "fc195361688cb1e2bd0d8dcd88566755bc46b2bd2eef569d9fc45b966ad3dd8a"` [INFO] running `"docker" "rm" "-f" "fc195361688cb1e2bd0d8dcd88566755bc46b2bd2eef569d9fc45b966ad3dd8a"` [INFO] [stdout] fc195361688cb1e2bd0d8dcd88566755bc46b2bd2eef569d9fc45b966ad3dd8a