[INFO] crate logos-derive 0.8.0 is already in cache [INFO] extracting crate logos-derive 0.8.0 into work/ex/clippy-test-run/sources/stable/reg/logos-derive/0.8.0 [INFO] extracting crate logos-derive 0.8.0 into work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/logos-derive/0.8.0 [INFO] validating manifest of logos-derive-0.8.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 logos-derive-0.8.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 logos-derive-0.8.0 [INFO] finished frobbing logos-derive-0.8.0 [INFO] frobbed toml for logos-derive-0.8.0 written to work/ex/clippy-test-run/sources/stable/reg/logos-derive/0.8.0/Cargo.toml [INFO] started frobbing logos-derive-0.8.0 [INFO] finished frobbing logos-derive-0.8.0 [INFO] frobbed toml for logos-derive-0.8.0 written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/logos-derive/0.8.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 logos-derive-0.8.0 against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-2/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/reg/logos-derive/0.8.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] d399182a4bf48b31084aba5b5a41db85388419b9da9e5a093518efc8774f8c38 [INFO] running `"docker" "start" "-a" "d399182a4bf48b31084aba5b5a41db85388419b9da9e5a093518efc8774f8c38"` [INFO] [stderr] Checking syn v0.15.26 [INFO] [stderr] Checking logos-derive v0.8.0 (/opt/crater/workdir) [INFO] [stderr] warning: this `else { if .. }` block can be collapsed [INFO] [stderr] --> src/regex.rs:78:28 [INFO] [stderr] | [INFO] [stderr] 78 | } else { [INFO] [stderr] | ____________________________^ [INFO] [stderr] 79 | | if let Some(node) = Node::from_hir(concat.remove(read)) { [INFO] [stderr] 80 | | nodes.push(node); [INFO] [stderr] 81 | | } [INFO] [stderr] 82 | | } [INFO] [stderr] | |_____________________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::collapsible_if)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 78 | } else if let Some(node) = Node::from_hir(concat.remove(read)) { [INFO] [stderr] 79 | nodes.push(node); [INFO] [stderr] 80 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/regex.rs:218:37 [INFO] [stderr] | [INFO] [stderr] 218 | 0x10FFFF => end = 0xFF as char, [INFO] [stderr] | ^^^^^^^^ help: consider: `0x0010_FFFF` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unreadable_literal)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/regex.rs:340:64 [INFO] [stderr] | [INFO] [stderr] 340 | start < 128 && end > 0 && (end < 128 || end == 0x10FFFF) [INFO] [stderr] | ^^^^^^^^ help: consider: `0x0010_FFFF` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: this `else { if .. }` block can be collapsed [INFO] [stderr] --> src/regex.rs:78:28 [INFO] [stderr] | [INFO] [stderr] 78 | } else { [INFO] [stderr] | ____________________________^ [INFO] [stderr] 79 | | if let Some(node) = Node::from_hir(concat.remove(read)) { [INFO] [stderr] 80 | | nodes.push(node); [INFO] [stderr] 81 | | } [INFO] [stderr] 82 | | } [INFO] [stderr] | |_____________________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::collapsible_if)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 78 | } else if let Some(node) = Node::from_hir(concat.remove(read)) { [INFO] [stderr] 79 | nodes.push(node); [INFO] [stderr] 80 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/regex.rs:218:37 [INFO] [stderr] | [INFO] [stderr] 218 | 0x10FFFF => end = 0xFF as char, [INFO] [stderr] | ^^^^^^^^ help: consider: `0x0010_FFFF` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unreadable_literal)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/regex.rs:340:64 [INFO] [stderr] | [INFO] [stderr] 340 | start < 128 && end > 0 && (end < 128 || end == 0x10FFFF) [INFO] [stderr] | ^^^^^^^^ help: consider: `0x0010_FFFF` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: Err(_) will match all errors, maybe not a good idea [INFO] [stderr] --> src/util.rs:72:9 [INFO] [stderr] | [INFO] [stderr] 72 | Err(_) => panic!("Couldn't parse attribute: {}", quote!(#attr)), [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::match_wild_err_arm)] on by default [INFO] [stderr] = note: to remove this warning, match each error separately or use unreachable macro [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_wild_err_arm [INFO] [stderr] [INFO] [stderr] warning: Err(_) will match all errors, maybe not a good idea [INFO] [stderr] --> src/util.rs:110:9 [INFO] [stderr] | [INFO] [stderr] 110 | Err(_) => panic!("Unable to parse {:?} into a Rust identifier.", ident), [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: to remove this warning, match each error separately or use unreachable macro [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_wild_err_arm [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/tree.rs:146:12 [INFO] [stderr] | [INFO] [stderr] 146 | if fork.arms.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `fork.arms.is_empty()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::len_zero)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: methods called `to_*` usually take self by reference; consider choosing a less ambiguous name [INFO] [stderr] --> src/tree.rs:204:16 [INFO] [stderr] | [INFO] [stderr] 204 | fn to_node(self) -> Option> { [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::wrong_self_convention)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#wrong_self_convention [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/tree.rs:344:41 [INFO] [stderr] | [INFO] [stderr] 344 | self.arms.insert(index, branch.into()); [INFO] [stderr] | ^^^^^^^^^^^^^ help: consider removing `.into()`: `branch` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::identity_conversion)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] [INFO] [stderr] warning: methods called `to_*` usually take self by reference; consider choosing a less ambiguous name [INFO] [stderr] --> src/tree.rs:467:20 [INFO] [stderr] | [INFO] [stderr] 467 | fn to_mut_fork(&mut self) -> &mut Fork<'a> { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#wrong_self_convention [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/tree.rs:529:33 [INFO] [stderr] | [INFO] [stderr] 529 | Node::Fork(fork) if fork.arms.len() == 0 => { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `fork.arms.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: this if-then-else expression returns a bool literal [INFO] [stderr] --> src/tree.rs:574:40 [INFO] [stderr] | [INFO] [stderr] 574 | let exhaustive_nones = if fork.kind == ForkKind::Repeat { true } else { false }; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: you can reduce it to: `fork.kind == ForkKind::Repeat` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_bool)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_bool [INFO] [stderr] [INFO] [stderr] warning: equality checks against false can be replaced by a negation [INFO] [stderr] --> src/regex.rs:99:20 [INFO] [stderr] | [INFO] [stderr] 99 | if repetition.greedy == false { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try simplifying it as shown: `!repetition.greedy` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::bool_comparison)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_comparison [INFO] [stderr] [INFO] [stderr] warning: you probably are missing some parameter in your format string [INFO] [stderr] --> src/regex.rs:107:56 [INFO] [stderr] | [INFO] [stderr] 107 | RepetitionKind::Range(_) => panic!("The '{n,m}' repetition in #[regex] is currently unsupported."), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::panic_params)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#panic_params [INFO] [stderr] [INFO] [stderr] warning: usage of `contains_key` followed by `insert` on a `HashMap` [INFO] [stderr] --> src/generator.rs:45:9 [INFO] [stderr] | [INFO] [stderr] 45 | / if !self.fns_constructed.contains_key(&ptr) { [INFO] [stderr] 46 | | let mut tokens = Vec::new(); [INFO] [stderr] 47 | | tree.get_tokens(&mut tokens); [INFO] [stderr] 48 | | let body = self.tree_to_fn_body(tree.clone()); [INFO] [stderr] ... | [INFO] [stderr] 70 | | self.fns_constructed.insert(ptr, handler); [INFO] [stderr] 71 | | } [INFO] [stderr] | |_________^ help: consider using: `self.fns_constructed.entry(ptr)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::map_entry)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_entry [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a HashMap. Using `[]` is more clear and more concise [INFO] [stderr] --> src/generator.rs:73:23 [INFO] [stderr] | [INFO] [stderr] 73 | let handler = self.fns_constructed.get(&ptr).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `&self.fns_constructed[&ptr]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::get_unwrap)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/generator.rs:280:20 [INFO] [stderr] | [INFO] [stderr] 280 | if fork.arms.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `fork.arms.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/lib.rs:229:5 [INFO] [stderr] | [INFO] [stderr] 229 | TokenStream::from(tokens).into() [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `.into()`: `TokenStream::from(tokens)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] [INFO] [stderr] warning: Err(_) will match all errors, maybe not a good idea [INFO] [stderr] --> src/util.rs:72:9 [INFO] [stderr] | [INFO] [stderr] 72 | Err(_) => panic!("Couldn't parse attribute: {}", quote!(#attr)), [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::match_wild_err_arm)] on by default [INFO] [stderr] = note: to remove this warning, match each error separately or use unreachable macro [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_wild_err_arm [INFO] [stderr] [INFO] [stderr] warning: Err(_) will match all errors, maybe not a good idea [INFO] [stderr] --> src/util.rs:110:9 [INFO] [stderr] | [INFO] [stderr] 110 | Err(_) => panic!("Unable to parse {:?} into a Rust identifier.", ident), [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: to remove this warning, match each error separately or use unreachable macro [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_wild_err_arm [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/tree.rs:146:12 [INFO] [stderr] | [INFO] [stderr] 146 | if fork.arms.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `fork.arms.is_empty()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::len_zero)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: methods called `to_*` usually take self by reference; consider choosing a less ambiguous name [INFO] [stderr] --> src/tree.rs:204:16 [INFO] [stderr] | [INFO] [stderr] 204 | fn to_node(self) -> Option> { [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::wrong_self_convention)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#wrong_self_convention [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/tree.rs:344:41 [INFO] [stderr] | [INFO] [stderr] 344 | self.arms.insert(index, branch.into()); [INFO] [stderr] | ^^^^^^^^^^^^^ help: consider removing `.into()`: `branch` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::identity_conversion)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] [INFO] [stderr] warning: methods called `to_*` usually take self by reference; consider choosing a less ambiguous name [INFO] [stderr] --> src/tree.rs:467:20 [INFO] [stderr] | [INFO] [stderr] 467 | fn to_mut_fork(&mut self) -> &mut Fork<'a> { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#wrong_self_convention [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/tree.rs:529:33 [INFO] [stderr] | [INFO] [stderr] 529 | Node::Fork(fork) if fork.arms.len() == 0 => { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `fork.arms.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: this if-then-else expression returns a bool literal [INFO] [stderr] --> src/tree.rs:574:40 [INFO] [stderr] | [INFO] [stderr] 574 | let exhaustive_nones = if fork.kind == ForkKind::Repeat { true } else { false }; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: you can reduce it to: `fork.kind == ForkKind::Repeat` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_bool)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_bool [INFO] [stderr] [INFO] [stderr] warning: equality checks against false can be replaced by a negation [INFO] [stderr] --> src/regex.rs:99:20 [INFO] [stderr] | [INFO] [stderr] 99 | if repetition.greedy == false { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try simplifying it as shown: `!repetition.greedy` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::bool_comparison)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_comparison [INFO] [stderr] [INFO] [stderr] warning: you probably are missing some parameter in your format string [INFO] [stderr] --> src/regex.rs:107:56 [INFO] [stderr] | [INFO] [stderr] 107 | RepetitionKind::Range(_) => panic!("The '{n,m}' repetition in #[regex] is currently unsupported."), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::panic_params)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#panic_params [INFO] [stderr] [INFO] [stderr] warning: usage of `contains_key` followed by `insert` on a `HashMap` [INFO] [stderr] --> src/generator.rs:45:9 [INFO] [stderr] | [INFO] [stderr] 45 | / if !self.fns_constructed.contains_key(&ptr) { [INFO] [stderr] 46 | | let mut tokens = Vec::new(); [INFO] [stderr] 47 | | tree.get_tokens(&mut tokens); [INFO] [stderr] 48 | | let body = self.tree_to_fn_body(tree.clone()); [INFO] [stderr] ... | [INFO] [stderr] 70 | | self.fns_constructed.insert(ptr, handler); [INFO] [stderr] 71 | | } [INFO] [stderr] | |_________^ help: consider using: `self.fns_constructed.entry(ptr)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::map_entry)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_entry [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a HashMap. Using `[]` is more clear and more concise [INFO] [stderr] --> src/generator.rs:73:23 [INFO] [stderr] | [INFO] [stderr] 73 | let handler = self.fns_constructed.get(&ptr).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `&self.fns_constructed[&ptr]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::get_unwrap)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/generator.rs:280:20 [INFO] [stderr] | [INFO] [stderr] 280 | if fork.arms.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `fork.arms.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/lib.rs:229:5 [INFO] [stderr] | [INFO] [stderr] 229 | TokenStream::from(tokens).into() [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `.into()`: `TokenStream::from(tokens)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 11.82s [INFO] running `"docker" "inspect" "d399182a4bf48b31084aba5b5a41db85388419b9da9e5a093518efc8774f8c38"` [INFO] running `"docker" "rm" "-f" "d399182a4bf48b31084aba5b5a41db85388419b9da9e5a093518efc8774f8c38"` [INFO] [stdout] d399182a4bf48b31084aba5b5a41db85388419b9da9e5a093518efc8774f8c38