[INFO] crate perplex 0.4.1 is already in cache [INFO] extracting crate perplex 0.4.1 into work/ex/clippy-test-run/sources/stable/reg/perplex/0.4.1 [INFO] extracting crate perplex 0.4.1 into work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/perplex/0.4.1 [INFO] validating manifest of perplex-0.4.1 on toolchain stable [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] validating manifest of perplex-0.4.1 on toolchain stable+rustflags=-Dclippy::into_iter_on_array [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] started frobbing perplex-0.4.1 [INFO] finished frobbing perplex-0.4.1 [INFO] frobbed toml for perplex-0.4.1 written to work/ex/clippy-test-run/sources/stable/reg/perplex/0.4.1/Cargo.toml [INFO] started frobbing perplex-0.4.1 [INFO] finished frobbing perplex-0.4.1 [INFO] frobbed toml for perplex-0.4.1 written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/perplex/0.4.1/Cargo.toml [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] linting perplex-0.4.1 against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-1/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/reg/perplex/0.4.1:/opt/crater/workdir:ro,Z" "-v" "/mnt/big/crater/work/local/cargo-home:/opt/crater/cargo-home:ro,Z" "-v" "/mnt/big/crater/work/local/rustup-home:/opt/crater/rustup-home:ro,Z" "-e" "USER_ID=1000" "-e" "SOURCE_DIR=/opt/crater/workdir" "-e" "MAP_USER_ID=1000" "-e" "CARGO_TARGET_DIR=/opt/crater/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/crater/cargo-home" "-e" "RUSTUP_HOME=/opt/crater/rustup-home" "-w" "/opt/crater/workdir" "-m" "1536M" "--network" "none" "rustops/crates-build-env" "/opt/crater/cargo-home/bin/cargo" "+stable" "clippy" "--frozen" "--all" "--all-targets"` [INFO] [stdout] ddb5aa79f8e62ca624bc1d1804983800b5a7e52bcbeaea2c08719673d0094130 [INFO] running `"docker" "start" "-a" "ddb5aa79f8e62ca624bc1d1804983800b5a7e52bcbeaea2c08719673d0094130"` [INFO] [stderr] Checking perplex-runtime v0.1.1 [INFO] [stderr] Checking perplex v0.4.1 (/opt/crater/workdir) [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/grammar.rs:225:13 [INFO] [stderr] | [INFO] [stderr] 225 | 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: redundant field names in struct initialization [INFO] [stderr] --> src/grammar.rs:226:13 [INFO] [stderr] | [INFO] [stderr] 226 | symbols: symbols, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `symbols` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/item_set.rs:122:13 [INFO] [stderr] | [INFO] [stderr] 122 | id: id, [INFO] [stderr] | ^^^^^^ help: replace it with: `id` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: using `write!()` with a format string that ends in a single newline, consider using `writeln!()` instead [INFO] [stderr] --> src/item_set.rs:243:17 [INFO] [stderr] | [INFO] [stderr] 243 | write!(f, "\n")?; [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: redundant field names in struct initialization [INFO] [stderr] --> src/machine.rs:67:29 [INFO] [stderr] | [INFO] [stderr] 67 | id: id, [INFO] [stderr] | ^^^^^^ help: replace it with: `id` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/backend.rs:109:9 [INFO] [stderr] | [INFO] [stderr] 109 | grammar: grammar, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `grammar` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/backend.rs:110:9 [INFO] [stderr] | [INFO] [stderr] 110 | backend: backend, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `backend` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: using `write!()` with a format string that ends in a single newline, consider using `writeln!()` instead [INFO] [stderr] --> src/backend.rs:112:5 [INFO] [stderr] | [INFO] [stderr] 112 | write!(into, "// Code automatically generated by perplex.\n")?; [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/backend.rs:121:9 [INFO] [stderr] | [INFO] [stderr] 121 | / write!( [INFO] [stderr] 122 | | into, [INFO] [stderr] 123 | | " {}({}),\n", [INFO] [stderr] 124 | | cache.nonterminal_name(ntid), [INFO] [stderr] 125 | | cache.nonterminal_type(ntid) [INFO] [stderr] 126 | | )?; [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/backend.rs:128:5 [INFO] [stderr] | [INFO] [stderr] 128 | write!(into, "}}\n")?; [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/backend.rs:132:9 [INFO] [stderr] | [INFO] [stderr] 132 | write!(into, " #[inline(always)]\n")?; [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/backend.rs:133:9 [INFO] [stderr] | [INFO] [stderr] 133 | / write!( [INFO] [stderr] 134 | | into, [INFO] [stderr] 135 | | " fn {}(self) -> {} {{\n", [INFO] [stderr] 136 | | cache.nonterminal_unwrap(ntid), [INFO] [stderr] 137 | | cache.nonterminal_type(ntid) [INFO] [stderr] 138 | | )?; [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/backend.rs:139:9 [INFO] [stderr] | [INFO] [stderr] 139 | write!(into, " match self {{\n")?; [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/backend.rs:140:9 [INFO] [stderr] | [INFO] [stderr] 140 | / write!( [INFO] [stderr] 141 | | into, [INFO] [stderr] 142 | | " Nonterminal::{}(nt) => nt,\n", [INFO] [stderr] 143 | | cache.nonterminal_name(ntid) [INFO] [stderr] 144 | | )?; [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/backend.rs:145:9 [INFO] [stderr] | [INFO] [stderr] 145 | / write!( [INFO] [stderr] 146 | | into, [INFO] [stderr] 147 | | " _ => panic!(\"expected nonterminal `{}`\"),\n", [INFO] [stderr] 148 | | cache.nonterminal_type(ntid) [INFO] [stderr] 149 | | )?; [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/backend.rs:150:9 [INFO] [stderr] | [INFO] [stderr] 150 | write!(into, " }}\n")?; [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/backend.rs:151:9 [INFO] [stderr] | [INFO] [stderr] 151 | write!(into, " }}\n")?; [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/backend.rs:153:5 [INFO] [stderr] | [INFO] [stderr] 153 | write!(into, "}}\n")?; [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/backend.rs:155:5 [INFO] [stderr] | [INFO] [stderr] 155 | / write!( [INFO] [stderr] 156 | | into, [INFO] [stderr] 157 | | " fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {{\n" [INFO] [stderr] 158 | | )?; [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/backend.rs:159:5 [INFO] [stderr] | [INFO] [stderr] 159 | write!(into, " match *self {{\n")?; [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/backend.rs:162:9 [INFO] [stderr] | [INFO] [stderr] 162 | / write!( [INFO] [stderr] 163 | | into, [INFO] [stderr] 164 | | " Nonterminal::{}(..) => write!(f, \"{}\"),\n", [INFO] [stderr] 165 | | cache.nonterminal_name(ntid), [INFO] [stderr] 166 | | grammar.nonterminal_name(ntid), [INFO] [stderr] 167 | | )?; [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/backend.rs:169:5 [INFO] [stderr] | [INFO] [stderr] 169 | write!(into, " }}\n")?; [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/backend.rs:170:5 [INFO] [stderr] | [INFO] [stderr] 170 | write!(into, " }}\n")?; [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/backend.rs:171:5 [INFO] [stderr] | [INFO] [stderr] 171 | write!(into, "}}\n")?; [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/backend.rs:198:9 [INFO] [stderr] | [INFO] [stderr] 198 | write!(into, " match *p.peek() {{\n")?; [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/backend.rs:202:21 [INFO] [stderr] | [INFO] [stderr] 202 | / write!( [INFO] [stderr] 203 | | into, [INFO] [stderr] 204 | | " {} => p.shift({}, {}),\n", [INFO] [stderr] 205 | | cache.terminal_pattern(tid), [INFO] [stderr] 206 | | cache.state_fn_name(target_state), [INFO] [stderr] 207 | | cache.reduced_fn_name(target_state) [INFO] [stderr] 208 | | )?; [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/backend.rs:213:25 [INFO] [stderr] | [INFO] [stderr] 213 | write!(into, "p.accept(),\n")?; [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/backend.rs:217:25 [INFO] [stderr] | [INFO] [stderr] 217 | write!(into, "p.reduce({}, |args|{{\n", num)?; [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/backend.rs:218:25 [INFO] [stderr] | [INFO] [stderr] 218 | write!(into, " let mut args = args.into_iter();\n")?; [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/backend.rs:222:57 [INFO] [stderr] | [INFO] [stderr] 222 | Symbol::Terminal(..) => write!(into, ".unwrap_terminal();\n")?, [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/backend.rs:223:62 [INFO] [stderr] | [INFO] [stderr] 223 | Symbol::Nonterminal(ntid) => write!( [INFO] [stderr] | ______________________________________________________________^ [INFO] [stderr] 224 | | into, [INFO] [stderr] 225 | | ".unwrap_nonterminal().unwrap_nt{}();\n", [INFO] [stderr] 226 | | ntid.as_usize() [INFO] [stderr] 227 | | )?, [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/backend.rs:230:25 [INFO] [stderr] | [INFO] [stderr] 230 | / write!( [INFO] [stderr] 231 | | into, [INFO] [stderr] 232 | | " let reduced: {} = {}(\n", [INFO] [stderr] 233 | | cache.nonterminal_type(name), [INFO] [stderr] 234 | | cache.reduction_function(rule_id), [INFO] [stderr] 235 | | )?; [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/backend.rs:237:29 [INFO] [stderr] | [INFO] [stderr] 237 | write!(into, " arg{},\n", i)?; [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/backend.rs:239:25 [INFO] [stderr] | [INFO] [stderr] 239 | write!(into, " );\n")?; [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/backend.rs:240:25 [INFO] [stderr] | [INFO] [stderr] 240 | / write!( [INFO] [stderr] 241 | | into, [INFO] [stderr] 242 | | " Nonterminal::{}(reduced)\n", [INFO] [stderr] 243 | | cache.nonterminal_name(name) [INFO] [stderr] 244 | | )?; [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/backend.rs:245:25 [INFO] [stderr] | [INFO] [stderr] 245 | write!(into, " }}),\n")?; [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/backend.rs:250:9 [INFO] [stderr] | [INFO] [stderr] 250 | / write!( [INFO] [stderr] 251 | | into, [INFO] [stderr] 252 | | " _ => panic!(\"syntax error, unexpected {{:?}}\", p.peek()),\n" [INFO] [stderr] 253 | | )?; [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/backend.rs:254:9 [INFO] [stderr] | [INFO] [stderr] 254 | write!(into, " }};\n")?; [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/backend.rs:255:9 [INFO] [stderr] | [INFO] [stderr] 255 | write!(into, "}}\n")?; [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/backend.rs:263:9 [INFO] [stderr] | [INFO] [stderr] 263 | write!(into, " match nt {{\n")?; [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/backend.rs:269:13 [INFO] [stderr] | [INFO] [stderr] 269 | / write!( [INFO] [stderr] 270 | | into, [INFO] [stderr] 271 | | " Nonterminal::{}(..) => p.goto(nt, {}, {}),\n", [INFO] [stderr] 272 | | cache.nonterminal_name(ntid), [INFO] [stderr] 273 | | cache.state_fn_name(state_id), [INFO] [stderr] 274 | | cache.reduced_fn_name(state_id) [INFO] [stderr] 275 | | )?; [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/backend.rs:277:9 [INFO] [stderr] | [INFO] [stderr] 277 | write!(into, " _ => unreachable!(),\n")?; [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/backend.rs:278:9 [INFO] [stderr] | [INFO] [stderr] 278 | write!(into, " }};\n")?; [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/backend.rs:279:9 [INFO] [stderr] | [INFO] [stderr] 279 | write!(into, "}}\n")?; [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 field names in struct initialization [INFO] [stderr] --> src/parser.rs:125:9 [INFO] [stderr] | [INFO] [stderr] 125 | name: name, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `name` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/parser.rs:136:9 [INFO] [stderr] | [INFO] [stderr] 136 | name: name, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `name` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/parser.rs:195:9 [INFO] [stderr] | [INFO] [stderr] 195 | seq: seq, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `seq` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/parser.rs:202:9 [INFO] [stderr] | [INFO] [stderr] 202 | seq: seq, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `seq` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/glr.rs:56:21 [INFO] [stderr] | [INFO] [stderr] 56 | symbol: symbol, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `symbol` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/glr.rs:373:21 [INFO] [stderr] | [INFO] [stderr] 373 | reconverged: reconverged, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `reconverged` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/grammar.rs:225:13 [INFO] [stderr] | [INFO] [stderr] 225 | 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: redundant field names in struct initialization [INFO] [stderr] --> src/grammar.rs:226:13 [INFO] [stderr] | [INFO] [stderr] 226 | symbols: symbols, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `symbols` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/item_set.rs:122:13 [INFO] [stderr] | [INFO] [stderr] 122 | id: id, [INFO] [stderr] | ^^^^^^ help: replace it with: `id` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: using `write!()` with a format string that ends in a single newline, consider using `writeln!()` instead [INFO] [stderr] --> src/item_set.rs:243:17 [INFO] [stderr] | [INFO] [stderr] 243 | write!(f, "\n")?; [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: redundant field names in struct initialization [INFO] [stderr] --> src/machine.rs:67:29 [INFO] [stderr] | [INFO] [stderr] 67 | id: id, [INFO] [stderr] | ^^^^^^ help: replace it with: `id` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/backend.rs:109:9 [INFO] [stderr] | [INFO] [stderr] 109 | grammar: grammar, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `grammar` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/backend.rs:110:9 [INFO] [stderr] | [INFO] [stderr] 110 | backend: backend, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `backend` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: using `write!()` with a format string that ends in a single newline, consider using `writeln!()` instead [INFO] [stderr] --> src/backend.rs:112:5 [INFO] [stderr] | [INFO] [stderr] 112 | write!(into, "// Code automatically generated by perplex.\n")?; [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/backend.rs:121:9 [INFO] [stderr] | [INFO] [stderr] 121 | / write!( [INFO] [stderr] 122 | | into, [INFO] [stderr] 123 | | " {}({}),\n", [INFO] [stderr] 124 | | cache.nonterminal_name(ntid), [INFO] [stderr] 125 | | cache.nonterminal_type(ntid) [INFO] [stderr] 126 | | )?; [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/backend.rs:128:5 [INFO] [stderr] | [INFO] [stderr] 128 | write!(into, "}}\n")?; [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/backend.rs:132:9 [INFO] [stderr] | [INFO] [stderr] 132 | write!(into, " #[inline(always)]\n")?; [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/backend.rs:133:9 [INFO] [stderr] | [INFO] [stderr] 133 | / write!( [INFO] [stderr] 134 | | into, [INFO] [stderr] 135 | | " fn {}(self) -> {} {{\n", [INFO] [stderr] 136 | | cache.nonterminal_unwrap(ntid), [INFO] [stderr] 137 | | cache.nonterminal_type(ntid) [INFO] [stderr] 138 | | )?; [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/backend.rs:139:9 [INFO] [stderr] | [INFO] [stderr] 139 | write!(into, " match self {{\n")?; [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/backend.rs:140:9 [INFO] [stderr] | [INFO] [stderr] 140 | / write!( [INFO] [stderr] 141 | | into, [INFO] [stderr] 142 | | " Nonterminal::{}(nt) => nt,\n", [INFO] [stderr] 143 | | cache.nonterminal_name(ntid) [INFO] [stderr] 144 | | )?; [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/backend.rs:145:9 [INFO] [stderr] | [INFO] [stderr] 145 | / write!( [INFO] [stderr] 146 | | into, [INFO] [stderr] 147 | | " _ => panic!(\"expected nonterminal `{}`\"),\n", [INFO] [stderr] 148 | | cache.nonterminal_type(ntid) [INFO] [stderr] 149 | | )?; [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/backend.rs:150:9 [INFO] [stderr] | [INFO] [stderr] 150 | write!(into, " }}\n")?; [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/backend.rs:151:9 [INFO] [stderr] | [INFO] [stderr] 151 | write!(into, " }}\n")?; [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/backend.rs:153:5 [INFO] [stderr] | [INFO] [stderr] 153 | write!(into, "}}\n")?; [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/backend.rs:155:5 [INFO] [stderr] | [INFO] [stderr] 155 | / write!( [INFO] [stderr] 156 | | into, [INFO] [stderr] 157 | | " fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {{\n" [INFO] [stderr] 158 | | )?; [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/backend.rs:159:5 [INFO] [stderr] | [INFO] [stderr] 159 | write!(into, " match *self {{\n")?; [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/backend.rs:162:9 [INFO] [stderr] | [INFO] [stderr] 162 | / write!( [INFO] [stderr] 163 | | into, [INFO] [stderr] 164 | | " Nonterminal::{}(..) => write!(f, \"{}\"),\n", [INFO] [stderr] 165 | | cache.nonterminal_name(ntid), [INFO] [stderr] 166 | | grammar.nonterminal_name(ntid), [INFO] [stderr] 167 | | )?; [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/backend.rs:169:5 [INFO] [stderr] | [INFO] [stderr] 169 | write!(into, " }}\n")?; [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/backend.rs:170:5 [INFO] [stderr] | [INFO] [stderr] 170 | write!(into, " }}\n")?; [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/backend.rs:171:5 [INFO] [stderr] | [INFO] [stderr] 171 | write!(into, "}}\n")?; [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/backend.rs:198:9 [INFO] [stderr] | [INFO] [stderr] 198 | write!(into, " match *p.peek() {{\n")?; [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/backend.rs:202:21 [INFO] [stderr] | [INFO] [stderr] 202 | / write!( [INFO] [stderr] 203 | | into, [INFO] [stderr] 204 | | " {} => p.shift({}, {}),\n", [INFO] [stderr] 205 | | cache.terminal_pattern(tid), [INFO] [stderr] 206 | | cache.state_fn_name(target_state), [INFO] [stderr] 207 | | cache.reduced_fn_name(target_state) [INFO] [stderr] 208 | | )?; [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/backend.rs:213:25 [INFO] [stderr] | [INFO] [stderr] 213 | write!(into, "p.accept(),\n")?; [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/backend.rs:217:25 [INFO] [stderr] | [INFO] [stderr] 217 | write!(into, "p.reduce({}, |args|{{\n", num)?; [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/backend.rs:218:25 [INFO] [stderr] | [INFO] [stderr] 218 | write!(into, " let mut args = args.into_iter();\n")?; [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/backend.rs:222:57 [INFO] [stderr] | [INFO] [stderr] 222 | Symbol::Terminal(..) => write!(into, ".unwrap_terminal();\n")?, [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/backend.rs:223:62 [INFO] [stderr] | [INFO] [stderr] 223 | Symbol::Nonterminal(ntid) => write!( [INFO] [stderr] | ______________________________________________________________^ [INFO] [stderr] 224 | | into, [INFO] [stderr] 225 | | ".unwrap_nonterminal().unwrap_nt{}();\n", [INFO] [stderr] 226 | | ntid.as_usize() [INFO] [stderr] 227 | | )?, [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/backend.rs:230:25 [INFO] [stderr] | [INFO] [stderr] 230 | / write!( [INFO] [stderr] 231 | | into, [INFO] [stderr] 232 | | " let reduced: {} = {}(\n", [INFO] [stderr] 233 | | cache.nonterminal_type(name), [INFO] [stderr] 234 | | cache.reduction_function(rule_id), [INFO] [stderr] 235 | | )?; [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/backend.rs:237:29 [INFO] [stderr] | [INFO] [stderr] 237 | write!(into, " arg{},\n", i)?; [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/backend.rs:239:25 [INFO] [stderr] | [INFO] [stderr] 239 | write!(into, " );\n")?; [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/backend.rs:240:25 [INFO] [stderr] | [INFO] [stderr] 240 | / write!( [INFO] [stderr] 241 | | into, [INFO] [stderr] 242 | | " Nonterminal::{}(reduced)\n", [INFO] [stderr] 243 | | cache.nonterminal_name(name) [INFO] [stderr] 244 | | )?; [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/backend.rs:245:25 [INFO] [stderr] | [INFO] [stderr] 245 | write!(into, " }}),\n")?; [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/backend.rs:250:9 [INFO] [stderr] | [INFO] [stderr] 250 | / write!( [INFO] [stderr] 251 | | into, [INFO] [stderr] 252 | | " _ => panic!(\"syntax error, unexpected {{:?}}\", p.peek()),\n" [INFO] [stderr] 253 | | )?; [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/backend.rs:254:9 [INFO] [stderr] | [INFO] [stderr] 254 | write!(into, " }};\n")?; [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/backend.rs:255:9 [INFO] [stderr] | [INFO] [stderr] 255 | write!(into, "}}\n")?; [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/backend.rs:263:9 [INFO] [stderr] | [INFO] [stderr] 263 | write!(into, " match nt {{\n")?; [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/backend.rs:269:13 [INFO] [stderr] | [INFO] [stderr] 269 | / write!( [INFO] [stderr] 270 | | into, [INFO] [stderr] 271 | | " Nonterminal::{}(..) => p.goto(nt, {}, {}),\n", [INFO] [stderr] 272 | | cache.nonterminal_name(ntid), [INFO] [stderr] 273 | | cache.state_fn_name(state_id), [INFO] [stderr] 274 | | cache.reduced_fn_name(state_id) [INFO] [stderr] 275 | | )?; [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/backend.rs:277:9 [INFO] [stderr] | [INFO] [stderr] 277 | write!(into, " _ => unreachable!(),\n")?; [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/backend.rs:278:9 [INFO] [stderr] | [INFO] [stderr] 278 | write!(into, " }};\n")?; [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/backend.rs:279:9 [INFO] [stderr] | [INFO] [stderr] 279 | write!(into, "}}\n")?; [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 field names in struct initialization [INFO] [stderr] --> src/parser.rs:125:9 [INFO] [stderr] | [INFO] [stderr] 125 | name: name, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `name` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/parser.rs:136:9 [INFO] [stderr] | [INFO] [stderr] 136 | name: name, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `name` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/parser.rs:195:9 [INFO] [stderr] | [INFO] [stderr] 195 | seq: seq, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `seq` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/parser.rs:202:9 [INFO] [stderr] | [INFO] [stderr] 202 | seq: seq, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `seq` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/glr.rs:56:21 [INFO] [stderr] | [INFO] [stderr] 56 | symbol: symbol, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `symbol` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/glr.rs:373:21 [INFO] [stderr] | [INFO] [stderr] 373 | reconverged: reconverged, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `reconverged` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: All variants have the same prefix: `Nt` [INFO] [stderr] --> src/parser_states.rs:4:1 [INFO] [stderr] | [INFO] [stderr] 4 | / enum Nonterminal { [INFO] [stderr] 5 | | Nt0(ast::Desc), [INFO] [stderr] 6 | | Nt1(ast::Item), [INFO] [stderr] 7 | | Nt2(ast::TokenDecl), [INFO] [stderr] ... | [INFO] [stderr] 13 | | Nt8(Vec), [INFO] [stderr] 14 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::enum_variant_names)] on by default [INFO] [stderr] = help: remove the prefixes and use full paths to the variants instead of glob imports [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#enum_variant_names [INFO] [stderr] [INFO] [stderr] warning: All variants have the same prefix: `Nt` [INFO] [stderr] --> src/parser_states.rs:4:1 [INFO] [stderr] | [INFO] [stderr] 4 | / enum Nonterminal { [INFO] [stderr] 5 | | Nt0(ast::Desc), [INFO] [stderr] 6 | | Nt1(ast::Item), [INFO] [stderr] 7 | | Nt2(ast::TokenDecl), [INFO] [stderr] ... | [INFO] [stderr] 13 | | Nt8(Vec), [INFO] [stderr] 14 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::enum_variant_names)] on by default [INFO] [stderr] = help: remove the prefixes and use full paths to the variants instead of glob imports [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#enum_variant_names [INFO] [stderr] [INFO] [stderr] warning: you should consider deriving a `Default` implementation for `grammar::Grammar` [INFO] [stderr] --> src/grammar.rs:71:5 [INFO] [stderr] | [INFO] [stderr] 71 | / pub fn new() -> Grammar { [INFO] [stderr] 72 | | Grammar { [INFO] [stderr] 73 | | rules: Vec::new(), [INFO] [stderr] 74 | | nonterms: HashMap::new(), [INFO] [stderr] ... | [INFO] [stderr] 79 | | } [INFO] [stderr] 80 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::new_without_default_derive)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default_derive [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 13 | #[derive(Default)] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you should consider deriving a `Default` implementation for `backend::Backend` [INFO] [stderr] --> src/backend.rs:22:5 [INFO] [stderr] | [INFO] [stderr] 22 | / pub fn new() -> Backend { [INFO] [stderr] 23 | | Backend { [INFO] [stderr] 24 | | term_pats: HashMap::new(), [INFO] [stderr] 25 | | nonterm_types: HashMap::new(), [INFO] [stderr] 26 | | reduction_funcs: HashMap::new(), [INFO] [stderr] 27 | | } [INFO] [stderr] 28 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default_derive [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 14 | #[derive(Default)] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: useless use of `format!` [INFO] [stderr] --> src/backend.rs:173:29 [INFO] [stderr] | [INFO] [stderr] 173 | let parser_constraint = format!("P: Parser"); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using .to_string(): `"P: Parser".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: the function has a cyclomatic complexity of 39 [INFO] [stderr] --> src/honalee.rs:14:1 [INFO] [stderr] | [INFO] [stderr] 14 | / pub(crate) fn construct_item_sets(grammar: &Grammar) -> ItemSets { [INFO] [stderr] 15 | | let mut done_list: Vec = vec![]; [INFO] [stderr] 16 | | let mut todo_list: Vec = vec![]; [INFO] [stderr] 17 | | let mut inc_list: BTreeSet = BTreeSet::::new(); [INFO] [stderr] ... | [INFO] [stderr] 225 | | sets [INFO] [stderr] 226 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cyclomatic_complexity)] on by default [INFO] [stderr] = help: you could split it up into multiple smaller functions [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cyclomatic_complexity [INFO] [stderr] [INFO] [stderr] warning: redundant closure found [INFO] [stderr] --> src/honalee.rs:133:33 [INFO] [stderr] | [INFO] [stderr] 133 | .or_insert_with(|| Vec::new()) [INFO] [stderr] | ^^^^^^^^^^^^^ help: remove closure as shown: `Vec::new` [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: using `clone` on a `Copy` type [INFO] [stderr] --> src/honalee.rs:200:46 [INFO] [stderr] | [INFO] [stderr] 200 | item2.action = Some((symbol.clone(), Action::Shift(new_set.id))); [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try dereferencing it: `*symbol` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::clone_on_copy)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: redundant closure found [INFO] [stderr] --> src/glr.rs:47:33 [INFO] [stderr] | [INFO] [stderr] 47 | .or_insert_with(|| IndexSet::new()) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: remove closure as shown: `IndexSet::new` [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: using `clone` on a `Copy` type [INFO] [stderr] --> src/glr.rs:709:9 [INFO] [stderr] | [INFO] [stderr] 709 | / self.seq [INFO] [stderr] 710 | | .last() [INFO] [stderr] 711 | | .expect("lane has no items, which is forbidden") [INFO] [stderr] 712 | | .clone() [INFO] [stderr] | |____________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] help: try dereferencing it [INFO] [stderr] | [INFO] [stderr] 709 | *self.seq [INFO] [stderr] 710 | .last() [INFO] [stderr] 711 | .expect("lane has no items, which is forbidden") [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you should consider deriving a `Default` implementation for `grammar::Grammar` [INFO] [stderr] --> src/grammar.rs:71:5 [INFO] [stderr] | [INFO] [stderr] 71 | / pub fn new() -> Grammar { [INFO] [stderr] 72 | | Grammar { [INFO] [stderr] 73 | | rules: Vec::new(), [INFO] [stderr] 74 | | nonterms: HashMap::new(), [INFO] [stderr] ... | [INFO] [stderr] 79 | | } [INFO] [stderr] 80 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::new_without_default_derive)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default_derive [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 13 | #[derive(Default)] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: using `println!("")` [INFO] [stderr] --> tests/tribble1.rs:98:9 [INFO] [stderr] | [INFO] [stderr] 98 | println!(""); [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `println!()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::println_empty_string)] on by default [INFO] [stderr] warning: you should consider deriving a `Default` implementation for `backend::Backend` [INFO] [stderr] --> src/backend.rs:22:5 [INFO] [stderr] | [INFO] [stderr] 22 | / pub fn new() -> Backend { [INFO] [stderr] 23 | | Backend { [INFO] [stderr] 24 | | term_pats: HashMap::new(), [INFO] [stderr] 25 | | nonterm_types: HashMap::new(), [INFO] [stderr] 26 | | reduction_funcs: HashMap::new(), [INFO] [stderr] 27 | | } [INFO] [stderr] 28 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default_derive [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 14 | #[derive(Default)] [INFO] [stderr] | [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] --> tests/tribble1.rs:122:13 [INFO] [stderr] | [INFO] [stderr] 122 | state_fn: state_fn, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `state_fn` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_field_names)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> tests/tribble1.rs:123:13 [INFO] [stderr] | [INFO] [stderr] 123 | reduced_fn: reduced_fn, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `reduced_fn` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> tests/tribble1.rs:136:13 [INFO] [stderr] | [INFO] [stderr] 136 | state_fn: state_fn, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `state_fn` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> tests/tribble1.rs:137:13 [INFO] [stderr] | [INFO] [stderr] 137 | reduced_fn: reduced_fn, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `reduced_fn` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: useless use of `format!` [INFO] [stderr] --> src/backend.rs:173:29 [INFO] [stderr] | [INFO] [stderr] 173 | let parser_constraint = format!("P: Parser"); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using .to_string(): `"P: Parser".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: the function has a cyclomatic complexity of 39 [INFO] [stderr] --> src/honalee.rs:14:1 [INFO] [stderr] | [INFO] [stderr] 14 | / pub(crate) fn construct_item_sets(grammar: &Grammar) -> ItemSets { [INFO] [stderr] 15 | | let mut done_list: Vec = vec![]; [INFO] [stderr] 16 | | let mut todo_list: Vec = vec![]; [INFO] [stderr] 17 | | let mut inc_list: BTreeSet = BTreeSet::::new(); [INFO] [stderr] ... | [INFO] [stderr] 225 | | sets [INFO] [stderr] 226 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cyclomatic_complexity)] on by default [INFO] [stderr] = help: you could split it up into multiple smaller functions [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cyclomatic_complexity [INFO] [stderr] [INFO] [stderr] warning: redundant closure found [INFO] [stderr] --> src/honalee.rs:133:33 [INFO] [stderr] | [INFO] [stderr] 133 | .or_insert_with(|| Vec::new()) [INFO] [stderr] | ^^^^^^^^^^^^^ help: remove closure as shown: `Vec::new` [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: using `clone` on a `Copy` type [INFO] [stderr] --> src/honalee.rs:200:46 [INFO] [stderr] | [INFO] [stderr] 200 | item2.action = Some((symbol.clone(), Action::Shift(new_set.id))); [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try dereferencing it: `*symbol` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::clone_on_copy)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] error: this .into_iter() call is equivalent to .iter() and will not move the array [INFO] [stderr] --> src/parser.rs:329:34 [INFO] [stderr] | [INFO] [stderr] 329 | let res = parse_iter(seq.into_iter().cloned()); [INFO] [stderr] | ^^^^^^^^^ help: call directly: `iter` [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::into_iter_on_array)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#into_iter_on_array [INFO] [stderr] [INFO] [stderr] warning: redundant closure found [INFO] [stderr] --> src/glr.rs:47:33 [INFO] [stderr] | [INFO] [stderr] 47 | .or_insert_with(|| IndexSet::new()) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: remove closure as shown: `IndexSet::new` [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: using `clone` on a `Copy` type [INFO] [stderr] --> src/glr.rs:709:9 [INFO] [stderr] | [INFO] [stderr] 709 | / self.seq [INFO] [stderr] 710 | | .last() [INFO] [stderr] 711 | | .expect("lane has no items, which is forbidden") [INFO] [stderr] 712 | | .clone() [INFO] [stderr] | |____________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] help: try dereferencing it [INFO] [stderr] | [INFO] [stderr] 709 | *self.seq [INFO] [stderr] 710 | .last() [INFO] [stderr] 711 | .expect("lane has no items, which is forbidden") [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] error: aborting due to previous error [INFO] [stderr] [INFO] [stderr] error: Could not compile `perplex`. [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] warning: All variants have the same prefix: `Nt` [INFO] [stderr] --> tests/generated/tribble1_parser.rs:4:1 [INFO] [stderr] | [INFO] [stderr] 4 | / enum Nonterminal { [INFO] [stderr] 5 | | Nt0(NodeS), [INFO] [stderr] 6 | | Nt1(NodeA), [INFO] [stderr] 7 | | Nt2(NodeB), [INFO] [stderr] 8 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::enum_variant_names)] on by default [INFO] [stderr] = help: remove the prefixes and use full paths to the variants instead of glob imports [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#enum_variant_names [INFO] [stderr] [INFO] [stderr] warning: You are using an explicit closure for cloning elements [INFO] [stderr] --> tests/tribble1.rs:112:21 [INFO] [stderr] | [INFO] [stderr] 112 | let token = self.input.peek().map(|&t| t).unwrap_or(Token::Eof); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: Consider calling the dedicated `cloned` method: `self.input.peek().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] error: this .into_iter() call is equivalent to .iter() and will not move the array [INFO] [stderr] --> tests/tribble1.rs:200:35 [INFO] [stderr] | [INFO] [stderr] 200 | let res = IterParser::new(seq.into_iter().cloned()).run(); [INFO] [stderr] | ^^^^^^^^^ help: call directly: `iter` [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::into_iter_on_array)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#into_iter_on_array [INFO] [stderr] [INFO] [stderr] error: this .into_iter() call is equivalent to .iter() and will not move the array [INFO] [stderr] --> tests/tribble1.rs:209:35 [INFO] [stderr] | [INFO] [stderr] 209 | let res = IterParser::new(seq.into_iter().cloned()).run(); [INFO] [stderr] | ^^^^^^^^^ help: call directly: `iter` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#into_iter_on_array [INFO] [stderr] [INFO] [stderr] error: this .into_iter() call is equivalent to .iter() and will not move the array [INFO] [stderr] --> tests/tribble1.rs:218:35 [INFO] [stderr] | [INFO] [stderr] 218 | let res = IterParser::new(seq.into_iter().cloned()).run(); [INFO] [stderr] | ^^^^^^^^^ help: call directly: `iter` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#into_iter_on_array [INFO] [stderr] [INFO] [stderr] error: this .into_iter() call is equivalent to .iter() and will not move the array [INFO] [stderr] --> tests/tribble1.rs:227:35 [INFO] [stderr] | [INFO] [stderr] 227 | let res = IterParser::new(seq.into_iter().cloned()).run(); [INFO] [stderr] | ^^^^^^^^^ help: call directly: `iter` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#into_iter_on_array [INFO] [stderr] [INFO] [stderr] error: aborting due to 4 previous errors [INFO] [stderr] [INFO] [stderr] error: Could not compile `perplex`. [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] error: build failed [INFO] running `"docker" "inspect" "ddb5aa79f8e62ca624bc1d1804983800b5a7e52bcbeaea2c08719673d0094130"` [INFO] running `"docker" "rm" "-f" "ddb5aa79f8e62ca624bc1d1804983800b5a7e52bcbeaea2c08719673d0094130"` [INFO] [stdout] ddb5aa79f8e62ca624bc1d1804983800b5a7e52bcbeaea2c08719673d0094130