[INFO] fetching crate fantasy-cpu-emulator-macros 0.2.0... [INFO] linting fantasy-cpu-emulator-macros-0.2.0 against nightly for clippy-nonminimal_bool-denied [INFO] extracting crate fantasy-cpu-emulator-macros 0.2.0 into /workspace/builds/worker-1-tc1/source [INFO] started tweaking crates.io crate fantasy-cpu-emulator-macros 0.2.0 [INFO] finished tweaking crates.io crate fantasy-cpu-emulator-macros 0.2.0 [INFO] tweaked toml for crates.io crate fantasy-cpu-emulator-macros 0.2.0 written to /workspace/builds/worker-1-tc1/source/Cargo.toml [INFO] validating manifest of crates.io crate fantasy-cpu-emulator-macros 0.2.0 on toolchain nightly [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+nightly" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+nightly" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Updating crates.io index [INFO] [stderr] Locking 4 packages to latest compatible versions [INFO] [stderr] Adding syn v1.0.109 (available: v2.0.117) [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+nightly" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] warning: `package.edition` is unspecified, defaulting to `2015` while the latest is `2024` [INFO] [stderr] warning: only one of `license` or `license-file` is necessary [INFO] [stderr] `license` should be used if the package license can be expressed with a standard SPDX expression. [INFO] [stderr] `license-file` should be used if the package uses a non-standard license. [INFO] [stderr] See https://doc.rust-lang.org/cargo/reference/manifest.html#the-license-and-license-file-fields for more information. [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+nightly" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 7999c39a450c8c43d5807f32442d7931d78853346e96df6885480162fc25a0bb [INFO] running `Command { std: "docker" "start" "-a" "7999c39a450c8c43d5807f32442d7931d78853346e96df6885480162fc25a0bb", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "7999c39a450c8c43d5807f32442d7931d78853346e96df6885480162fc25a0bb", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "7999c39a450c8c43d5807f32442d7931d78853346e96df6885480162fc25a0bb", kill_on_drop: false }` [INFO] [stdout] 7999c39a450c8c43d5807f32442d7931d78853346e96df6885480162fc25a0bb [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+nightly" "clippy" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 34f20b50b32ff3afb68bf484dfea700597d57c318e1074267f1ea77095918988 [INFO] running `Command { std: "docker" "start" "-a" "34f20b50b32ff3afb68bf484dfea700597d57c318e1074267f1ea77095918988", kill_on_drop: false }` [INFO] [stderr] warning: `package.edition` is unspecified, defaulting to `2015` while the latest is `2024` [INFO] [stderr] warning: only one of `license` or `license-file` is necessary [INFO] [stderr] `license` should be used if the package license can be expressed with a standard SPDX expression. [INFO] [stderr] `license-file` should be used if the package uses a non-standard license. [INFO] [stderr] See https://doc.rust-lang.org/cargo/reference/manifest.html#the-license-and-license-file-fields for more information. [INFO] [stderr] Compiling syn v1.0.109 [INFO] [stderr] Checking unicode-ident v1.0.24 [INFO] [stderr] Compiling quote v1.0.45 [INFO] [stderr] Compiling proc-macro2 v1.0.106 [INFO] [stderr] Checking fantasy-cpu-emulator-macros v0.2.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `quote::ToTokens` [INFO] [stdout] --> src/lib.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use quote::ToTokens; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Attribute`, `PathSegment`, and `parse` [INFO] [stdout] --> src/lib.rs:9:11 [INFO] [stdout] | [INFO] [stdout] 9 | use syn::{parse, Attribute, PathSegment, Result, Token}; [INFO] [stdout] | ^^^^^ ^^^^^^^^^ ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Expr`, `Type`, and `Visibility` [INFO] [stdout] --> src/lib.rs:12:11 [INFO] [stdout] | [INFO] [stdout] 12 | use syn::{Expr, Ident, Type, Visibility}; [INFO] [stdout] | ^^^^ ^^^^ ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `while` condition [INFO] [stdout] --> src/lib.rs:72:10 [INFO] [stdout] | [INFO] [stdout] 72 | while(!(input.peek(H2) || input.is_empty())) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 72 - while(!(input.peek(H2) || input.is_empty())) { [INFO] [stdout] 72 + while !(input.peek(H2) || input.is_empty()) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/lib.rs:77:10 [INFO] [stdout] | [INFO] [stdout] 77 | if (input.peek(Token![=])) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 77 - if (input.peek(Token![=])) { [INFO] [stdout] 77 + if input.peek(Token![=]) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/lib.rs:80:37 [INFO] [stdout] | [INFO] [stdout] 80 | pipelines.push( Pipe::Use { fn_name: fn_name, module_name: module_name, real: real } ); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: replace it with: `fn_name` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] = note: `#[warn(clippy::redundant_field_names)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/lib.rs:80:55 [INFO] [stdout] | [INFO] [stdout] 80 | pipelines.push( Pipe::Use { fn_name: fn_name, module_name: module_name, real: real } ); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `module_name` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/lib.rs:80:81 [INFO] [stdout] | [INFO] [stdout] 80 | pipelines.push( Pipe::Use { fn_name: fn_name, module_name: module_name, real: real } ); [INFO] [stdout] | ^^^^^^^^^^ help: replace it with: `real` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/lib.rs:86:48 [INFO] [stdout] | [INFO] [stdout] 86 | pipelines.push( Pipe::PerInstruction { fn_name: fn_name, module_name: module_name, input: fn_in, output: fn_out } ); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: replace it with: `fn_name` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/lib.rs:86:66 [INFO] [stdout] | [INFO] [stdout] 86 | pipelines.push( Pipe::PerInstruction { fn_name: fn_name, module_name: module_name, input: fn_in, output: fn_out } ); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `module_name` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/lib.rs:89:19 [INFO] [stdout] | [INFO] [stdout] 89 | Ok(Pipeline { pipelines: pipelines }) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `pipelines` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `while` condition [INFO] [stdout] --> src/lib.rs:105:10 [INFO] [stdout] | [INFO] [stdout] 105 | while(input.peek(syn::Ident)) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 105 - while(input.peek(syn::Ident)) { [INFO] [stdout] 105 + while input.peek(syn::Ident) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/lib.rs:124:29 [INFO] [stdout] | [INFO] [stdout] 124 | return Ok(Instruction { name: name, bitpattern: bitpattern, description: description, parts: parts }); [INFO] [stdout] | ^^^^^^^^^^ help: replace it with: `name` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/lib.rs:124:41 [INFO] [stdout] | [INFO] [stdout] 124 | return Ok(Instruction { name: name, bitpattern: bitpattern, description: description, parts: parts }); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `bitpattern` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/lib.rs:124:65 [INFO] [stdout] | [INFO] [stdout] 124 | return Ok(Instruction { name: name, bitpattern: bitpattern, description: description, parts: parts }); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `description` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/lib.rs:124:91 [INFO] [stdout] | [INFO] [stdout] 124 | return Ok(Instruction { name: name, bitpattern: bitpattern, description: description, parts: parts }); [INFO] [stdout] | ^^^^^^^^^^^^ help: replace it with: `parts` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `while` condition [INFO] [stdout] --> src/lib.rs:274:10 [INFO] [stdout] | [INFO] [stdout] 274 | while(!input.peek(Token![,])) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 274 - while(!input.peek(Token![,])) { [INFO] [stdout] 274 + while !input.peek(Token![,]) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/lib.rs:291:28 [INFO] [stdout] | [INFO] [stdout] 291 | return Ok(BitPattern { pat: pat }); [INFO] [stdout] | ^^^^^^^^ help: replace it with: `pat` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `while` condition [INFO] [stdout] --> src/lib.rs:317:10 [INFO] [stdout] | [INFO] [stdout] 317 | while(!(input.peek(H2) || input.is_empty())) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 317 - while(!(input.peek(H2) || input.is_empty())) { [INFO] [stdout] 317 + while !(input.peek(H2) || input.is_empty()) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/lib.rs:320:23 [INFO] [stdout] | [INFO] [stdout] 320 | Ok(Instructions { instructions: instructions }) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `instructions` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `while` condition [INFO] [stdout] --> src/lib.rs:338:14 [INFO] [stdout] | [INFO] [stdout] 338 | while(input.peek(Token![*]) && !input.is_empty()) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 338 - while(input.peek(Token![*]) && !input.is_empty()) { [INFO] [stdout] 338 + while input.peek(Token![*]) && !input.is_empty() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/lib.rs:360:28 [INFO] [stdout] | [INFO] [stdout] 360 | ... return Ok(Memory { name: name, kind: MemoryType::Scratch(ScratchMemory {word_size: word_size.unwrap(), address_size: address_... [INFO] [stdout] | ^^^^^^^^^^ help: replace it with: `name` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `while` condition [INFO] [stdout] --> src/lib.rs:364:14 [INFO] [stdout] | [INFO] [stdout] 364 | while(input.peek(Token![*]) && !input.is_empty()) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 364 - while(input.peek(Token![*]) && !input.is_empty()) { [INFO] [stdout] 364 + while input.peek(Token![*]) && !input.is_empty() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/lib.rs:370:43 [INFO] [stdout] | [INFO] [stdout] 370 | registers.push(RegisterMemory { name: name, width: num }); [INFO] [stdout] | ^^^^^^^^^^ help: replace it with: `name` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/lib.rs:372:29 [INFO] [stdout] | [INFO] [stdout] 372 | return Ok(Memory { name: name, kind: MemoryType::Register(registers) }); [INFO] [stdout] | ^^^^^^^^^^ help: replace it with: `name` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `while` condition [INFO] [stdout] --> src/lib.rs:376:14 [INFO] [stdout] | [INFO] [stdout] 376 | while(input.peek(Token![*]) && !input.is_empty()) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 376 - while(input.peek(Token![*]) && !input.is_empty()) { [INFO] [stdout] 376 + while input.peek(Token![*]) && !input.is_empty() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/lib.rs:383:28 [INFO] [stdout] | [INFO] [stdout] 383 | return Ok(Memory { name: name, kind: MemoryType::State(states) }); [INFO] [stdout] | ^^^^^^^^^^ help: replace it with: `name` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `while` condition [INFO] [stdout] --> src/lib.rs:403:10 [INFO] [stdout] | [INFO] [stdout] 403 | while(input.peek(H2) && !input.is_empty()) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 403 - while(input.peek(H2) && !input.is_empty()) { [INFO] [stdout] 403 + while input.peek(H2) && !input.is_empty() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `while` condition [INFO] [stdout] --> src/lib.rs:417:16 [INFO] [stdout] | [INFO] [stdout] 417 | while(input.peek(Token![-]) && !input.is_empty()) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 417 - while(input.peek(Token![-]) && !input.is_empty()) { [INFO] [stdout] 417 + while input.peek(Token![-]) && !input.is_empty() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `while` condition [INFO] [stdout] --> src/lib.rs:442:16 [INFO] [stdout] | [INFO] [stdout] 442 | while(!(input.peek(H2) || input.is_empty())) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 442 - while(!(input.peek(H2) || input.is_empty())) { [INFO] [stdout] 442 + while !(input.peek(H2) || input.is_empty()) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/lib.rs:451:19 [INFO] [stdout] | [INFO] [stdout] 451 | Ok(ChipInfo { name:name, instruction_width: instruction_width.unwrap(), memories: memories, pipeline: pipeline.unwrap(), instru... [INFO] [stdout] | ^^^^^^^^^ help: replace it with: `name` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/lib.rs:451:77 [INFO] [stdout] | [INFO] [stdout] 451 | Ok(ChipInfo { name:name, instruction_width: instruction_width.unwrap(), memories: memories, pipeline: pipeline.unwrap(), instru... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `memories` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/lib.rs:451:163 [INFO] [stdout] | [INFO] [stdout] 451 | ...wrap(), instructions: instructions.unwrap(), raw: raw }) [INFO] [stdout] | ^^^^^^^^ help: replace it with: `raw` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/lib.rs:456:264 [INFO] [stdout] | [INFO] [stdout] 456 | ...me(Token![:](proc_macro2::Span::call_site())), ty: ty } [INFO] [stdout] | ^^^^^^ help: replace it with: `ty` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/lib.rs:606:48 [INFO] [stdout] | [INFO] [stdout] 606 | let variable_getter: syn::Expr = (syn::parse_quote! { [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 610 | }); [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 606 ~ let variable_getter: syn::Expr = syn::parse_quote! { [INFO] [stdout] 607 | { [INFO] [stdout] 608 | #ty2::from_ne_bytes(#unsigned_container::to_ne_bytes(#shifted_and_masked_safe)) [INFO] [stdout] 609 | } [INFO] [stdout] 610 ~ } ; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/lib.rs:628:48 [INFO] [stdout] | [INFO] [stdout] 628 | let variable_getter: syn::Expr = (syn::parse_quote! { [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 646 | }); [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 628 ~ let variable_getter: syn::Expr = syn::parse_quote! { [INFO] [stdout] 629 | { [INFO] [stdout] ... [INFO] [stdout] 645 | } [INFO] [stdout] 646 ~ } ; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/lib.rs:690:28 [INFO] [stdout] | [INFO] [stdout] 690 | let guard: syn::Expr = (syn::parse_quote! { (((input as u128) & #ands) == #cmp) }); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 690 - let guard: syn::Expr = (syn::parse_quote! { (((input as u128) & #ands) == #cmp) }); [INFO] [stdout] 690 + let guard: syn::Expr = syn::parse_quote! { (((input as u128) & #ands) == #cmp) } ; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/lib.rs:692:29 [INFO] [stdout] | [INFO] [stdout] 692 | let result: syn::Expr = (syn::parse_quote! { super::Instruction::#name(#name { #(#fields),* }) }); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 692 - let result: syn::Expr = (syn::parse_quote! { super::Instruction::#name(#name { #(#fields),* }) }); [INFO] [stdout] 692 + let result: syn::Expr = syn::parse_quote! { super::Instruction::#name(#name { #(#fields),* }) } ; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `quote::ToTokens` [INFO] [stdout] --> src/lib.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use quote::ToTokens; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Attribute`, `PathSegment`, and `parse` [INFO] [stdout] --> src/lib.rs:9:11 [INFO] [stdout] | [INFO] [stdout] 9 | use syn::{parse, Attribute, PathSegment, Result, Token}; [INFO] [stdout] | ^^^^^ ^^^^^^^^^ ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Expr`, `Type`, and `Visibility` [INFO] [stdout] --> src/lib.rs:12:11 [INFO] [stdout] | [INFO] [stdout] 12 | use syn::{Expr, Ident, Type, Visibility}; [INFO] [stdout] | ^^^^ ^^^^ ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `while` condition [INFO] [stdout] --> src/lib.rs:72:10 [INFO] [stdout] | [INFO] [stdout] 72 | while(!(input.peek(H2) || input.is_empty())) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 72 - while(!(input.peek(H2) || input.is_empty())) { [INFO] [stdout] 72 + while !(input.peek(H2) || input.is_empty()) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/lib.rs:77:10 [INFO] [stdout] | [INFO] [stdout] 77 | if (input.peek(Token![=])) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 77 - if (input.peek(Token![=])) { [INFO] [stdout] 77 + if input.peek(Token![=]) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/lib.rs:80:37 [INFO] [stdout] | [INFO] [stdout] 80 | pipelines.push( Pipe::Use { fn_name: fn_name, module_name: module_name, real: real } ); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: replace it with: `fn_name` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] = note: `#[warn(clippy::redundant_field_names)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/lib.rs:80:55 [INFO] [stdout] | [INFO] [stdout] 80 | pipelines.push( Pipe::Use { fn_name: fn_name, module_name: module_name, real: real } ); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `module_name` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/lib.rs:80:81 [INFO] [stdout] | [INFO] [stdout] 80 | pipelines.push( Pipe::Use { fn_name: fn_name, module_name: module_name, real: real } ); [INFO] [stdout] | ^^^^^^^^^^ help: replace it with: `real` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/lib.rs:86:48 [INFO] [stdout] | [INFO] [stdout] 86 | pipelines.push( Pipe::PerInstruction { fn_name: fn_name, module_name: module_name, input: fn_in, output: fn_out } ); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: replace it with: `fn_name` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/lib.rs:86:66 [INFO] [stdout] | [INFO] [stdout] 86 | pipelines.push( Pipe::PerInstruction { fn_name: fn_name, module_name: module_name, input: fn_in, output: fn_out } ); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `module_name` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/lib.rs:89:19 [INFO] [stdout] | [INFO] [stdout] 89 | Ok(Pipeline { pipelines: pipelines }) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `pipelines` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `while` condition [INFO] [stdout] --> src/lib.rs:105:10 [INFO] [stdout] | [INFO] [stdout] 105 | while(input.peek(syn::Ident)) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 105 - while(input.peek(syn::Ident)) { [INFO] [stdout] 105 + while input.peek(syn::Ident) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/lib.rs:124:29 [INFO] [stdout] | [INFO] [stdout] 124 | return Ok(Instruction { name: name, bitpattern: bitpattern, description: description, parts: parts }); [INFO] [stdout] | ^^^^^^^^^^ help: replace it with: `name` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/lib.rs:124:41 [INFO] [stdout] | [INFO] [stdout] 124 | return Ok(Instruction { name: name, bitpattern: bitpattern, description: description, parts: parts }); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `bitpattern` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/lib.rs:124:65 [INFO] [stdout] | [INFO] [stdout] 124 | return Ok(Instruction { name: name, bitpattern: bitpattern, description: description, parts: parts }); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `description` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/lib.rs:124:91 [INFO] [stdout] | [INFO] [stdout] 124 | return Ok(Instruction { name: name, bitpattern: bitpattern, description: description, parts: parts }); [INFO] [stdout] | ^^^^^^^^^^^^ help: replace it with: `parts` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `while` condition [INFO] [stdout] --> src/lib.rs:274:10 [INFO] [stdout] | [INFO] [stdout] 274 | while(!input.peek(Token![,])) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 274 - while(!input.peek(Token![,])) { [INFO] [stdout] 274 + while !input.peek(Token![,]) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/lib.rs:291:28 [INFO] [stdout] | [INFO] [stdout] 291 | return Ok(BitPattern { pat: pat }); [INFO] [stdout] | ^^^^^^^^ help: replace it with: `pat` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `while` condition [INFO] [stdout] --> src/lib.rs:317:10 [INFO] [stdout] | [INFO] [stdout] 317 | while(!(input.peek(H2) || input.is_empty())) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 317 - while(!(input.peek(H2) || input.is_empty())) { [INFO] [stdout] 317 + while !(input.peek(H2) || input.is_empty()) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/lib.rs:320:23 [INFO] [stdout] | [INFO] [stdout] 320 | Ok(Instructions { instructions: instructions }) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `instructions` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `while` condition [INFO] [stdout] --> src/lib.rs:338:14 [INFO] [stdout] | [INFO] [stdout] 338 | while(input.peek(Token![*]) && !input.is_empty()) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 338 - while(input.peek(Token![*]) && !input.is_empty()) { [INFO] [stdout] 338 + while input.peek(Token![*]) && !input.is_empty() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/lib.rs:360:28 [INFO] [stdout] | [INFO] [stdout] 360 | ... return Ok(Memory { name: name, kind: MemoryType::Scratch(ScratchMemory {word_size: word_size.unwrap(), address_size: address_... [INFO] [stdout] | ^^^^^^^^^^ help: replace it with: `name` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `while` condition [INFO] [stdout] --> src/lib.rs:364:14 [INFO] [stdout] | [INFO] [stdout] 364 | while(input.peek(Token![*]) && !input.is_empty()) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 364 - while(input.peek(Token![*]) && !input.is_empty()) { [INFO] [stdout] 364 + while input.peek(Token![*]) && !input.is_empty() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/lib.rs:370:43 [INFO] [stdout] | [INFO] [stdout] 370 | registers.push(RegisterMemory { name: name, width: num }); [INFO] [stdout] | ^^^^^^^^^^ help: replace it with: `name` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/lib.rs:372:29 [INFO] [stdout] | [INFO] [stdout] 372 | return Ok(Memory { name: name, kind: MemoryType::Register(registers) }); [INFO] [stdout] | ^^^^^^^^^^ help: replace it with: `name` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `while` condition [INFO] [stdout] --> src/lib.rs:376:14 [INFO] [stdout] | [INFO] [stdout] 376 | while(input.peek(Token![*]) && !input.is_empty()) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 376 - while(input.peek(Token![*]) && !input.is_empty()) { [INFO] [stdout] 376 + while input.peek(Token![*]) && !input.is_empty() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/lib.rs:383:28 [INFO] [stdout] | [INFO] [stdout] 383 | return Ok(Memory { name: name, kind: MemoryType::State(states) }); [INFO] [stdout] | ^^^^^^^^^^ help: replace it with: `name` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `while` condition [INFO] [stdout] --> src/lib.rs:403:10 [INFO] [stdout] | [INFO] [stdout] 403 | while(input.peek(H2) && !input.is_empty()) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 403 - while(input.peek(H2) && !input.is_empty()) { [INFO] [stdout] 403 + while input.peek(H2) && !input.is_empty() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `while` condition [INFO] [stdout] --> src/lib.rs:417:16 [INFO] [stdout] | [INFO] [stdout] 417 | while(input.peek(Token![-]) && !input.is_empty()) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 417 - while(input.peek(Token![-]) && !input.is_empty()) { [INFO] [stdout] 417 + while input.peek(Token![-]) && !input.is_empty() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `while` condition [INFO] [stdout] --> src/lib.rs:442:16 [INFO] [stdout] | [INFO] [stdout] 442 | while(!(input.peek(H2) || input.is_empty())) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 442 - while(!(input.peek(H2) || input.is_empty())) { [INFO] [stdout] 442 + while !(input.peek(H2) || input.is_empty()) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/lib.rs:451:19 [INFO] [stdout] | [INFO] [stdout] 451 | Ok(ChipInfo { name:name, instruction_width: instruction_width.unwrap(), memories: memories, pipeline: pipeline.unwrap(), instru... [INFO] [stdout] | ^^^^^^^^^ help: replace it with: `name` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/lib.rs:451:77 [INFO] [stdout] | [INFO] [stdout] 451 | Ok(ChipInfo { name:name, instruction_width: instruction_width.unwrap(), memories: memories, pipeline: pipeline.unwrap(), instru... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `memories` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/lib.rs:451:163 [INFO] [stdout] | [INFO] [stdout] 451 | ...wrap(), instructions: instructions.unwrap(), raw: raw }) [INFO] [stdout] | ^^^^^^^^ help: replace it with: `raw` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/lib.rs:456:264 [INFO] [stdout] | [INFO] [stdout] 456 | ...me(Token![:](proc_macro2::Span::call_site())), ty: ty } [INFO] [stdout] | ^^^^^^ help: replace it with: `ty` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/lib.rs:606:48 [INFO] [stdout] | [INFO] [stdout] 606 | let variable_getter: syn::Expr = (syn::parse_quote! { [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 610 | }); [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 606 ~ let variable_getter: syn::Expr = syn::parse_quote! { [INFO] [stdout] 607 | { [INFO] [stdout] 608 | #ty2::from_ne_bytes(#unsigned_container::to_ne_bytes(#shifted_and_masked_safe)) [INFO] [stdout] 609 | } [INFO] [stdout] 610 ~ } ; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/lib.rs:628:48 [INFO] [stdout] | [INFO] [stdout] 628 | let variable_getter: syn::Expr = (syn::parse_quote! { [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 646 | }); [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 628 ~ let variable_getter: syn::Expr = syn::parse_quote! { [INFO] [stdout] 629 | { [INFO] [stdout] ... [INFO] [stdout] 645 | } [INFO] [stdout] 646 ~ } ; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/lib.rs:690:28 [INFO] [stdout] | [INFO] [stdout] 690 | let guard: syn::Expr = (syn::parse_quote! { (((input as u128) & #ands) == #cmp) }); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 690 - let guard: syn::Expr = (syn::parse_quote! { (((input as u128) & #ands) == #cmp) }); [INFO] [stdout] 690 + let guard: syn::Expr = syn::parse_quote! { (((input as u128) & #ands) == #cmp) } ; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/lib.rs:692:29 [INFO] [stdout] | [INFO] [stdout] 692 | let result: syn::Expr = (syn::parse_quote! { super::Instruction::#name(#name { #(#fields),* }) }); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 692 - let result: syn::Expr = (syn::parse_quote! { super::Instruction::#name(#name { #(#fields),* }) }); [INFO] [stdout] 692 + let result: syn::Expr = syn::parse_quote! { super::Instruction::#name(#name { #(#fields),* }) } ; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable statement [INFO] [stdout] --> src/lib.rs:387:5 [INFO] [stdout] | [INFO] [stdout] 333 | / match input.parse::()?.to_string().as_ref() { [INFO] [stdout] 334 | | "scratch" | "Scratch" => { [INFO] [stdout] 335 | | let mut word_size: Option = None; [INFO] [stdout] 336 | | let mut address_size: Option = None; [INFO] [stdout] ... | [INFO] [stdout] 385 | | x => panic!(format!("Expected memory type: scratch or Scratch or register or Register, got {} instead.", x)), [INFO] [stdout] 386 | | }; [INFO] [stdout] | |_____- any code following this `match` expression is unreachable, as all arms diverge [INFO] [stdout] 387 | panic!("Failed to parse memory."); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unreachable statement [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable statement [INFO] [stdout] --> src/lib.rs:387:5 [INFO] [stdout] | [INFO] [stdout] 333 | / match input.parse::()?.to_string().as_ref() { [INFO] [stdout] 334 | | "scratch" | "Scratch" => { [INFO] [stdout] 335 | | let mut word_size: Option = None; [INFO] [stdout] 336 | | let mut address_size: Option = None; [INFO] [stdout] ... | [INFO] [stdout] 385 | | x => panic!(format!("Expected memory type: scratch or Scratch or register or Register, got {} instead.", x)), [INFO] [stdout] 386 | | }; [INFO] [stdout] | |_____- any code following this `match` expression is unreachable, as all arms diverge [INFO] [stdout] 387 | panic!("Failed to parse memory."); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unreachable statement [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Parser` [INFO] [stdout] --> src/lib.rs:10:38 [INFO] [stdout] | [INFO] [stdout] 10 | use syn::parse::{Parse, ParseStream, Parser}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `syn::spanned::Spanned` [INFO] [stdout] --> src/lib.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | use syn::spanned::Spanned; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Parser` [INFO] [stdout] --> src/lib.rs:10:38 [INFO] [stdout] | [INFO] [stdout] 10 | use syn::parse::{Parse, ParseStream, Parser}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `syn::spanned::Spanned` [INFO] [stdout] --> src/lib.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | use syn::spanned::Spanned; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `idx_len` [INFO] [stdout] --> src/lib.rs:160:9 [INFO] [stdout] | [INFO] [stdout] 160 | let idx_len = 64; // Find a better way to do this [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_idx_len` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `qself` [INFO] [stdout] --> src/lib.rs:174:35 [INFO] [stdout] | [INFO] [stdout] 174 | syn::Type::Path(syn::TypePath{qself, path}) => { [INFO] [stdout] | ^^^^^ help: try ignoring the field: `qself: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `bracket_token` [INFO] [stdout] --> src/lib.rs:181:37 [INFO] [stdout] | [INFO] [stdout] 181 | syn::Type::Array(syn::TypeArray{bracket_token, elem, semi_token, len}) => { [INFO] [stdout] | ^^^^^^^^^^^^^ help: try ignoring the field: `bracket_token: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `semi_token` [INFO] [stdout] --> src/lib.rs:181:58 [INFO] [stdout] | [INFO] [stdout] 181 | syn::Type::Array(syn::TypeArray{bracket_token, elem, semi_token, len}) => { [INFO] [stdout] | ^^^^^^^^^^ help: try ignoring the field: `semi_token: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `idx_len` [INFO] [stdout] --> src/lib.rs:160:9 [INFO] [stdout] | [INFO] [stdout] 160 | let idx_len = 64; // Find a better way to do this [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_idx_len` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `qself` [INFO] [stdout] --> src/lib.rs:174:35 [INFO] [stdout] | [INFO] [stdout] 174 | syn::Type::Path(syn::TypePath{qself, path}) => { [INFO] [stdout] | ^^^^^ help: try ignoring the field: `qself: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `bracket_token` [INFO] [stdout] --> src/lib.rs:181:37 [INFO] [stdout] | [INFO] [stdout] 181 | syn::Type::Array(syn::TypeArray{bracket_token, elem, semi_token, len}) => { [INFO] [stdout] | ^^^^^^^^^^^^^ help: try ignoring the field: `bracket_token: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `semi_token` [INFO] [stdout] --> src/lib.rs:181:58 [INFO] [stdout] | [INFO] [stdout] 181 | syn::Type::Array(syn::TypeArray{bracket_token, elem, semi_token, len}) => { [INFO] [stdout] | ^^^^^^^^^^ help: try ignoring the field: `semi_token: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/lib.rs:515:7 [INFO] [stdout] | [INFO] [stdout] 515 | let mut pipelines_with_arms: HashMap> = HashMap::new(); [INFO] [stdout] | ----^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/lib.rs:516:7 [INFO] [stdout] | [INFO] [stdout] 516 | let mut pipelines_with_generated_types: HashMap)> = HashMap... [INFO] [stdout] | ----^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `k` [INFO] [stdout] --> src/lib.rs:814:77 [INFO] [stdout] | [INFO] [stdout] 814 | let decl_types: Vec = rationalised_types.into_iter().map(|(k, v)| v).collect(); [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_k` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `pipelines_with_arms` [INFO] [stdout] --> src/lib.rs:515:7 [INFO] [stdout] | [INFO] [stdout] 515 | let mut pipelines_with_arms: HashMap> = HashMap::new(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pipelines_with_arms` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `pipelines_with_generated_types` [INFO] [stdout] --> src/lib.rs:516:7 [INFO] [stdout] | [INFO] [stdout] 516 | let mut pipelines_with_generated_types: HashMap)> = HashMap... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pipelines_with_generated_types` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `attrs` [INFO] [stdout] --> src/lib.rs:552:35 [INFO] [stdout] | [INFO] [stdout] 552 | PatBit::Var(syn::ExprType{attrs, expr, colon_token, ty}) => { [INFO] [stdout] | ^^^^^ help: try ignoring the field: `attrs: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `colon_token` [INFO] [stdout] --> src/lib.rs:552:48 [INFO] [stdout] | [INFO] [stdout] 552 | PatBit::Var(syn::ExprType{attrs, expr, colon_token, ty}) => { [INFO] [stdout] | ^^^^^^^^^^^ help: try ignoring the field: `colon_token: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `instruction_width` [INFO] [stdout] --> src/lib.rs:658:15 [INFO] [stdout] | [INFO] [stdout] 658 | let instruction_width = chip_info.instruction_width; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_instruction_width` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `chip_name` [INFO] [stdout] --> src/lib.rs:691:9 [INFO] [stdout] | [INFO] [stdout] 691 | let chip_name = quote::format_ident!("{}", chip_info.name.clone()); [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_chip_name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `address_size` [INFO] [stdout] --> src/lib.rs:703:77 [INFO] [stdout] | [INFO] [stdout] 703 | MemoryType::Scratch(ScratchMemory{word_size: word_size, address_size: address_size, words: words}) => { [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_address_size` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/lib.rs:124:5 [INFO] [stdout] | [INFO] [stdout] 124 | return Ok(Instruction { name: name, bitpattern: bitpattern, description: description, parts: parts }); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] = note: `#[warn(clippy::needless_return)]` on by default [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 124 - return Ok(Instruction { name: name, bitpattern: bitpattern, description: description, parts: parts }); [INFO] [stdout] 124 + Ok(Instruction { name: name, bitpattern: bitpattern, description: description, parts: parts }) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/lib.rs:150:3 [INFO] [stdout] | [INFO] [stdout] 150 | return syn::Type::Path(syn::TypePath{q...n::PathArguments::None})).into_iter().collect()}}); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^...^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 150 - return syn::Type::Path(syn::TypePath{qself: None, path: syn::Path{leading_colon: None, segments: vec!(syn::punctuated::Pair::End(syn::PathSegment{ident:syn::Ident::new(name, proc_macro2::Span::call_site()), arguments: syn::PathArguments::None})).into_iter().collect()}}); [INFO] [stdout] 150 + syn::Type::Path(syn::TypePath{qself: None, path: syn::Path{leading_colon: None, segments: vec!(syn::punctuated::Pair::End(syn::PathSegment{ident:syn::Ident::new(name, proc_macro2::Span::call_site()), arguments: syn::PathArguments::None})).into_iter().collect()}}) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/lib.rs:153:3 [INFO] [stdout] | [INFO] [stdout] 153 | return syn::Type::Path(syn::TypePath{q...n::PathArguments::None})).into_iter().collect()}}); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^...^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 153 - return syn::Type::Path(syn::TypePath{qself: None, path: syn::Path{leading_colon: None, segments: vec!(syn::punctuated::Pair::End(syn::PathSegment{ident:syn::Ident::new(&name, proc_macro2::Span::call_site()), arguments: syn::PathArguments::None})).into_iter().collect()}}); [INFO] [stdout] 153 + syn::Type::Path(syn::TypePath{qself: None, path: syn::Path{leading_colon: None, segments: vec!(syn::punctuated::Pair::End(syn::PathSegment{ident:syn::Ident::new(&name, proc_macro2::Span::call_site()), arguments: syn::PathArguments::None})).into_iter().collect()}}) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/lib.rs:156:3 [INFO] [stdout] | [INFO] [stdout] 156 | return syn::Type::Path(syn::TypePath{q...n::PathArguments::None})).into_iter().collect()}}); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^...^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 156 - return syn::Type::Path(syn::TypePath{qself: None, path: syn::Path{leading_colon: None, segments: vec!(syn::punctuated::Pair::Punctuated(syn::PathSegment{ident:syn::Ident::new(&segment1, proc_macro2::Span::call_site()), arguments: syn::PathArguments::None}, Token![::](proc_macro2::Span::call_site())), syn::punctuated::Pair::End(syn::PathSegment{ident:syn::Ident::new(&name, proc_macro2::Span::call_site()), arguments: syn::PathArguments::None})).into_iter().collect()}}); [INFO] [stdout] 156 + syn::Type::Path(syn::TypePath{qself: None, path: syn::Path{leading_colon: None, segments: vec!(syn::punctuated::Pair::Punctuated(syn::PathSegment{ident:syn::Ident::new(&segment1, proc_macro2::Span::call_site()), arguments: syn::PathArguments::None}, Token![::](proc_macro2::Span::call_site())), syn::punctuated::Pair::End(syn::PathSegment{ident:syn::Ident::new(&name, proc_macro2::Span::call_site()), arguments: syn::PathArguments::None})).into_iter().collect()}}) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/lib.rs:176:17 [INFO] [stdout] | [INFO] [stdout] 176 | "i8" => return (ty, 8, true, None), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 176 - "i8" => return (ty, 8, true, None), [INFO] [stdout] 176 + "i8" => (ty, 8, true, None), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/lib.rs:177:17 [INFO] [stdout] | [INFO] [stdout] 177 | "u8" => return (ty, 8, false, None), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 177 - "u8" => return (ty, 8, false, None), [INFO] [stdout] 177 + "u8" => (ty, 8, false, None), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/lib.rs:190:15 [INFO] [stdout] | [INFO] [stdout] 190 | return (IDX.clone(), len, false, Some(("mem".to_string(), IDX, format_ident!("mem")))) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 190 - return (IDX.clone(), len, false, Some(("mem".to_string(), IDX, format_ident!("mem")))) [INFO] [stdout] 190 + (IDX.clone(), len, false, Some(("mem".to_string(), IDX, format_ident!("mem")))) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/lib.rs:200:11 [INFO] [stdout] | [INFO] [stdout] 200 | return (IDX.clone(), len, false, Some(("mem".to_string(), IDX, format_ident!("mem")))) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 200 - return (IDX.clone(), len, false, Some(("mem".to_string(), IDX, format_ident!("mem")))) [INFO] [stdout] 200 + (IDX.clone(), len, false, Some(("mem".to_string(), IDX, format_ident!("mem")))) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/lib.rs:211:13 [INFO] [stdout] | [INFO] [stdout] 211 | return (U128, len, false, None) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 211 - return (U128, len, false, None) [INFO] [stdout] 211 + (U128, len, false, None) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/lib.rs:213:13 [INFO] [stdout] | [INFO] [stdout] 213 | return (mkType2("super".to_string(), format!("U{}", len)), len, false, Some((name, U128, format_ident!("U{}", len)))) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 213 - return (mkType2("super".to_string(), format!("U{}", len)), len, false, Some((name, U128, format_ident!("U{}", len)))) [INFO] [stdout] 213 + (mkType2("super".to_string(), format!("U{}", len)), len, false, Some((name, U128, format_ident!("U{}", len)))) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/lib.rs:515:7 [INFO] [stdout] | [INFO] [stdout] 515 | let mut pipelines_with_arms: HashMap> = HashMap::new(); [INFO] [stdout] | ----^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/lib.rs:516:7 [INFO] [stdout] | [INFO] [stdout] 516 | let mut pipelines_with_generated_types: HashMap)> = HashMap... [INFO] [stdout] | ----^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/lib.rs:215:13 [INFO] [stdout] | [INFO] [stdout] 215 | return (U64, len, false, None) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 215 - return (U64, len, false, None) [INFO] [stdout] 215 + (U64, len, false, None) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/lib.rs:217:13 [INFO] [stdout] | [INFO] [stdout] 217 | return (mkType2("super".to_string(), format!("U{}", len)), len, false, Some((name, U64, format_ident!("U{}", len)))) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 217 - return (mkType2("super".to_string(), format!("U{}", len)), len, false, Some((name, U64, format_ident!("U{}", len)))) [INFO] [stdout] 217 + (mkType2("super".to_string(), format!("U{}", len)), len, false, Some((name, U64, format_ident!("U{}", len)))) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/lib.rs:219:13 [INFO] [stdout] | [INFO] [stdout] 219 | return (U32, len, false, None) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 219 - return (U32, len, false, None) [INFO] [stdout] 219 + (U32, len, false, None) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/lib.rs:221:13 [INFO] [stdout] | [INFO] [stdout] 221 | return (mkType2("super".to_string(), format!("U{}", len)), len, false, Some((name, U32, format_ident!("U{}", len)))) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 221 - return (mkType2("super".to_string(), format!("U{}", len)), len, false, Some((name, U32, format_ident!("U{}", len)))) [INFO] [stdout] 221 + (mkType2("super".to_string(), format!("U{}", len)), len, false, Some((name, U32, format_ident!("U{}", len)))) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/lib.rs:223:13 [INFO] [stdout] | [INFO] [stdout] 223 | return (U16, len, false, None) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 223 - return (U16, len, false, None) [INFO] [stdout] 223 + (U16, len, false, None) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/lib.rs:225:13 [INFO] [stdout] | [INFO] [stdout] 225 | return (mkType2("super".to_string(), format!("U{}", len)), len, false, Some((name, U16, format_ident!("U{}", len)))) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 225 - return (mkType2("super".to_string(), format!("U{}", len)), len, false, Some((name, U16, format_ident!("U{}", len)))) [INFO] [stdout] 225 + (mkType2("super".to_string(), format!("U{}", len)), len, false, Some((name, U16, format_ident!("U{}", len)))) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/lib.rs:227:13 [INFO] [stdout] | [INFO] [stdout] 227 | return (U8, len, false, None) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 227 - return (U8, len, false, None) [INFO] [stdout] 227 + (U8, len, false, None) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/lib.rs:229:13 [INFO] [stdout] | [INFO] [stdout] 229 | return (mkType2("super".to_string(), format!("U{}", len)), len, false, Some((name, U8, format_ident!("U{}", len)))) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 229 - return (mkType2("super".to_string(), format!("U{}", len)), len, false, Some((name, U8, format_ident!("U{}", len)))) [INFO] [stdout] 229 + (mkType2("super".to_string(), format!("U{}", len)), len, false, Some((name, U8, format_ident!("U{}", len)))) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/lib.rs:241:13 [INFO] [stdout] | [INFO] [stdout] 241 | return (I128, len, true, None) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 241 - return (I128, len, true, None) [INFO] [stdout] 241 + (I128, len, true, None) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/lib.rs:243:13 [INFO] [stdout] | [INFO] [stdout] 243 | return (mkType2("super".to_string(), format!("I{}", len)), len, true, Some((name, I128, format_ident!("I{}", len)))) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 243 - return (mkType2("super".to_string(), format!("I{}", len)), len, true, Some((name, I128, format_ident!("I{}", len)))) [INFO] [stdout] 243 + (mkType2("super".to_string(), format!("I{}", len)), len, true, Some((name, I128, format_ident!("I{}", len)))) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/lib.rs:245:13 [INFO] [stdout] | [INFO] [stdout] 245 | return (I64, len, true, None) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 245 - return (I64, len, true, None) [INFO] [stdout] 245 + (I64, len, true, None) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/lib.rs:247:13 [INFO] [stdout] | [INFO] [stdout] 247 | return (mkType2("super".to_string(), format!("I{}", len)), len, true, Some((name, I64, format_ident!("I{}", len)))) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 247 - return (mkType2("super".to_string(), format!("I{}", len)), len, true, Some((name, I64, format_ident!("I{}", len)))) [INFO] [stdout] 247 + (mkType2("super".to_string(), format!("I{}", len)), len, true, Some((name, I64, format_ident!("I{}", len)))) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/lib.rs:249:13 [INFO] [stdout] | [INFO] [stdout] 249 | return (I32, len, true, None) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 249 - return (I32, len, true, None) [INFO] [stdout] 249 + (I32, len, true, None) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/lib.rs:251:13 [INFO] [stdout] | [INFO] [stdout] 251 | return (mkType2("super".to_string(), format!("I{}", len)), len, true, Some((name, I32, format_ident!("I{}", len)))) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 251 - return (mkType2("super".to_string(), format!("I{}", len)), len, true, Some((name, I32, format_ident!("I{}", len)))) [INFO] [stdout] 251 + (mkType2("super".to_string(), format!("I{}", len)), len, true, Some((name, I32, format_ident!("I{}", len)))) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/lib.rs:253:13 [INFO] [stdout] | [INFO] [stdout] 253 | return (I16, len, true, None) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 253 - return (I16, len, true, None) [INFO] [stdout] 253 + (I16, len, true, None) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/lib.rs:255:13 [INFO] [stdout] | [INFO] [stdout] 255 | return (mkType2("super".to_string(), format!("I{}", len)), len, true, Some((name, I16, format_ident!("I{}", len)))) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 255 - return (mkType2("super".to_string(), format!("I{}", len)), len, true, Some((name, I16, format_ident!("I{}", len)))) [INFO] [stdout] 255 + (mkType2("super".to_string(), format!("I{}", len)), len, true, Some((name, I16, format_ident!("I{}", len)))) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/lib.rs:257:13 [INFO] [stdout] | [INFO] [stdout] 257 | return (I8, len, true, None) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 257 - return (I8, len, true, None) [INFO] [stdout] 257 + (I8, len, true, None) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/lib.rs:259:13 [INFO] [stdout] | [INFO] [stdout] 259 | return (mkType2("super".to_string(), format!("I{}", len)), len, true, Some((name, I8, format_ident!("I{}", len)))) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 259 - return (mkType2("super".to_string(), format!("I{}", len)), len, true, Some((name, I8, format_ident!("I{}", len)))) [INFO] [stdout] 259 + (mkType2("super".to_string(), format!("I{}", len)), len, true, Some((name, I8, format_ident!("I{}", len)))) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `k` [INFO] [stdout] --> src/lib.rs:814:77 [INFO] [stdout] | [INFO] [stdout] 814 | let decl_types: Vec = rationalised_types.into_iter().map(|(k, v)| v).collect(); [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_k` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `pipelines_with_arms` [INFO] [stdout] --> src/lib.rs:515:7 [INFO] [stdout] | [INFO] [stdout] 515 | let mut pipelines_with_arms: HashMap> = HashMap::new(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pipelines_with_arms` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `pipelines_with_generated_types` [INFO] [stdout] --> src/lib.rs:516:7 [INFO] [stdout] | [INFO] [stdout] 516 | let mut pipelines_with_generated_types: HashMap)> = HashMap... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pipelines_with_generated_types` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `attrs` [INFO] [stdout] --> src/lib.rs:552:35 [INFO] [stdout] | [INFO] [stdout] 552 | PatBit::Var(syn::ExprType{attrs, expr, colon_token, ty}) => { [INFO] [stdout] | ^^^^^ help: try ignoring the field: `attrs: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `colon_token` [INFO] [stdout] --> src/lib.rs:552:48 [INFO] [stdout] | [INFO] [stdout] 552 | PatBit::Var(syn::ExprType{attrs, expr, colon_token, ty}) => { [INFO] [stdout] | ^^^^^^^^^^^ help: try ignoring the field: `colon_token: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `instruction_width` [INFO] [stdout] --> src/lib.rs:658:15 [INFO] [stdout] | [INFO] [stdout] 658 | let instruction_width = chip_info.instruction_width; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_instruction_width` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `chip_name` [INFO] [stdout] --> src/lib.rs:691:9 [INFO] [stdout] | [INFO] [stdout] 691 | let chip_name = quote::format_ident!("{}", chip_info.name.clone()); [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_chip_name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `address_size` [INFO] [stdout] --> src/lib.rs:703:77 [INFO] [stdout] | [INFO] [stdout] 703 | MemoryType::Scratch(ScratchMemory{word_size: word_size, address_size: address_size, words: words}) => { [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_address_size` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/lib.rs:291:5 [INFO] [stdout] | [INFO] [stdout] 291 | return Ok(BitPattern { pat: pat }); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 291 - return Ok(BitPattern { pat: pat }); [INFO] [stdout] 291 + Ok(BitPattern { pat: pat }) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/lib.rs:124:5 [INFO] [stdout] | [INFO] [stdout] 124 | return Ok(Instruction { name: name, bitpattern: bitpattern, description: description, parts: parts }); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] = note: `#[warn(clippy::needless_return)]` on by default [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 124 - return Ok(Instruction { name: name, bitpattern: bitpattern, description: description, parts: parts }); [INFO] [stdout] 124 + Ok(Instruction { name: name, bitpattern: bitpattern, description: description, parts: parts }) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/lib.rs:410:14 [INFO] [stdout] | [INFO] [stdout] 410 | if !(section_continued == "Assembler") { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `(section_continued != "Assembler")` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] = note: `#[warn(clippy::nonminimal_bool)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/lib.rs:516:43 [INFO] [stdout] | [INFO] [stdout] 516 | let mut pipelines_with_generated_types: HashMap)> = HashMap... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] = note: `#[warn(clippy::type_complexity)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: match expression looks like `matches!` macro [INFO] [stdout] --> src/lib.rs:536:63 [INFO] [stdout] | [INFO] [stdout] 536 | let mut n: usize = instr.bitpattern.pat.iter().filter(|n| match n { PatBit::Var(_) => true, _ => false, }).collect:: true, _ => false, }).collect::>().len(); [INFO] [stdout] 536 + let mut n: usize = instr.bitpattern.pat.iter().filter(|n| matches!(n, PatBit::Var(_))).collect::>().len(); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/lib.rs:541:11 [INFO] [stdout] | [INFO] [stdout] 541 | ands = ands | (1 << idx); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `ands |= (1 << idx)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] = note: `#[warn(clippy::assign_op_pattern)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/lib.rs:545:11 [INFO] [stdout] | [INFO] [stdout] 545 | ands = ands | (1 << idx); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `ands |= (1 << idx)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/lib.rs:546:11 [INFO] [stdout] | [INFO] [stdout] 546 | cmp = cmp | (1 << idx); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `cmp |= (1 << idx)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/lib.rs:150:3 [INFO] [stdout] | [INFO] [stdout] 150 | return syn::Type::Path(syn::TypePath{q...n::PathArguments::None})).into_iter().collect()}}); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^...^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 150 - return syn::Type::Path(syn::TypePath{qself: None, path: syn::Path{leading_colon: None, segments: vec!(syn::punctuated::Pair::End(syn::PathSegment{ident:syn::Ident::new(name, proc_macro2::Span::call_site()), arguments: syn::PathArguments::None})).into_iter().collect()}}); [INFO] [stdout] 150 + syn::Type::Path(syn::TypePath{qself: None, path: syn::Path{leading_colon: None, segments: vec!(syn::punctuated::Pair::End(syn::PathSegment{ident:syn::Ident::new(name, proc_macro2::Span::call_site()), arguments: syn::PathArguments::None})).into_iter().collect()}}) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/lib.rs:153:3 [INFO] [stdout] | [INFO] [stdout] 153 | return syn::Type::Path(syn::TypePath{q...n::PathArguments::None})).into_iter().collect()}}); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^...^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 153 - return syn::Type::Path(syn::TypePath{qself: None, path: syn::Path{leading_colon: None, segments: vec!(syn::punctuated::Pair::End(syn::PathSegment{ident:syn::Ident::new(&name, proc_macro2::Span::call_site()), arguments: syn::PathArguments::None})).into_iter().collect()}}); [INFO] [stdout] 153 + syn::Type::Path(syn::TypePath{qself: None, path: syn::Path{leading_colon: None, segments: vec!(syn::punctuated::Pair::End(syn::PathSegment{ident:syn::Ident::new(&name, proc_macro2::Span::call_site()), arguments: syn::PathArguments::None})).into_iter().collect()}}) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/lib.rs:156:3 [INFO] [stdout] | [INFO] [stdout] 156 | return syn::Type::Path(syn::TypePath{q...n::PathArguments::None})).into_iter().collect()}}); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^...^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 156 - return syn::Type::Path(syn::TypePath{qself: None, path: syn::Path{leading_colon: None, segments: vec!(syn::punctuated::Pair::Punctuated(syn::PathSegment{ident:syn::Ident::new(&segment1, proc_macro2::Span::call_site()), arguments: syn::PathArguments::None}, Token![::](proc_macro2::Span::call_site())), syn::punctuated::Pair::End(syn::PathSegment{ident:syn::Ident::new(&name, proc_macro2::Span::call_site()), arguments: syn::PathArguments::None})).into_iter().collect()}}); [INFO] [stdout] 156 + syn::Type::Path(syn::TypePath{qself: None, path: syn::Path{leading_colon: None, segments: vec!(syn::punctuated::Pair::Punctuated(syn::PathSegment{ident:syn::Ident::new(&segment1, proc_macro2::Span::call_site()), arguments: syn::PathArguments::None}, Token![::](proc_macro2::Span::call_site())), syn::punctuated::Pair::End(syn::PathSegment{ident:syn::Ident::new(&name, proc_macro2::Span::call_site()), arguments: syn::PathArguments::None})).into_iter().collect()}}) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/lib.rs:176:17 [INFO] [stdout] | [INFO] [stdout] 176 | "i8" => return (ty, 8, true, None), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 176 - "i8" => return (ty, 8, true, None), [INFO] [stdout] 176 + "i8" => (ty, 8, true, None), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/lib.rs:177:17 [INFO] [stdout] | [INFO] [stdout] 177 | "u8" => return (ty, 8, false, None), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 177 - "u8" => return (ty, 8, false, None), [INFO] [stdout] 177 + "u8" => (ty, 8, false, None), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/lib.rs:190:15 [INFO] [stdout] | [INFO] [stdout] 190 | return (IDX.clone(), len, false, Some(("mem".to_string(), IDX, format_ident!("mem")))) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 190 - return (IDX.clone(), len, false, Some(("mem".to_string(), IDX, format_ident!("mem")))) [INFO] [stdout] 190 + (IDX.clone(), len, false, Some(("mem".to_string(), IDX, format_ident!("mem")))) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/lib.rs:200:11 [INFO] [stdout] | [INFO] [stdout] 200 | return (IDX.clone(), len, false, Some(("mem".to_string(), IDX, format_ident!("mem")))) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 200 - return (IDX.clone(), len, false, Some(("mem".to_string(), IDX, format_ident!("mem")))) [INFO] [stdout] 200 + (IDX.clone(), len, false, Some(("mem".to_string(), IDX, format_ident!("mem")))) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/lib.rs:211:13 [INFO] [stdout] | [INFO] [stdout] 211 | return (U128, len, false, None) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 211 - return (U128, len, false, None) [INFO] [stdout] 211 + (U128, len, false, None) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/lib.rs:213:13 [INFO] [stdout] | [INFO] [stdout] 213 | return (mkType2("super".to_string(), format!("U{}", len)), len, false, Some((name, U128, format_ident!("U{}", len)))) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 213 - return (mkType2("super".to_string(), format!("U{}", len)), len, false, Some((name, U128, format_ident!("U{}", len)))) [INFO] [stdout] 213 + (mkType2("super".to_string(), format!("U{}", len)), len, false, Some((name, U128, format_ident!("U{}", len)))) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/lib.rs:215:13 [INFO] [stdout] | [INFO] [stdout] 215 | return (U64, len, false, None) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 215 - return (U64, len, false, None) [INFO] [stdout] 215 + (U64, len, false, None) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/lib.rs:217:13 [INFO] [stdout] | [INFO] [stdout] 217 | return (mkType2("super".to_string(), format!("U{}", len)), len, false, Some((name, U64, format_ident!("U{}", len)))) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 217 - return (mkType2("super".to_string(), format!("U{}", len)), len, false, Some((name, U64, format_ident!("U{}", len)))) [INFO] [stdout] 217 + (mkType2("super".to_string(), format!("U{}", len)), len, false, Some((name, U64, format_ident!("U{}", len)))) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/lib.rs:219:13 [INFO] [stdout] | [INFO] [stdout] 219 | return (U32, len, false, None) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 219 - return (U32, len, false, None) [INFO] [stdout] 219 + (U32, len, false, None) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/lib.rs:221:13 [INFO] [stdout] | [INFO] [stdout] 221 | return (mkType2("super".to_string(), format!("U{}", len)), len, false, Some((name, U32, format_ident!("U{}", len)))) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 221 - return (mkType2("super".to_string(), format!("U{}", len)), len, false, Some((name, U32, format_ident!("U{}", len)))) [INFO] [stdout] 221 + (mkType2("super".to_string(), format!("U{}", len)), len, false, Some((name, U32, format_ident!("U{}", len)))) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/lib.rs:223:13 [INFO] [stdout] | [INFO] [stdout] 223 | return (U16, len, false, None) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 223 - return (U16, len, false, None) [INFO] [stdout] 223 + (U16, len, false, None) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/lib.rs:225:13 [INFO] [stdout] | [INFO] [stdout] 225 | return (mkType2("super".to_string(), format!("U{}", len)), len, false, Some((name, U16, format_ident!("U{}", len)))) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 225 - return (mkType2("super".to_string(), format!("U{}", len)), len, false, Some((name, U16, format_ident!("U{}", len)))) [INFO] [stdout] 225 + (mkType2("super".to_string(), format!("U{}", len)), len, false, Some((name, U16, format_ident!("U{}", len)))) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/lib.rs:227:13 [INFO] [stdout] | [INFO] [stdout] 227 | return (U8, len, false, None) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 227 - return (U8, len, false, None) [INFO] [stdout] 227 + (U8, len, false, None) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/lib.rs:229:13 [INFO] [stdout] | [INFO] [stdout] 229 | return (mkType2("super".to_string(), format!("U{}", len)), len, false, Some((name, U8, format_ident!("U{}", len)))) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 229 - return (mkType2("super".to_string(), format!("U{}", len)), len, false, Some((name, U8, format_ident!("U{}", len)))) [INFO] [stdout] 229 + (mkType2("super".to_string(), format!("U{}", len)), len, false, Some((name, U8, format_ident!("U{}", len)))) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/lib.rs:241:13 [INFO] [stdout] | [INFO] [stdout] 241 | return (I128, len, true, None) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 241 - return (I128, len, true, None) [INFO] [stdout] 241 + (I128, len, true, None) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/lib.rs:243:13 [INFO] [stdout] | [INFO] [stdout] 243 | return (mkType2("super".to_string(), format!("I{}", len)), len, true, Some((name, I128, format_ident!("I{}", len)))) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 243 - return (mkType2("super".to_string(), format!("I{}", len)), len, true, Some((name, I128, format_ident!("I{}", len)))) [INFO] [stdout] 243 + (mkType2("super".to_string(), format!("I{}", len)), len, true, Some((name, I128, format_ident!("I{}", len)))) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/lib.rs:245:13 [INFO] [stdout] | [INFO] [stdout] 245 | return (I64, len, true, None) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 245 - return (I64, len, true, None) [INFO] [stdout] 245 + (I64, len, true, None) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/lib.rs:247:13 [INFO] [stdout] | [INFO] [stdout] 247 | return (mkType2("super".to_string(), format!("I{}", len)), len, true, Some((name, I64, format_ident!("I{}", len)))) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 247 - return (mkType2("super".to_string(), format!("I{}", len)), len, true, Some((name, I64, format_ident!("I{}", len)))) [INFO] [stdout] 247 + (mkType2("super".to_string(), format!("I{}", len)), len, true, Some((name, I64, format_ident!("I{}", len)))) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/lib.rs:249:13 [INFO] [stdout] | [INFO] [stdout] 249 | return (I32, len, true, None) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 249 - return (I32, len, true, None) [INFO] [stdout] 249 + (I32, len, true, None) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/lib.rs:251:13 [INFO] [stdout] | [INFO] [stdout] 251 | return (mkType2("super".to_string(), format!("I{}", len)), len, true, Some((name, I32, format_ident!("I{}", len)))) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 251 - return (mkType2("super".to_string(), format!("I{}", len)), len, true, Some((name, I32, format_ident!("I{}", len)))) [INFO] [stdout] 251 + (mkType2("super".to_string(), format!("I{}", len)), len, true, Some((name, I32, format_ident!("I{}", len)))) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/lib.rs:253:13 [INFO] [stdout] | [INFO] [stdout] 253 | return (I16, len, true, None) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 253 - return (I16, len, true, None) [INFO] [stdout] 253 + (I16, len, true, None) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/lib.rs:255:13 [INFO] [stdout] | [INFO] [stdout] 255 | return (mkType2("super".to_string(), format!("I{}", len)), len, true, Some((name, I16, format_ident!("I{}", len)))) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 255 - return (mkType2("super".to_string(), format!("I{}", len)), len, true, Some((name, I16, format_ident!("I{}", len)))) [INFO] [stdout] 255 + (mkType2("super".to_string(), format!("I{}", len)), len, true, Some((name, I16, format_ident!("I{}", len)))) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/lib.rs:257:13 [INFO] [stdout] | [INFO] [stdout] 257 | return (I8, len, true, None) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 257 - return (I8, len, true, None) [INFO] [stdout] 257 + (I8, len, true, None) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/lib.rs:259:13 [INFO] [stdout] | [INFO] [stdout] 259 | return (mkType2("super".to_string(), format!("I{}", len)), len, true, Some((name, I8, format_ident!("I{}", len)))) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 259 - return (mkType2("super".to_string(), format!("I{}", len)), len, true, Some((name, I8, format_ident!("I{}", len)))) [INFO] [stdout] 259 + (mkType2("super".to_string(), format!("I{}", len)), len, true, Some((name, I8, format_ident!("I{}", len)))) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/lib.rs:673:11 [INFO] [stdout] | [INFO] [stdout] 673 | n = n - 1; [INFO] [stdout] | ^^^^^^^^^ help: replace it with: `n -= 1` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/lib.rs:291:5 [INFO] [stdout] | [INFO] [stdout] 291 | return Ok(BitPattern { pat: pat }); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 291 - return Ok(BitPattern { pat: pat }); [INFO] [stdout] 291 + Ok(BitPattern { pat: pat }) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this creates an owned instance just for comparison [INFO] [stdout] --> src/lib.rs:745:33 [INFO] [stdout] | [INFO] [stdout] 745 | if stage.clone() == module_name.to_string() { [INFO] [stdout] | -----------------^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: try: `*module_name == stage.clone()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cmp_owned [INFO] [stdout] = note: `#[warn(clippy::cmp_owned)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/lib.rs:771:60 [INFO] [stdout] | [INFO] [stdout] 771 | let instruction_root_enum: Vec = if instruction_enum.len() == 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `instruction_enum.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] = note: `#[warn(clippy::len_zero)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/lib.rs:781:45 [INFO] [stdout] | [INFO] [stdout] 781 | let instruction_ref: syn::Type = if instruction_enum.len() == 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `instruction_enum.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/lib.rs:410:14 [INFO] [stdout] | [INFO] [stdout] 410 | if !(section_continued == "Assembler") { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `(section_continued != "Assembler")` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] = note: `#[warn(clippy::nonminimal_bool)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/lib.rs:516:43 [INFO] [stdout] | [INFO] [stdout] 516 | let mut pipelines_with_generated_types: HashMap)> = HashMap... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] = note: `#[warn(clippy::type_complexity)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `mkTypeR` should have a snake case name [INFO] [stdout] --> src/lib.rs:149:4 [INFO] [stdout] | [INFO] [stdout] 149 | fn mkTypeR(name: &str) -> syn::Type { [INFO] [stdout] | ^^^^^^^ help: convert the identifier to snake case: `mk_type_r` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `mkType` should have a snake case name [INFO] [stdout] --> src/lib.rs:152:4 [INFO] [stdout] | [INFO] [stdout] 152 | fn mkType(name: String) -> syn::Type { [INFO] [stdout] | ^^^^^^ help: convert the identifier to snake case: `mk_type` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `mkType2` should have a snake case name [INFO] [stdout] --> src/lib.rs:155:4 [INFO] [stdout] | [INFO] [stdout] 155 | fn mkType2(segment1: String, name: String) -> syn::Type { [INFO] [stdout] | ^^^^^^^ help: convert the identifier to snake case: `mk_type2` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `IDX` should have a snake case name [INFO] [stdout] --> src/lib.rs:161:9 [INFO] [stdout] | [INFO] [stdout] 161 | let IDX = mkTypeR("usize"); [INFO] [stdout] | ^^^ help: convert the identifier to snake case: `idx` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `I8` should have a snake case name [INFO] [stdout] --> src/lib.rs:162:9 [INFO] [stdout] | [INFO] [stdout] 162 | let I8: syn::Type = syn::Type::Path(syn::TypePath{qself: None, path: syn::Path{leading_colon: None, segments: vec!(syn::punc... [INFO] [stdout] | ^^ help: convert the identifier to snake case (notice the capitalization): `i8` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `I16` should have a snake case name [INFO] [stdout] --> src/lib.rs:163:9 [INFO] [stdout] | [INFO] [stdout] 163 | let I16: syn::Type = syn::Type::Path(syn::TypePath{qself: None, path: syn::Path{leading_colon: None, segments: vec!(syn::punc... [INFO] [stdout] | ^^^ help: convert the identifier to snake case (notice the capitalization): `i16` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `I32` should have a snake case name [INFO] [stdout] --> src/lib.rs:164:9 [INFO] [stdout] | [INFO] [stdout] 164 | let I32: syn::Type = syn::Type::Path(syn::TypePath{qself: None, path: syn::Path{leading_colon: None, segments: vec!(syn::punc... [INFO] [stdout] | ^^^ help: convert the identifier to snake case (notice the capitalization): `i32` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `I64` should have a snake case name [INFO] [stdout] --> src/lib.rs:165:9 [INFO] [stdout] | [INFO] [stdout] 165 | let I64: syn::Type = syn::Type::Path(syn::TypePath{qself: None, path: syn::Path{leading_colon: None, segments: vec!(syn::punc... [INFO] [stdout] | ^^^ help: convert the identifier to snake case (notice the capitalization): `i64` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `I128` should have a snake case name [INFO] [stdout] --> src/lib.rs:166:9 [INFO] [stdout] | [INFO] [stdout] 166 | let I128: syn::Type = syn::Type::Path(syn::TypePath{qself: None, path: syn::Path{leading_colon: None, segments: vec!(syn::punc... [INFO] [stdout] | ^^^^ help: convert the identifier to snake case (notice the capitalization): `i128` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `U8` should have a snake case name [INFO] [stdout] --> src/lib.rs:167:9 [INFO] [stdout] | [INFO] [stdout] 167 | let U8: syn::Type = syn::Type::Path(syn::TypePath{qself: None, path: syn::Path{leading_colon: None, segments: vec!(syn::punc... [INFO] [stdout] | ^^ help: convert the identifier to snake case (notice the capitalization): `u8` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `U16` should have a snake case name [INFO] [stdout] --> src/lib.rs:168:9 [INFO] [stdout] | [INFO] [stdout] 168 | let U16: syn::Type = syn::Type::Path(syn::TypePath{qself: None, path: syn::Path{leading_colon: None, segments: vec!(syn::punc... [INFO] [stdout] | ^^^ help: convert the identifier to snake case (notice the capitalization): `u16` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `U32` should have a snake case name [INFO] [stdout] --> src/lib.rs:169:9 [INFO] [stdout] | [INFO] [stdout] 169 | let U32: syn::Type = syn::Type::Path(syn::TypePath{qself: None, path: syn::Path{leading_colon: None, segments: vec!(syn::punc... [INFO] [stdout] | ^^^ help: convert the identifier to snake case (notice the capitalization): `u32` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `U64` should have a snake case name [INFO] [stdout] --> src/lib.rs:170:9 [INFO] [stdout] | [INFO] [stdout] 170 | let U64: syn::Type = syn::Type::Path(syn::TypePath{qself: None, path: syn::Path{leading_colon: None, segments: vec!(syn::punc... [INFO] [stdout] | ^^^ help: convert the identifier to snake case (notice the capitalization): `u64` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `U128` should have a snake case name [INFO] [stdout] --> src/lib.rs:171:9 [INFO] [stdout] | [INFO] [stdout] 171 | let U128: syn::Type = syn::Type::Path(syn::TypePath{qself: None, path: syn::Path{leading_colon: None, segments: vec!(syn::punc... [INFO] [stdout] | ^^^^ help: convert the identifier to snake case (notice the capitalization): `u128` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/lib.rs:178:24 [INFO] [stdout] | [INFO] [stdout] 178 | y => panic!(format!("I don't understand {:?}", y)), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: the `panic!()` macro supports formatting, so there's no need for the `format!()` macro here [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: `#[warn(non_fmt_panics)]` (part of `#[warn(rust_2021_compatibility)]`) on by default [INFO] [stdout] help: remove the `format!(..)` macro call [INFO] [stdout] | [INFO] [stdout] 178 - y => panic!(format!("I don't understand {:?}", y)), [INFO] [stdout] 178 + y => panic!("I don't understand {:?}", y), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/lib.rs:188:29 [INFO] [stdout] | [INFO] [stdout] 188 | y => panic!(format!("I don't understand {:?}", y)), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: the `panic!()` macro supports formatting, so there's no need for the `format!()` macro here [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: remove the `format!(..)` macro call [INFO] [stdout] | [INFO] [stdout] 188 - y => panic!(format!("I don't understand {:?}", y)), [INFO] [stdout] 188 + y => panic!("I don't understand {:?}", y), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/lib.rs:192:29 [INFO] [stdout] | [INFO] [stdout] 192 | y => panic!(format!("I don't understand {}", y)), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: the `panic!()` macro supports formatting, so there's no need for the `format!()` macro here [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: remove the `format!(..)` macro call [INFO] [stdout] | [INFO] [stdout] 192 - y => panic!(format!("I don't understand {}", y)), [INFO] [stdout] 192 + y => panic!("I don't understand {}", y), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: match expression looks like `matches!` macro [INFO] [stdout] --> src/lib.rs:536:63 [INFO] [stdout] | [INFO] [stdout] 536 | let mut n: usize = instr.bitpattern.pat.iter().filter(|n| match n { PatBit::Var(_) => true, _ => false, }).collect:: true, _ => false, }).collect::>().len(); [INFO] [stdout] 536 + let mut n: usize = instr.bitpattern.pat.iter().filter(|n| matches!(n, PatBit::Var(_))).collect::>().len(); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/lib.rs:198:25 [INFO] [stdout] | [INFO] [stdout] 198 | y => panic!(format!("I don't understand {:?}", y)), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: the `panic!()` macro supports formatting, so there's no need for the `format!()` macro here [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: remove the `format!(..)` macro call [INFO] [stdout] | [INFO] [stdout] 198 - y => panic!(format!("I don't understand {:?}", y)), [INFO] [stdout] 198 + y => panic!("I don't understand {:?}", y), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/lib.rs:205:25 [INFO] [stdout] | [INFO] [stdout] 205 | y => panic!(format!("I don't understand {:?}", y)), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: the `panic!()` macro supports formatting, so there's no need for the `format!()` macro here [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: remove the `format!(..)` macro call [INFO] [stdout] | [INFO] [stdout] 205 - y => panic!(format!("I don't understand {:?}", y)), [INFO] [stdout] 205 + y => panic!("I don't understand {:?}", y), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/lib.rs:235:25 [INFO] [stdout] | [INFO] [stdout] 235 | y => panic!(format!("I don't understand {:?}", y)), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: the `panic!()` macro supports formatting, so there's no need for the `format!()` macro here [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: remove the `format!(..)` macro call [INFO] [stdout] | [INFO] [stdout] 235 - y => panic!(format!("I don't understand {:?}", y)), [INFO] [stdout] 235 + y => panic!("I don't understand {:?}", y), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/lib.rs:262:25 [INFO] [stdout] | [INFO] [stdout] 262 | x => panic!(format!("I don't understand {:?}", x)), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: the `panic!()` macro supports formatting, so there's no need for the `format!()` macro here [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: remove the `format!(..)` macro call [INFO] [stdout] | [INFO] [stdout] 262 - x => panic!(format!("I don't understand {:?}", x)), [INFO] [stdout] 262 + x => panic!("I don't understand {:?}", x), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/lib.rs:541:11 [INFO] [stdout] | [INFO] [stdout] 541 | ands = ands | (1 << idx); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `ands |= (1 << idx)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] = note: `#[warn(clippy::assign_op_pattern)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/lib.rs:545:11 [INFO] [stdout] | [INFO] [stdout] 545 | ands = ands | (1 << idx); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `ands |= (1 << idx)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/lib.rs:546:11 [INFO] [stdout] | [INFO] [stdout] 546 | cmp = cmp | (1 << idx); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `cmp |= (1 << idx)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/lib.rs:331:5 [INFO] [stdout] | [INFO] [stdout] 331 | input.parse::(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 331 | let _ = input.parse::(); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/lib.rs:350:38 [INFO] [stdout] | [INFO] [stdout] 350 | x => panic!(format!("Expected size, got {}.", x)), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: the `panic!()` macro supports formatting, so there's no need for the `format!()` macro here [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: remove the `format!(..)` macro call [INFO] [stdout] | [INFO] [stdout] 350 - x => panic!(format!("Expected size, got {}.", x)), [INFO] [stdout] 350 + x => panic!("Expected size, got {}.", x), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/lib.rs:353:29 [INFO] [stdout] | [INFO] [stdout] 353 | x => panic!(format!("Expected word or address, got {}.", x)), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: the `panic!()` macro supports formatting, so there's no need for the `format!()` macro here [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: remove the `format!(..)` macro call [INFO] [stdout] | [INFO] [stdout] 353 - x => panic!(format!("Expected word or address, got {}.", x)), [INFO] [stdout] 353 + x => panic!("Expected word or address, got {}.", x), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/lib.rs:357:25 [INFO] [stdout] | [INFO] [stdout] 357 | x => panic!(format!("Expected bit, got {}.", x)), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: the `panic!()` macro supports formatting, so there's no need for the `format!()` macro here [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: remove the `format!(..)` macro call [INFO] [stdout] | [INFO] [stdout] 357 - x => panic!(format!("Expected bit, got {}.", x)), [INFO] [stdout] 357 + x => panic!("Expected bit, got {}.", x), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/lib.rs:385:19 [INFO] [stdout] | [INFO] [stdout] 385 | x => panic!(format!("Expected memory type: scratch or Scratch or register or Register, got {} instead.", x)), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: the `panic!()` macro supports formatting, so there's no need for the `format!()` macro here [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: remove the `format!(..)` macro call [INFO] [stdout] | [INFO] [stdout] 385 - x => panic!(format!("Expected memory type: scratch or Scratch or register or Register, got {} instead.", x)), [INFO] [stdout] 385 + x => panic!("Expected memory type: scratch or Scratch or register or Register, got {} instead.", x), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/lib.rs:411:20 [INFO] [stdout] | [INFO] [stdout] 411 | panic!(format!("Expected Dis/Assembler section, got Dis/{} instead.", section_continued)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: the `panic!()` macro supports formatting, so there's no need for the `format!()` macro here [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: remove the `format!(..)` macro call [INFO] [stdout] | [INFO] [stdout] 411 - panic!(format!("Expected Dis/Assembler section, got Dis/{} instead.", section_continued)); [INFO] [stdout] 411 + panic!("Expected Dis/Assembler section, got Dis/{} instead.", section_continued); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `mkField` should have a snake case name [INFO] [stdout] --> src/lib.rs:455:4 [INFO] [stdout] | [INFO] [stdout] 455 | fn mkField(name: String, ty: syn::Type) -> syn::Field { [INFO] [stdout] | ^^^^^^^ help: convert the identifier to snake case: `mk_field` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `mkFieldPat` should have a snake case name [INFO] [stdout] --> src/lib.rs:458:4 [INFO] [stdout] | [INFO] [stdout] 458 | fn mkFieldPat(name: String, binding: String) -> syn::FieldPat { [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to snake case: `mk_field_pat` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/lib.rs:556:45 [INFO] [stdout] | [INFO] [stdout] 556 | x => panic!(format!("Got {:?}, expected a Path.", x)), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: the `panic!()` macro supports formatting, so there's no need for the `format!()` macro here [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: remove the `format!(..)` macro call [INFO] [stdout] | [INFO] [stdout] 556 - x => panic!(format!("Got {:?}, expected a Path.", x)), [INFO] [stdout] 556 + x => panic!("Got {:?}, expected a Path.", x), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/lib.rs:559:55 [INFO] [stdout] | [INFO] [stdout] 559 | for (decl_name, backing_type, decl_type) in maybe_decl.clone() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(for_loops_over_fallibles)]` on by default [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 559 - for (decl_name, backing_type, decl_type) in maybe_decl.clone() { [INFO] [stdout] 559 + while let Some((decl_name, backing_type, decl_type)) = maybe_decl.clone() { [INFO] [stdout] | [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 559 - for (decl_name, backing_type, decl_type) in maybe_decl.clone() { [INFO] [stdout] 559 + if let Some((decl_name, backing_type, decl_type)) = maybe_decl.clone() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `word_size:` in this pattern is redundant [INFO] [stdout] --> src/lib.rs:703:41 [INFO] [stdout] | [INFO] [stdout] 703 | MemoryType::Scratch(ScratchMemory{word_size: word_size, address_size: address_size, words: words}) => { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: use shorthand field pattern: `word_size` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_shorthand_field_patterns)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `address_size:` in this pattern is redundant [INFO] [stdout] --> src/lib.rs:703:63 [INFO] [stdout] | [INFO] [stdout] 703 | MemoryType::Scratch(ScratchMemory{word_size: word_size, address_size: address_size, words: words}) => { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use shorthand field pattern: `address_size` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `words:` in this pattern is redundant [INFO] [stdout] --> src/lib.rs:703:91 [INFO] [stdout] | [INFO] [stdout] 703 | MemoryType::Scratch(ScratchMemory{word_size: word_size, address_size: address_size, words: words}) => { [INFO] [stdout] | ^^^^^^^^^^^^ help: use shorthand field pattern: `words` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `fn_name:` in this pattern is redundant [INFO] [stdout] --> src/lib.rs:733:30 [INFO] [stdout] | [INFO] [stdout] 733 | Pipe::Use { fn_name: fn_name, module_name: module_name, real: real } => { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: use shorthand field pattern: `fn_name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `module_name:` in this pattern is redundant [INFO] [stdout] --> src/lib.rs:733:48 [INFO] [stdout] | [INFO] [stdout] 733 | Pipe::Use { fn_name: fn_name, module_name: module_name, real: real } => { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: use shorthand field pattern: `module_name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `real:` in this pattern is redundant [INFO] [stdout] --> src/lib.rs:733:74 [INFO] [stdout] | [INFO] [stdout] 733 | Pipe::Use { fn_name: fn_name, module_name: module_name, real: real } => { [INFO] [stdout] | ^^^^^^^^^^ help: use shorthand field pattern: `real` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `fn_name:` in this pattern is redundant [INFO] [stdout] --> src/lib.rs:736:30 [INFO] [stdout] | [INFO] [stdout] 736 | Pipe::PerInstruction { fn_name: fn_name, module_name: module_name, input: input, output: out } => { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: use shorthand field pattern: `fn_name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `module_name:` in this pattern is redundant [INFO] [stdout] --> src/lib.rs:736:48 [INFO] [stdout] | [INFO] [stdout] 736 | Pipe::PerInstruction { fn_name: fn_name, module_name: module_name, input: input, output: out } => { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: use shorthand field pattern: `module_name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `input:` in this pattern is redundant [INFO] [stdout] --> src/lib.rs:736:74 [INFO] [stdout] | [INFO] [stdout] 736 | Pipe::PerInstruction { fn_name: fn_name, module_name: module_name, input: input, output: out } => { [INFO] [stdout] | ^^^^^^^^^^^^ help: use shorthand field pattern: `input` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/lib.rs:673:11 [INFO] [stdout] | [INFO] [stdout] 673 | n = n - 1; [INFO] [stdout] | ^^^^^^^^^ help: replace it with: `n -= 1` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this creates an owned instance just for comparison [INFO] [stdout] --> src/lib.rs:745:33 [INFO] [stdout] | [INFO] [stdout] 745 | if stage.clone() == module_name.to_string() { [INFO] [stdout] | -----------------^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: try: `*module_name == stage.clone()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cmp_owned [INFO] [stdout] = note: `#[warn(clippy::cmp_owned)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/lib.rs:771:60 [INFO] [stdout] | [INFO] [stdout] 771 | let instruction_root_enum: Vec = if instruction_enum.len() == 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `instruction_enum.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] = note: `#[warn(clippy::len_zero)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/lib.rs:781:45 [INFO] [stdout] | [INFO] [stdout] 781 | let instruction_ref: syn::Type = if instruction_enum.len() == 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `instruction_enum.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `mkTypeR` should have a snake case name [INFO] [stdout] --> src/lib.rs:149:4 [INFO] [stdout] | [INFO] [stdout] 149 | fn mkTypeR(name: &str) -> syn::Type { [INFO] [stdout] | ^^^^^^^ help: convert the identifier to snake case: `mk_type_r` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `mkType` should have a snake case name [INFO] [stdout] --> src/lib.rs:152:4 [INFO] [stdout] | [INFO] [stdout] 152 | fn mkType(name: String) -> syn::Type { [INFO] [stdout] | ^^^^^^ help: convert the identifier to snake case: `mk_type` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `mkType2` should have a snake case name [INFO] [stdout] --> src/lib.rs:155:4 [INFO] [stdout] | [INFO] [stdout] 155 | fn mkType2(segment1: String, name: String) -> syn::Type { [INFO] [stdout] | ^^^^^^^ help: convert the identifier to snake case: `mk_type2` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `IDX` should have a snake case name [INFO] [stdout] --> src/lib.rs:161:9 [INFO] [stdout] | [INFO] [stdout] 161 | let IDX = mkTypeR("usize"); [INFO] [stdout] | ^^^ help: convert the identifier to snake case: `idx` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `I8` should have a snake case name [INFO] [stdout] --> src/lib.rs:162:9 [INFO] [stdout] | [INFO] [stdout] 162 | let I8: syn::Type = syn::Type::Path(syn::TypePath{qself: None, path: syn::Path{leading_colon: None, segments: vec!(syn::punc... [INFO] [stdout] | ^^ help: convert the identifier to snake case (notice the capitalization): `i8` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `I16` should have a snake case name [INFO] [stdout] --> src/lib.rs:163:9 [INFO] [stdout] | [INFO] [stdout] 163 | let I16: syn::Type = syn::Type::Path(syn::TypePath{qself: None, path: syn::Path{leading_colon: None, segments: vec!(syn::punc... [INFO] [stdout] | ^^^ help: convert the identifier to snake case (notice the capitalization): `i16` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `I32` should have a snake case name [INFO] [stdout] --> src/lib.rs:164:9 [INFO] [stdout] | [INFO] [stdout] 164 | let I32: syn::Type = syn::Type::Path(syn::TypePath{qself: None, path: syn::Path{leading_colon: None, segments: vec!(syn::punc... [INFO] [stdout] | ^^^ help: convert the identifier to snake case (notice the capitalization): `i32` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `I64` should have a snake case name [INFO] [stdout] --> src/lib.rs:165:9 [INFO] [stdout] | [INFO] [stdout] 165 | let I64: syn::Type = syn::Type::Path(syn::TypePath{qself: None, path: syn::Path{leading_colon: None, segments: vec!(syn::punc... [INFO] [stdout] | ^^^ help: convert the identifier to snake case (notice the capitalization): `i64` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `I128` should have a snake case name [INFO] [stdout] --> src/lib.rs:166:9 [INFO] [stdout] | [INFO] [stdout] 166 | let I128: syn::Type = syn::Type::Path(syn::TypePath{qself: None, path: syn::Path{leading_colon: None, segments: vec!(syn::punc... [INFO] [stdout] | ^^^^ help: convert the identifier to snake case (notice the capitalization): `i128` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `U8` should have a snake case name [INFO] [stdout] --> src/lib.rs:167:9 [INFO] [stdout] | [INFO] [stdout] 167 | let U8: syn::Type = syn::Type::Path(syn::TypePath{qself: None, path: syn::Path{leading_colon: None, segments: vec!(syn::punc... [INFO] [stdout] | ^^ help: convert the identifier to snake case (notice the capitalization): `u8` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `U16` should have a snake case name [INFO] [stdout] --> src/lib.rs:168:9 [INFO] [stdout] | [INFO] [stdout] 168 | let U16: syn::Type = syn::Type::Path(syn::TypePath{qself: None, path: syn::Path{leading_colon: None, segments: vec!(syn::punc... [INFO] [stdout] | ^^^ help: convert the identifier to snake case (notice the capitalization): `u16` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `U32` should have a snake case name [INFO] [stdout] --> src/lib.rs:169:9 [INFO] [stdout] | [INFO] [stdout] 169 | let U32: syn::Type = syn::Type::Path(syn::TypePath{qself: None, path: syn::Path{leading_colon: None, segments: vec!(syn::punc... [INFO] [stdout] | ^^^ help: convert the identifier to snake case (notice the capitalization): `u32` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `U64` should have a snake case name [INFO] [stdout] --> src/lib.rs:170:9 [INFO] [stdout] | [INFO] [stdout] 170 | let U64: syn::Type = syn::Type::Path(syn::TypePath{qself: None, path: syn::Path{leading_colon: None, segments: vec!(syn::punc... [INFO] [stdout] | ^^^ help: convert the identifier to snake case (notice the capitalization): `u64` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `U128` should have a snake case name [INFO] [stdout] --> src/lib.rs:171:9 [INFO] [stdout] | [INFO] [stdout] 171 | let U128: syn::Type = syn::Type::Path(syn::TypePath{qself: None, path: syn::Path{leading_colon: None, segments: vec!(syn::punc... [INFO] [stdout] | ^^^^ help: convert the identifier to snake case (notice the capitalization): `u128` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/lib.rs:178:24 [INFO] [stdout] | [INFO] [stdout] 178 | y => panic!(format!("I don't understand {:?}", y)), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: the `panic!()` macro supports formatting, so there's no need for the `format!()` macro here [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: `#[warn(non_fmt_panics)]` (part of `#[warn(rust_2021_compatibility)]`) on by default [INFO] [stdout] help: remove the `format!(..)` macro call [INFO] [stdout] | [INFO] [stdout] 178 - y => panic!(format!("I don't understand {:?}", y)), [INFO] [stdout] 178 + y => panic!("I don't understand {:?}", y), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/lib.rs:188:29 [INFO] [stdout] | [INFO] [stdout] 188 | y => panic!(format!("I don't understand {:?}", y)), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: the `panic!()` macro supports formatting, so there's no need for the `format!()` macro here [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: remove the `format!(..)` macro call [INFO] [stdout] | [INFO] [stdout] 188 - y => panic!(format!("I don't understand {:?}", y)), [INFO] [stdout] 188 + y => panic!("I don't understand {:?}", y), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/lib.rs:192:29 [INFO] [stdout] | [INFO] [stdout] 192 | y => panic!(format!("I don't understand {}", y)), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: the `panic!()` macro supports formatting, so there's no need for the `format!()` macro here [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: remove the `format!(..)` macro call [INFO] [stdout] | [INFO] [stdout] 192 - y => panic!(format!("I don't understand {}", y)), [INFO] [stdout] 192 + y => panic!("I don't understand {}", y), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/lib.rs:198:25 [INFO] [stdout] | [INFO] [stdout] 198 | y => panic!(format!("I don't understand {:?}", y)), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: the `panic!()` macro supports formatting, so there's no need for the `format!()` macro here [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: remove the `format!(..)` macro call [INFO] [stdout] | [INFO] [stdout] 198 - y => panic!(format!("I don't understand {:?}", y)), [INFO] [stdout] 198 + y => panic!("I don't understand {:?}", y), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/lib.rs:205:25 [INFO] [stdout] | [INFO] [stdout] 205 | y => panic!(format!("I don't understand {:?}", y)), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: the `panic!()` macro supports formatting, so there's no need for the `format!()` macro here [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: remove the `format!(..)` macro call [INFO] [stdout] | [INFO] [stdout] 205 - y => panic!(format!("I don't understand {:?}", y)), [INFO] [stdout] 205 + y => panic!("I don't understand {:?}", y), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/lib.rs:235:25 [INFO] [stdout] | [INFO] [stdout] 235 | y => panic!(format!("I don't understand {:?}", y)), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: the `panic!()` macro supports formatting, so there's no need for the `format!()` macro here [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: remove the `format!(..)` macro call [INFO] [stdout] | [INFO] [stdout] 235 - y => panic!(format!("I don't understand {:?}", y)), [INFO] [stdout] 235 + y => panic!("I don't understand {:?}", y), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/lib.rs:262:25 [INFO] [stdout] | [INFO] [stdout] 262 | x => panic!(format!("I don't understand {:?}", x)), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: the `panic!()` macro supports formatting, so there's no need for the `format!()` macro here [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: remove the `format!(..)` macro call [INFO] [stdout] | [INFO] [stdout] 262 - x => panic!(format!("I don't understand {:?}", x)), [INFO] [stdout] 262 + x => panic!("I don't understand {:?}", x), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/lib.rs:331:5 [INFO] [stdout] | [INFO] [stdout] 331 | input.parse::(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 331 | let _ = input.parse::(); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/lib.rs:350:38 [INFO] [stdout] | [INFO] [stdout] 350 | x => panic!(format!("Expected size, got {}.", x)), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: the `panic!()` macro supports formatting, so there's no need for the `format!()` macro here [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: remove the `format!(..)` macro call [INFO] [stdout] | [INFO] [stdout] 350 - x => panic!(format!("Expected size, got {}.", x)), [INFO] [stdout] 350 + x => panic!("Expected size, got {}.", x), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/lib.rs:353:29 [INFO] [stdout] | [INFO] [stdout] 353 | x => panic!(format!("Expected word or address, got {}.", x)), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: the `panic!()` macro supports formatting, so there's no need for the `format!()` macro here [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: remove the `format!(..)` macro call [INFO] [stdout] | [INFO] [stdout] 353 - x => panic!(format!("Expected word or address, got {}.", x)), [INFO] [stdout] 353 + x => panic!("Expected word or address, got {}.", x), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/lib.rs:357:25 [INFO] [stdout] | [INFO] [stdout] 357 | x => panic!(format!("Expected bit, got {}.", x)), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: the `panic!()` macro supports formatting, so there's no need for the `format!()` macro here [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: remove the `format!(..)` macro call [INFO] [stdout] | [INFO] [stdout] 357 - x => panic!(format!("Expected bit, got {}.", x)), [INFO] [stdout] 357 + x => panic!("Expected bit, got {}.", x), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/lib.rs:385:19 [INFO] [stdout] | [INFO] [stdout] 385 | x => panic!(format!("Expected memory type: scratch or Scratch or register or Register, got {} instead.", x)), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: the `panic!()` macro supports formatting, so there's no need for the `format!()` macro here [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: remove the `format!(..)` macro call [INFO] [stdout] | [INFO] [stdout] 385 - x => panic!(format!("Expected memory type: scratch or Scratch or register or Register, got {} instead.", x)), [INFO] [stdout] 385 + x => panic!("Expected memory type: scratch or Scratch or register or Register, got {} instead.", x), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/lib.rs:411:20 [INFO] [stdout] | [INFO] [stdout] 411 | panic!(format!("Expected Dis/Assembler section, got Dis/{} instead.", section_continued)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: the `panic!()` macro supports formatting, so there's no need for the `format!()` macro here [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: remove the `format!(..)` macro call [INFO] [stdout] | [INFO] [stdout] 411 - panic!(format!("Expected Dis/Assembler section, got Dis/{} instead.", section_continued)); [INFO] [stdout] 411 + panic!("Expected Dis/Assembler section, got Dis/{} instead.", section_continued); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `mkField` should have a snake case name [INFO] [stdout] --> src/lib.rs:455:4 [INFO] [stdout] | [INFO] [stdout] 455 | fn mkField(name: String, ty: syn::Type) -> syn::Field { [INFO] [stdout] | ^^^^^^^ help: convert the identifier to snake case: `mk_field` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `mkFieldPat` should have a snake case name [INFO] [stdout] --> src/lib.rs:458:4 [INFO] [stdout] | [INFO] [stdout] 458 | fn mkFieldPat(name: String, binding: String) -> syn::FieldPat { [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to snake case: `mk_field_pat` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/lib.rs:556:45 [INFO] [stdout] | [INFO] [stdout] 556 | x => panic!(format!("Got {:?}, expected a Path.", x)), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: the `panic!()` macro supports formatting, so there's no need for the `format!()` macro here [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: remove the `format!(..)` macro call [INFO] [stdout] | [INFO] [stdout] 556 - x => panic!(format!("Got {:?}, expected a Path.", x)), [INFO] [stdout] 556 + x => panic!("Got {:?}, expected a Path.", x), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/lib.rs:559:55 [INFO] [stdout] | [INFO] [stdout] 559 | for (decl_name, backing_type, decl_type) in maybe_decl.clone() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(for_loops_over_fallibles)]` on by default [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 559 - for (decl_name, backing_type, decl_type) in maybe_decl.clone() { [INFO] [stdout] 559 + while let Some((decl_name, backing_type, decl_type)) = maybe_decl.clone() { [INFO] [stdout] | [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 559 - for (decl_name, backing_type, decl_type) in maybe_decl.clone() { [INFO] [stdout] 559 + if let Some((decl_name, backing_type, decl_type)) = maybe_decl.clone() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `word_size:` in this pattern is redundant [INFO] [stdout] --> src/lib.rs:703:41 [INFO] [stdout] | [INFO] [stdout] 703 | MemoryType::Scratch(ScratchMemory{word_size: word_size, address_size: address_size, words: words}) => { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: use shorthand field pattern: `word_size` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_shorthand_field_patterns)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `address_size:` in this pattern is redundant [INFO] [stdout] --> src/lib.rs:703:63 [INFO] [stdout] | [INFO] [stdout] 703 | MemoryType::Scratch(ScratchMemory{word_size: word_size, address_size: address_size, words: words}) => { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use shorthand field pattern: `address_size` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `words:` in this pattern is redundant [INFO] [stdout] --> src/lib.rs:703:91 [INFO] [stdout] | [INFO] [stdout] 703 | MemoryType::Scratch(ScratchMemory{word_size: word_size, address_size: address_size, words: words}) => { [INFO] [stdout] | ^^^^^^^^^^^^ help: use shorthand field pattern: `words` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `fn_name:` in this pattern is redundant [INFO] [stdout] --> src/lib.rs:733:30 [INFO] [stdout] | [INFO] [stdout] 733 | Pipe::Use { fn_name: fn_name, module_name: module_name, real: real } => { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: use shorthand field pattern: `fn_name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `module_name:` in this pattern is redundant [INFO] [stdout] --> src/lib.rs:733:48 [INFO] [stdout] | [INFO] [stdout] 733 | Pipe::Use { fn_name: fn_name, module_name: module_name, real: real } => { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: use shorthand field pattern: `module_name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `real:` in this pattern is redundant [INFO] [stdout] --> src/lib.rs:733:74 [INFO] [stdout] | [INFO] [stdout] 733 | Pipe::Use { fn_name: fn_name, module_name: module_name, real: real } => { [INFO] [stdout] | ^^^^^^^^^^ help: use shorthand field pattern: `real` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `fn_name:` in this pattern is redundant [INFO] [stdout] --> src/lib.rs:736:30 [INFO] [stdout] | [INFO] [stdout] 736 | Pipe::PerInstruction { fn_name: fn_name, module_name: module_name, input: input, output: out } => { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: use shorthand field pattern: `fn_name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `module_name:` in this pattern is redundant [INFO] [stdout] --> src/lib.rs:736:48 [INFO] [stdout] | [INFO] [stdout] 736 | Pipe::PerInstruction { fn_name: fn_name, module_name: module_name, input: input, output: out } => { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: use shorthand field pattern: `module_name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `input:` in this pattern is redundant [INFO] [stdout] --> src/lib.rs:736:74 [INFO] [stdout] | [INFO] [stdout] 736 | Pipe::PerInstruction { fn_name: fn_name, module_name: module_name, input: input, output: out } => { [INFO] [stdout] | ^^^^^^^^^^^^ help: use shorthand field pattern: `input` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `quote::ToTokens` [INFO] [stdout] --> src/lib.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use quote::ToTokens; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Attribute`, `PathSegment`, and `parse` [INFO] [stdout] --> src/lib.rs:9:11 [INFO] [stdout] | [INFO] [stdout] 9 | use syn::{parse, Attribute, PathSegment, Result, Token}; [INFO] [stdout] | ^^^^^ ^^^^^^^^^ ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Expr`, `Type`, and `Visibility` [INFO] [stdout] --> src/lib.rs:12:11 [INFO] [stdout] | [INFO] [stdout] 12 | use syn::{Expr, Ident, Type, Visibility}; [INFO] [stdout] | ^^^^ ^^^^ ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `while` condition [INFO] [stdout] --> src/lib.rs:72:10 [INFO] [stdout] | [INFO] [stdout] 72 | while(!(input.peek(H2) || input.is_empty())) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 72 - while(!(input.peek(H2) || input.is_empty())) { [INFO] [stdout] 72 + while !(input.peek(H2) || input.is_empty()) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/lib.rs:77:10 [INFO] [stdout] | [INFO] [stdout] 77 | if (input.peek(Token![=])) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 77 - if (input.peek(Token![=])) { [INFO] [stdout] 77 + if input.peek(Token![=]) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/lib.rs:80:37 [INFO] [stdout] | [INFO] [stdout] 80 | pipelines.push( Pipe::Use { fn_name: fn_name, module_name: module_name, real: real } ); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: replace it with: `fn_name` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] = note: `#[warn(clippy::redundant_field_names)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/lib.rs:80:55 [INFO] [stdout] | [INFO] [stdout] 80 | pipelines.push( Pipe::Use { fn_name: fn_name, module_name: module_name, real: real } ); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `module_name` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/lib.rs:80:81 [INFO] [stdout] | [INFO] [stdout] 80 | pipelines.push( Pipe::Use { fn_name: fn_name, module_name: module_name, real: real } ); [INFO] [stdout] | ^^^^^^^^^^ help: replace it with: `real` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/lib.rs:86:48 [INFO] [stdout] | [INFO] [stdout] 86 | pipelines.push( Pipe::PerInstruction { fn_name: fn_name, module_name: module_name, input: fn_in, output: fn_out } ); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: replace it with: `fn_name` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/lib.rs:86:66 [INFO] [stdout] | [INFO] [stdout] 86 | pipelines.push( Pipe::PerInstruction { fn_name: fn_name, module_name: module_name, input: fn_in, output: fn_out } ); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `module_name` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/lib.rs:89:19 [INFO] [stdout] | [INFO] [stdout] 89 | Ok(Pipeline { pipelines: pipelines }) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `pipelines` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `while` condition [INFO] [stdout] --> src/lib.rs:105:10 [INFO] [stdout] | [INFO] [stdout] 105 | while(input.peek(syn::Ident)) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 105 - while(input.peek(syn::Ident)) { [INFO] [stdout] 105 + while input.peek(syn::Ident) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/lib.rs:124:29 [INFO] [stdout] | [INFO] [stdout] 124 | return Ok(Instruction { name: name, bitpattern: bitpattern, description: description, parts: parts }); [INFO] [stdout] | ^^^^^^^^^^ help: replace it with: `name` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/lib.rs:124:41 [INFO] [stdout] | [INFO] [stdout] 124 | return Ok(Instruction { name: name, bitpattern: bitpattern, description: description, parts: parts }); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `bitpattern` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/lib.rs:124:65 [INFO] [stdout] | [INFO] [stdout] 124 | return Ok(Instruction { name: name, bitpattern: bitpattern, description: description, parts: parts }); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `description` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/lib.rs:124:91 [INFO] [stdout] | [INFO] [stdout] 124 | return Ok(Instruction { name: name, bitpattern: bitpattern, description: description, parts: parts }); [INFO] [stdout] | ^^^^^^^^^^^^ help: replace it with: `parts` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `while` condition [INFO] [stdout] --> src/lib.rs:274:10 [INFO] [stdout] | [INFO] [stdout] 274 | while(!input.peek(Token![,])) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 274 - while(!input.peek(Token![,])) { [INFO] [stdout] 274 + while !input.peek(Token![,]) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/lib.rs:291:28 [INFO] [stdout] | [INFO] [stdout] 291 | return Ok(BitPattern { pat: pat }); [INFO] [stdout] | ^^^^^^^^ help: replace it with: `pat` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `while` condition [INFO] [stdout] --> src/lib.rs:317:10 [INFO] [stdout] | [INFO] [stdout] 317 | while(!(input.peek(H2) || input.is_empty())) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 317 - while(!(input.peek(H2) || input.is_empty())) { [INFO] [stdout] 317 + while !(input.peek(H2) || input.is_empty()) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/lib.rs:320:23 [INFO] [stdout] | [INFO] [stdout] 320 | Ok(Instructions { instructions: instructions }) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `instructions` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `while` condition [INFO] [stdout] --> src/lib.rs:338:14 [INFO] [stdout] | [INFO] [stdout] 338 | while(input.peek(Token![*]) && !input.is_empty()) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 338 - while(input.peek(Token![*]) && !input.is_empty()) { [INFO] [stdout] 338 + while input.peek(Token![*]) && !input.is_empty() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/lib.rs:360:28 [INFO] [stdout] | [INFO] [stdout] 360 | ... return Ok(Memory { name: name, kind: MemoryType::Scratch(ScratchMemory {word_size: word_size.unwrap(), address_size: address_... [INFO] [stdout] | ^^^^^^^^^^ help: replace it with: `name` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `while` condition [INFO] [stdout] --> src/lib.rs:364:14 [INFO] [stdout] | [INFO] [stdout] 364 | while(input.peek(Token![*]) && !input.is_empty()) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 364 - while(input.peek(Token![*]) && !input.is_empty()) { [INFO] [stdout] 364 + while input.peek(Token![*]) && !input.is_empty() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/lib.rs:370:43 [INFO] [stdout] | [INFO] [stdout] 370 | registers.push(RegisterMemory { name: name, width: num }); [INFO] [stdout] | ^^^^^^^^^^ help: replace it with: `name` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/lib.rs:372:29 [INFO] [stdout] | [INFO] [stdout] 372 | return Ok(Memory { name: name, kind: MemoryType::Register(registers) }); [INFO] [stdout] | ^^^^^^^^^^ help: replace it with: `name` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `while` condition [INFO] [stdout] --> src/lib.rs:376:14 [INFO] [stdout] | [INFO] [stdout] 376 | while(input.peek(Token![*]) && !input.is_empty()) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 376 - while(input.peek(Token![*]) && !input.is_empty()) { [INFO] [stdout] 376 + while input.peek(Token![*]) && !input.is_empty() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/lib.rs:383:28 [INFO] [stdout] | [INFO] [stdout] 383 | return Ok(Memory { name: name, kind: MemoryType::State(states) }); [INFO] [stdout] | ^^^^^^^^^^ help: replace it with: `name` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `while` condition [INFO] [stdout] --> src/lib.rs:403:10 [INFO] [stdout] | [INFO] [stdout] 403 | while(input.peek(H2) && !input.is_empty()) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 403 - while(input.peek(H2) && !input.is_empty()) { [INFO] [stdout] 403 + while input.peek(H2) && !input.is_empty() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `while` condition [INFO] [stdout] --> src/lib.rs:417:16 [INFO] [stdout] | [INFO] [stdout] 417 | while(input.peek(Token![-]) && !input.is_empty()) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 417 - while(input.peek(Token![-]) && !input.is_empty()) { [INFO] [stdout] 417 + while input.peek(Token![-]) && !input.is_empty() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `while` condition [INFO] [stdout] --> src/lib.rs:442:16 [INFO] [stdout] | [INFO] [stdout] 442 | while(!(input.peek(H2) || input.is_empty())) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 442 - while(!(input.peek(H2) || input.is_empty())) { [INFO] [stdout] 442 + while !(input.peek(H2) || input.is_empty()) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/lib.rs:451:19 [INFO] [stdout] | [INFO] [stdout] 451 | Ok(ChipInfo { name:name, instruction_width: instruction_width.unwrap(), memories: memories, pipeline: pipeline.unwrap(), instru... [INFO] [stdout] | ^^^^^^^^^ help: replace it with: `name` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/lib.rs:451:77 [INFO] [stdout] | [INFO] [stdout] 451 | Ok(ChipInfo { name:name, instruction_width: instruction_width.unwrap(), memories: memories, pipeline: pipeline.unwrap(), instru... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `memories` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/lib.rs:451:163 [INFO] [stdout] | [INFO] [stdout] 451 | ...wrap(), instructions: instructions.unwrap(), raw: raw }) [INFO] [stdout] | ^^^^^^^^ help: replace it with: `raw` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/lib.rs:456:264 [INFO] [stdout] | [INFO] [stdout] 456 | ...me(Token![:](proc_macro2::Span::call_site())), ty: ty } [INFO] [stdout] | ^^^^^^ help: replace it with: `ty` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/lib.rs:606:48 [INFO] [stdout] | [INFO] [stdout] 606 | let variable_getter: syn::Expr = (syn::parse_quote! { [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 610 | }); [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 606 ~ let variable_getter: syn::Expr = syn::parse_quote! { [INFO] [stdout] 607 | { [INFO] [stdout] 608 | #ty2::from_ne_bytes(#unsigned_container::to_ne_bytes(#shifted_and_masked_safe)) [INFO] [stdout] 609 | } [INFO] [stdout] 610 ~ } ; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/lib.rs:628:48 [INFO] [stdout] | [INFO] [stdout] 628 | let variable_getter: syn::Expr = (syn::parse_quote! { [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 646 | }); [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 628 ~ let variable_getter: syn::Expr = syn::parse_quote! { [INFO] [stdout] 629 | { [INFO] [stdout] ... [INFO] [stdout] 645 | } [INFO] [stdout] 646 ~ } ; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/lib.rs:690:28 [INFO] [stdout] | [INFO] [stdout] 690 | let guard: syn::Expr = (syn::parse_quote! { (((input as u128) & #ands) == #cmp) }); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 690 - let guard: syn::Expr = (syn::parse_quote! { (((input as u128) & #ands) == #cmp) }); [INFO] [stdout] 690 + let guard: syn::Expr = syn::parse_quote! { (((input as u128) & #ands) == #cmp) } ; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/lib.rs:692:29 [INFO] [stdout] | [INFO] [stdout] 692 | let result: syn::Expr = (syn::parse_quote! { super::Instruction::#name(#name { #(#fields),* }) }); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 692 - let result: syn::Expr = (syn::parse_quote! { super::Instruction::#name(#name { #(#fields),* }) }); [INFO] [stdout] 692 + let result: syn::Expr = syn::parse_quote! { super::Instruction::#name(#name { #(#fields),* }) } ; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable statement [INFO] [stdout] --> src/lib.rs:387:5 [INFO] [stdout] | [INFO] [stdout] 333 | / match input.parse::()?.to_string().as_ref() { [INFO] [stdout] 334 | | "scratch" | "Scratch" => { [INFO] [stdout] 335 | | let mut word_size: Option = None; [INFO] [stdout] 336 | | let mut address_size: Option = None; [INFO] [stdout] ... | [INFO] [stdout] 385 | | x => panic!(format!("Expected memory type: scratch or Scratch or register or Register, got {} instead.", x)), [INFO] [stdout] 386 | | }; [INFO] [stdout] | |_____- any code following this `match` expression is unreachable, as all arms diverge [INFO] [stdout] 387 | panic!("Failed to parse memory."); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unreachable statement [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Parser` [INFO] [stdout] --> src/lib.rs:10:38 [INFO] [stdout] | [INFO] [stdout] 10 | use syn::parse::{Parse, ParseStream, Parser}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `syn::spanned::Spanned` [INFO] [stdout] --> src/lib.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | use syn::spanned::Spanned; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `idx_len` [INFO] [stdout] --> src/lib.rs:160:9 [INFO] [stdout] | [INFO] [stdout] 160 | let idx_len = 64; // Find a better way to do this [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_idx_len` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `qself` [INFO] [stdout] --> src/lib.rs:174:35 [INFO] [stdout] | [INFO] [stdout] 174 | syn::Type::Path(syn::TypePath{qself, path}) => { [INFO] [stdout] | ^^^^^ help: try ignoring the field: `qself: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `bracket_token` [INFO] [stdout] --> src/lib.rs:181:37 [INFO] [stdout] | [INFO] [stdout] 181 | syn::Type::Array(syn::TypeArray{bracket_token, elem, semi_token, len}) => { [INFO] [stdout] | ^^^^^^^^^^^^^ help: try ignoring the field: `bracket_token: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `semi_token` [INFO] [stdout] --> src/lib.rs:181:58 [INFO] [stdout] | [INFO] [stdout] 181 | syn::Type::Array(syn::TypeArray{bracket_token, elem, semi_token, len}) => { [INFO] [stdout] | ^^^^^^^^^^ help: try ignoring the field: `semi_token: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/lib.rs:515:7 [INFO] [stdout] | [INFO] [stdout] 515 | let mut pipelines_with_arms: HashMap> = HashMap::new(); [INFO] [stdout] | ----^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/lib.rs:516:7 [INFO] [stdout] | [INFO] [stdout] 516 | let mut pipelines_with_generated_types: HashMap)> = HashMap... [INFO] [stdout] | ----^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `k` [INFO] [stdout] --> src/lib.rs:814:77 [INFO] [stdout] | [INFO] [stdout] 814 | let decl_types: Vec = rationalised_types.into_iter().map(|(k, v)| v).collect(); [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_k` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `pipelines_with_arms` [INFO] [stdout] --> src/lib.rs:515:7 [INFO] [stdout] | [INFO] [stdout] 515 | let mut pipelines_with_arms: HashMap> = HashMap::new(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pipelines_with_arms` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `pipelines_with_generated_types` [INFO] [stdout] --> src/lib.rs:516:7 [INFO] [stdout] | [INFO] [stdout] 516 | let mut pipelines_with_generated_types: HashMap)> = HashMap... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pipelines_with_generated_types` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `attrs` [INFO] [stdout] --> src/lib.rs:552:35 [INFO] [stdout] | [INFO] [stdout] 552 | PatBit::Var(syn::ExprType{attrs, expr, colon_token, ty}) => { [INFO] [stdout] | ^^^^^ help: try ignoring the field: `attrs: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `colon_token` [INFO] [stdout] --> src/lib.rs:552:48 [INFO] [stdout] | [INFO] [stdout] 552 | PatBit::Var(syn::ExprType{attrs, expr, colon_token, ty}) => { [INFO] [stdout] | ^^^^^^^^^^^ help: try ignoring the field: `colon_token: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `instruction_width` [INFO] [stdout] --> src/lib.rs:658:15 [INFO] [stdout] | [INFO] [stdout] 658 | let instruction_width = chip_info.instruction_width; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_instruction_width` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `chip_name` [INFO] [stdout] --> src/lib.rs:691:9 [INFO] [stdout] | [INFO] [stdout] 691 | let chip_name = quote::format_ident!("{}", chip_info.name.clone()); [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_chip_name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `address_size` [INFO] [stdout] --> src/lib.rs:703:77 [INFO] [stdout] | [INFO] [stdout] 703 | MemoryType::Scratch(ScratchMemory{word_size: word_size, address_size: address_size, words: words}) => { [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_address_size` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/lib.rs:124:5 [INFO] [stdout] | [INFO] [stdout] 124 | return Ok(Instruction { name: name, bitpattern: bitpattern, description: description, parts: parts }); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] = note: `#[warn(clippy::needless_return)]` on by default [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 124 - return Ok(Instruction { name: name, bitpattern: bitpattern, description: description, parts: parts }); [INFO] [stdout] 124 + Ok(Instruction { name: name, bitpattern: bitpattern, description: description, parts: parts }) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/lib.rs:150:3 [INFO] [stdout] | [INFO] [stdout] 150 | return syn::Type::Path(syn::TypePath{q...n::PathArguments::None})).into_iter().collect()}}); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^...^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 150 - return syn::Type::Path(syn::TypePath{qself: None, path: syn::Path{leading_colon: None, segments: vec!(syn::punctuated::Pair::End(syn::PathSegment{ident:syn::Ident::new(name, proc_macro2::Span::call_site()), arguments: syn::PathArguments::None})).into_iter().collect()}}); [INFO] [stdout] 150 + syn::Type::Path(syn::TypePath{qself: None, path: syn::Path{leading_colon: None, segments: vec!(syn::punctuated::Pair::End(syn::PathSegment{ident:syn::Ident::new(name, proc_macro2::Span::call_site()), arguments: syn::PathArguments::None})).into_iter().collect()}}) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/lib.rs:153:3 [INFO] [stdout] | [INFO] [stdout] 153 | return syn::Type::Path(syn::TypePath{q...n::PathArguments::None})).into_iter().collect()}}); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^...^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 153 - return syn::Type::Path(syn::TypePath{qself: None, path: syn::Path{leading_colon: None, segments: vec!(syn::punctuated::Pair::End(syn::PathSegment{ident:syn::Ident::new(&name, proc_macro2::Span::call_site()), arguments: syn::PathArguments::None})).into_iter().collect()}}); [INFO] [stdout] 153 + syn::Type::Path(syn::TypePath{qself: None, path: syn::Path{leading_colon: None, segments: vec!(syn::punctuated::Pair::End(syn::PathSegment{ident:syn::Ident::new(&name, proc_macro2::Span::call_site()), arguments: syn::PathArguments::None})).into_iter().collect()}}) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/lib.rs:156:3 [INFO] [stdout] | [INFO] [stdout] 156 | return syn::Type::Path(syn::TypePath{q...n::PathArguments::None})).into_iter().collect()}}); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^...^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 156 - return syn::Type::Path(syn::TypePath{qself: None, path: syn::Path{leading_colon: None, segments: vec!(syn::punctuated::Pair::Punctuated(syn::PathSegment{ident:syn::Ident::new(&segment1, proc_macro2::Span::call_site()), arguments: syn::PathArguments::None}, Token![::](proc_macro2::Span::call_site())), syn::punctuated::Pair::End(syn::PathSegment{ident:syn::Ident::new(&name, proc_macro2::Span::call_site()), arguments: syn::PathArguments::None})).into_iter().collect()}}); [INFO] [stdout] 156 + syn::Type::Path(syn::TypePath{qself: None, path: syn::Path{leading_colon: None, segments: vec!(syn::punctuated::Pair::Punctuated(syn::PathSegment{ident:syn::Ident::new(&segment1, proc_macro2::Span::call_site()), arguments: syn::PathArguments::None}, Token![::](proc_macro2::Span::call_site())), syn::punctuated::Pair::End(syn::PathSegment{ident:syn::Ident::new(&name, proc_macro2::Span::call_site()), arguments: syn::PathArguments::None})).into_iter().collect()}}) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/lib.rs:176:17 [INFO] [stdout] | [INFO] [stdout] 176 | "i8" => return (ty, 8, true, None), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 176 - "i8" => return (ty, 8, true, None), [INFO] [stdout] 176 + "i8" => (ty, 8, true, None), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/lib.rs:177:17 [INFO] [stdout] | [INFO] [stdout] 177 | "u8" => return (ty, 8, false, None), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 177 - "u8" => return (ty, 8, false, None), [INFO] [stdout] 177 + "u8" => (ty, 8, false, None), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/lib.rs:190:15 [INFO] [stdout] | [INFO] [stdout] 190 | return (IDX.clone(), len, false, Some(("mem".to_string(), IDX, format_ident!("mem")))) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 190 - return (IDX.clone(), len, false, Some(("mem".to_string(), IDX, format_ident!("mem")))) [INFO] [stdout] 190 + (IDX.clone(), len, false, Some(("mem".to_string(), IDX, format_ident!("mem")))) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/lib.rs:200:11 [INFO] [stdout] | [INFO] [stdout] 200 | return (IDX.clone(), len, false, Some(("mem".to_string(), IDX, format_ident!("mem")))) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 200 - return (IDX.clone(), len, false, Some(("mem".to_string(), IDX, format_ident!("mem")))) [INFO] [stdout] 200 + (IDX.clone(), len, false, Some(("mem".to_string(), IDX, format_ident!("mem")))) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/lib.rs:211:13 [INFO] [stdout] | [INFO] [stdout] 211 | return (U128, len, false, None) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 211 - return (U128, len, false, None) [INFO] [stdout] 211 + (U128, len, false, None) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/lib.rs:213:13 [INFO] [stdout] | [INFO] [stdout] 213 | return (mkType2("super".to_string(), format!("U{}", len)), len, false, Some((name, U128, format_ident!("U{}", len)))) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 213 - return (mkType2("super".to_string(), format!("U{}", len)), len, false, Some((name, U128, format_ident!("U{}", len)))) [INFO] [stdout] 213 + (mkType2("super".to_string(), format!("U{}", len)), len, false, Some((name, U128, format_ident!("U{}", len)))) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/lib.rs:215:13 [INFO] [stdout] | [INFO] [stdout] 215 | return (U64, len, false, None) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 215 - return (U64, len, false, None) [INFO] [stdout] 215 + (U64, len, false, None) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/lib.rs:217:13 [INFO] [stdout] | [INFO] [stdout] 217 | return (mkType2("super".to_string(), format!("U{}", len)), len, false, Some((name, U64, format_ident!("U{}", len)))) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 217 - return (mkType2("super".to_string(), format!("U{}", len)), len, false, Some((name, U64, format_ident!("U{}", len)))) [INFO] [stdout] 217 + (mkType2("super".to_string(), format!("U{}", len)), len, false, Some((name, U64, format_ident!("U{}", len)))) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/lib.rs:219:13 [INFO] [stdout] | [INFO] [stdout] 219 | return (U32, len, false, None) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 219 - return (U32, len, false, None) [INFO] [stdout] 219 + (U32, len, false, None) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/lib.rs:221:13 [INFO] [stdout] | [INFO] [stdout] 221 | return (mkType2("super".to_string(), format!("U{}", len)), len, false, Some((name, U32, format_ident!("U{}", len)))) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 221 - return (mkType2("super".to_string(), format!("U{}", len)), len, false, Some((name, U32, format_ident!("U{}", len)))) [INFO] [stdout] 221 + (mkType2("super".to_string(), format!("U{}", len)), len, false, Some((name, U32, format_ident!("U{}", len)))) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/lib.rs:223:13 [INFO] [stdout] | [INFO] [stdout] 223 | return (U16, len, false, None) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 223 - return (U16, len, false, None) [INFO] [stdout] 223 + (U16, len, false, None) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/lib.rs:225:13 [INFO] [stdout] | [INFO] [stdout] 225 | return (mkType2("super".to_string(), format!("U{}", len)), len, false, Some((name, U16, format_ident!("U{}", len)))) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 225 - return (mkType2("super".to_string(), format!("U{}", len)), len, false, Some((name, U16, format_ident!("U{}", len)))) [INFO] [stdout] 225 + (mkType2("super".to_string(), format!("U{}", len)), len, false, Some((name, U16, format_ident!("U{}", len)))) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/lib.rs:227:13 [INFO] [stdout] | [INFO] [stdout] 227 | return (U8, len, false, None) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 227 - return (U8, len, false, None) [INFO] [stdout] 227 + (U8, len, false, None) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/lib.rs:229:13 [INFO] [stdout] | [INFO] [stdout] 229 | return (mkType2("super".to_string(), format!("U{}", len)), len, false, Some((name, U8, format_ident!("U{}", len)))) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 229 - return (mkType2("super".to_string(), format!("U{}", len)), len, false, Some((name, U8, format_ident!("U{}", len)))) [INFO] [stdout] 229 + (mkType2("super".to_string(), format!("U{}", len)), len, false, Some((name, U8, format_ident!("U{}", len)))) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/lib.rs:241:13 [INFO] [stdout] | [INFO] [stdout] 241 | return (I128, len, true, None) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 241 - return (I128, len, true, None) [INFO] [stdout] 241 + (I128, len, true, None) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/lib.rs:243:13 [INFO] [stdout] | [INFO] [stdout] 243 | return (mkType2("super".to_string(), format!("I{}", len)), len, true, Some((name, I128, format_ident!("I{}", len)))) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 243 - return (mkType2("super".to_string(), format!("I{}", len)), len, true, Some((name, I128, format_ident!("I{}", len)))) [INFO] [stdout] 243 + (mkType2("super".to_string(), format!("I{}", len)), len, true, Some((name, I128, format_ident!("I{}", len)))) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/lib.rs:245:13 [INFO] [stdout] | [INFO] [stdout] 245 | return (I64, len, true, None) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 245 - return (I64, len, true, None) [INFO] [stdout] 245 + (I64, len, true, None) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/lib.rs:247:13 [INFO] [stdout] | [INFO] [stdout] 247 | return (mkType2("super".to_string(), format!("I{}", len)), len, true, Some((name, I64, format_ident!("I{}", len)))) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 247 - return (mkType2("super".to_string(), format!("I{}", len)), len, true, Some((name, I64, format_ident!("I{}", len)))) [INFO] [stdout] 247 + (mkType2("super".to_string(), format!("I{}", len)), len, true, Some((name, I64, format_ident!("I{}", len)))) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/lib.rs:249:13 [INFO] [stdout] | [INFO] [stdout] 249 | return (I32, len, true, None) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 249 - return (I32, len, true, None) [INFO] [stdout] 249 + (I32, len, true, None) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/lib.rs:251:13 [INFO] [stdout] | [INFO] [stdout] 251 | return (mkType2("super".to_string(), format!("I{}", len)), len, true, Some((name, I32, format_ident!("I{}", len)))) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 251 - return (mkType2("super".to_string(), format!("I{}", len)), len, true, Some((name, I32, format_ident!("I{}", len)))) [INFO] [stdout] 251 + (mkType2("super".to_string(), format!("I{}", len)), len, true, Some((name, I32, format_ident!("I{}", len)))) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/lib.rs:253:13 [INFO] [stdout] | [INFO] [stdout] 253 | return (I16, len, true, None) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 253 - return (I16, len, true, None) [INFO] [stdout] 253 + (I16, len, true, None) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/lib.rs:255:13 [INFO] [stdout] | [INFO] [stdout] 255 | return (mkType2("super".to_string(), format!("I{}", len)), len, true, Some((name, I16, format_ident!("I{}", len)))) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 255 - return (mkType2("super".to_string(), format!("I{}", len)), len, true, Some((name, I16, format_ident!("I{}", len)))) [INFO] [stdout] 255 + (mkType2("super".to_string(), format!("I{}", len)), len, true, Some((name, I16, format_ident!("I{}", len)))) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/lib.rs:257:13 [INFO] [stdout] | [INFO] [stdout] 257 | return (I8, len, true, None) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 257 - return (I8, len, true, None) [INFO] [stdout] 257 + (I8, len, true, None) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/lib.rs:259:13 [INFO] [stdout] | [INFO] [stdout] 259 | return (mkType2("super".to_string(), format!("I{}", len)), len, true, Some((name, I8, format_ident!("I{}", len)))) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 259 - return (mkType2("super".to_string(), format!("I{}", len)), len, true, Some((name, I8, format_ident!("I{}", len)))) [INFO] [stdout] 259 + (mkType2("super".to_string(), format!("I{}", len)), len, true, Some((name, I8, format_ident!("I{}", len)))) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/lib.rs:291:5 [INFO] [stdout] | [INFO] [stdout] 291 | return Ok(BitPattern { pat: pat }); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 291 - return Ok(BitPattern { pat: pat }); [INFO] [stdout] 291 + Ok(BitPattern { pat: pat }) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/lib.rs:410:14 [INFO] [stdout] | [INFO] [stdout] 410 | if !(section_continued == "Assembler") { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `(section_continued != "Assembler")` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] = note: `#[warn(clippy::nonminimal_bool)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/lib.rs:516:43 [INFO] [stdout] | [INFO] [stdout] 516 | let mut pipelines_with_generated_types: HashMap)> = HashMap... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] = note: `#[warn(clippy::type_complexity)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: match expression looks like `matches!` macro [INFO] [stdout] --> src/lib.rs:536:63 [INFO] [stdout] | [INFO] [stdout] 536 | let mut n: usize = instr.bitpattern.pat.iter().filter(|n| match n { PatBit::Var(_) => true, _ => false, }).collect:: true, _ => false, }).collect::>().len(); [INFO] [stdout] 536 + let mut n: usize = instr.bitpattern.pat.iter().filter(|n| matches!(n, PatBit::Var(_))).collect::>().len(); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/lib.rs:541:11 [INFO] [stdout] | [INFO] [stdout] 541 | ands = ands | (1 << idx); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `ands |= (1 << idx)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] = note: `#[warn(clippy::assign_op_pattern)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/lib.rs:545:11 [INFO] [stdout] | [INFO] [stdout] 545 | ands = ands | (1 << idx); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `ands |= (1 << idx)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/lib.rs:546:11 [INFO] [stdout] | [INFO] [stdout] 546 | cmp = cmp | (1 << idx); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `cmp |= (1 << idx)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/lib.rs:673:11 [INFO] [stdout] | [INFO] [stdout] 673 | n = n - 1; [INFO] [stdout] | ^^^^^^^^^ help: replace it with: `n -= 1` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this creates an owned instance just for comparison [INFO] [stdout] --> src/lib.rs:745:33 [INFO] [stdout] | [INFO] [stdout] 745 | if stage.clone() == module_name.to_string() { [INFO] [stdout] | -----------------^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: try: `*module_name == stage.clone()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cmp_owned [INFO] [stdout] = note: `#[warn(clippy::cmp_owned)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/lib.rs:771:60 [INFO] [stdout] | [INFO] [stdout] 771 | let instruction_root_enum: Vec = if instruction_enum.len() == 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `instruction_enum.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] = note: `#[warn(clippy::len_zero)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/lib.rs:781:45 [INFO] [stdout] | [INFO] [stdout] 781 | let instruction_ref: syn::Type = if instruction_enum.len() == 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `instruction_enum.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `mkTypeR` should have a snake case name [INFO] [stdout] --> src/lib.rs:149:4 [INFO] [stdout] | [INFO] [stdout] 149 | fn mkTypeR(name: &str) -> syn::Type { [INFO] [stdout] | ^^^^^^^ help: convert the identifier to snake case: `mk_type_r` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `mkType` should have a snake case name [INFO] [stdout] --> src/lib.rs:152:4 [INFO] [stdout] | [INFO] [stdout] 152 | fn mkType(name: String) -> syn::Type { [INFO] [stdout] | ^^^^^^ help: convert the identifier to snake case: `mk_type` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `mkType2` should have a snake case name [INFO] [stdout] --> src/lib.rs:155:4 [INFO] [stdout] | [INFO] [stdout] 155 | fn mkType2(segment1: String, name: String) -> syn::Type { [INFO] [stdout] | ^^^^^^^ help: convert the identifier to snake case: `mk_type2` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `IDX` should have a snake case name [INFO] [stdout] --> src/lib.rs:161:9 [INFO] [stdout] | [INFO] [stdout] 161 | let IDX = mkTypeR("usize"); [INFO] [stdout] | ^^^ help: convert the identifier to snake case: `idx` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `I8` should have a snake case name [INFO] [stdout] --> src/lib.rs:162:9 [INFO] [stdout] | [INFO] [stdout] 162 | let I8: syn::Type = syn::Type::Path(syn::TypePath{qself: None, path: syn::Path{leading_colon: None, segments: vec!(syn::punc... [INFO] [stdout] | ^^ help: convert the identifier to snake case (notice the capitalization): `i8` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `I16` should have a snake case name [INFO] [stdout] --> src/lib.rs:163:9 [INFO] [stdout] | [INFO] [stdout] 163 | let I16: syn::Type = syn::Type::Path(syn::TypePath{qself: None, path: syn::Path{leading_colon: None, segments: vec!(syn::punc... [INFO] [stdout] | ^^^ help: convert the identifier to snake case (notice the capitalization): `i16` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `I32` should have a snake case name [INFO] [stdout] --> src/lib.rs:164:9 [INFO] [stdout] | [INFO] [stdout] 164 | let I32: syn::Type = syn::Type::Path(syn::TypePath{qself: None, path: syn::Path{leading_colon: None, segments: vec!(syn::punc... [INFO] [stdout] | ^^^ help: convert the identifier to snake case (notice the capitalization): `i32` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `I64` should have a snake case name [INFO] [stdout] --> src/lib.rs:165:9 [INFO] [stdout] | [INFO] [stdout] 165 | let I64: syn::Type = syn::Type::Path(syn::TypePath{qself: None, path: syn::Path{leading_colon: None, segments: vec!(syn::punc... [INFO] [stdout] | ^^^ help: convert the identifier to snake case (notice the capitalization): `i64` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `I128` should have a snake case name [INFO] [stdout] --> src/lib.rs:166:9 [INFO] [stdout] | [INFO] [stdout] 166 | let I128: syn::Type = syn::Type::Path(syn::TypePath{qself: None, path: syn::Path{leading_colon: None, segments: vec!(syn::punc... [INFO] [stdout] | ^^^^ help: convert the identifier to snake case (notice the capitalization): `i128` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `U8` should have a snake case name [INFO] [stdout] --> src/lib.rs:167:9 [INFO] [stdout] | [INFO] [stdout] 167 | let U8: syn::Type = syn::Type::Path(syn::TypePath{qself: None, path: syn::Path{leading_colon: None, segments: vec!(syn::punc... [INFO] [stdout] | ^^ help: convert the identifier to snake case (notice the capitalization): `u8` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `U16` should have a snake case name [INFO] [stdout] --> src/lib.rs:168:9 [INFO] [stdout] | [INFO] [stdout] 168 | let U16: syn::Type = syn::Type::Path(syn::TypePath{qself: None, path: syn::Path{leading_colon: None, segments: vec!(syn::punc... [INFO] [stdout] | ^^^ help: convert the identifier to snake case (notice the capitalization): `u16` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `U32` should have a snake case name [INFO] [stdout] --> src/lib.rs:169:9 [INFO] [stdout] | [INFO] [stdout] 169 | let U32: syn::Type = syn::Type::Path(syn::TypePath{qself: None, path: syn::Path{leading_colon: None, segments: vec!(syn::punc... [INFO] [stdout] | ^^^ help: convert the identifier to snake case (notice the capitalization): `u32` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `U64` should have a snake case name [INFO] [stdout] --> src/lib.rs:170:9 [INFO] [stdout] | [INFO] [stdout] 170 | let U64: syn::Type = syn::Type::Path(syn::TypePath{qself: None, path: syn::Path{leading_colon: None, segments: vec!(syn::punc... [INFO] [stdout] | ^^^ help: convert the identifier to snake case (notice the capitalization): `u64` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `U128` should have a snake case name [INFO] [stdout] --> src/lib.rs:171:9 [INFO] [stdout] | [INFO] [stdout] 171 | let U128: syn::Type = syn::Type::Path(syn::TypePath{qself: None, path: syn::Path{leading_colon: None, segments: vec!(syn::punc... [INFO] [stdout] | ^^^^ help: convert the identifier to snake case (notice the capitalization): `u128` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/lib.rs:178:24 [INFO] [stdout] | [INFO] [stdout] 178 | y => panic!(format!("I don't understand {:?}", y)), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: the `panic!()` macro supports formatting, so there's no need for the `format!()` macro here [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: `#[warn(non_fmt_panics)]` (part of `#[warn(rust_2021_compatibility)]`) on by default [INFO] [stdout] help: remove the `format!(..)` macro call [INFO] [stdout] | [INFO] [stdout] 178 - y => panic!(format!("I don't understand {:?}", y)), [INFO] [stdout] 178 + y => panic!("I don't understand {:?}", y), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/lib.rs:188:29 [INFO] [stdout] | [INFO] [stdout] 188 | y => panic!(format!("I don't understand {:?}", y)), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: the `panic!()` macro supports formatting, so there's no need for the `format!()` macro here [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: remove the `format!(..)` macro call [INFO] [stdout] | [INFO] [stdout] 188 - y => panic!(format!("I don't understand {:?}", y)), [INFO] [stdout] 188 + y => panic!("I don't understand {:?}", y), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/lib.rs:192:29 [INFO] [stdout] | [INFO] [stdout] 192 | y => panic!(format!("I don't understand {}", y)), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: the `panic!()` macro supports formatting, so there's no need for the `format!()` macro here [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: remove the `format!(..)` macro call [INFO] [stdout] | [INFO] [stdout] 192 - y => panic!(format!("I don't understand {}", y)), [INFO] [stdout] 192 + y => panic!("I don't understand {}", y), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/lib.rs:198:25 [INFO] [stdout] | [INFO] [stdout] 198 | y => panic!(format!("I don't understand {:?}", y)), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: the `panic!()` macro supports formatting, so there's no need for the `format!()` macro here [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: remove the `format!(..)` macro call [INFO] [stdout] | [INFO] [stdout] 198 - y => panic!(format!("I don't understand {:?}", y)), [INFO] [stdout] 198 + y => panic!("I don't understand {:?}", y), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/lib.rs:205:25 [INFO] [stdout] | [INFO] [stdout] 205 | y => panic!(format!("I don't understand {:?}", y)), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: the `panic!()` macro supports formatting, so there's no need for the `format!()` macro here [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: remove the `format!(..)` macro call [INFO] [stdout] | [INFO] [stdout] 205 - y => panic!(format!("I don't understand {:?}", y)), [INFO] [stdout] 205 + y => panic!("I don't understand {:?}", y), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/lib.rs:235:25 [INFO] [stdout] | [INFO] [stdout] 235 | y => panic!(format!("I don't understand {:?}", y)), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: the `panic!()` macro supports formatting, so there's no need for the `format!()` macro here [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: remove the `format!(..)` macro call [INFO] [stdout] | [INFO] [stdout] 235 - y => panic!(format!("I don't understand {:?}", y)), [INFO] [stdout] 235 + y => panic!("I don't understand {:?}", y), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/lib.rs:262:25 [INFO] [stdout] | [INFO] [stdout] 262 | x => panic!(format!("I don't understand {:?}", x)), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: the `panic!()` macro supports formatting, so there's no need for the `format!()` macro here [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: remove the `format!(..)` macro call [INFO] [stdout] | [INFO] [stdout] 262 - x => panic!(format!("I don't understand {:?}", x)), [INFO] [stdout] 262 + x => panic!("I don't understand {:?}", x), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/lib.rs:331:5 [INFO] [stdout] | [INFO] [stdout] 331 | input.parse::(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 331 | let _ = input.parse::(); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/lib.rs:350:38 [INFO] [stdout] | [INFO] [stdout] 350 | x => panic!(format!("Expected size, got {}.", x)), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: the `panic!()` macro supports formatting, so there's no need for the `format!()` macro here [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: remove the `format!(..)` macro call [INFO] [stdout] | [INFO] [stdout] 350 - x => panic!(format!("Expected size, got {}.", x)), [INFO] [stdout] 350 + x => panic!("Expected size, got {}.", x), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/lib.rs:353:29 [INFO] [stdout] | [INFO] [stdout] 353 | x => panic!(format!("Expected word or address, got {}.", x)), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: the `panic!()` macro supports formatting, so there's no need for the `format!()` macro here [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: remove the `format!(..)` macro call [INFO] [stdout] | [INFO] [stdout] 353 - x => panic!(format!("Expected word or address, got {}.", x)), [INFO] [stdout] 353 + x => panic!("Expected word or address, got {}.", x), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/lib.rs:357:25 [INFO] [stdout] | [INFO] [stdout] 357 | x => panic!(format!("Expected bit, got {}.", x)), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: the `panic!()` macro supports formatting, so there's no need for the `format!()` macro here [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: remove the `format!(..)` macro call [INFO] [stdout] | [INFO] [stdout] 357 - x => panic!(format!("Expected bit, got {}.", x)), [INFO] [stdout] 357 + x => panic!("Expected bit, got {}.", x), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/lib.rs:385:19 [INFO] [stdout] | [INFO] [stdout] 385 | x => panic!(format!("Expected memory type: scratch or Scratch or register or Register, got {} instead.", x)), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: the `panic!()` macro supports formatting, so there's no need for the `format!()` macro here [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: remove the `format!(..)` macro call [INFO] [stdout] | [INFO] [stdout] 385 - x => panic!(format!("Expected memory type: scratch or Scratch or register or Register, got {} instead.", x)), [INFO] [stdout] 385 + x => panic!("Expected memory type: scratch or Scratch or register or Register, got {} instead.", x), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/lib.rs:411:20 [INFO] [stdout] | [INFO] [stdout] 411 | panic!(format!("Expected Dis/Assembler section, got Dis/{} instead.", section_continued)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: the `panic!()` macro supports formatting, so there's no need for the `format!()` macro here [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: remove the `format!(..)` macro call [INFO] [stdout] | [INFO] [stdout] 411 - panic!(format!("Expected Dis/Assembler section, got Dis/{} instead.", section_continued)); [INFO] [stdout] 411 + panic!("Expected Dis/Assembler section, got Dis/{} instead.", section_continued); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `mkField` should have a snake case name [INFO] [stdout] --> src/lib.rs:455:4 [INFO] [stdout] | [INFO] [stdout] 455 | fn mkField(name: String, ty: syn::Type) -> syn::Field { [INFO] [stdout] | ^^^^^^^ help: convert the identifier to snake case: `mk_field` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `mkFieldPat` should have a snake case name [INFO] [stdout] --> src/lib.rs:458:4 [INFO] [stdout] | [INFO] [stdout] 458 | fn mkFieldPat(name: String, binding: String) -> syn::FieldPat { [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to snake case: `mk_field_pat` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/lib.rs:556:45 [INFO] [stdout] | [INFO] [stdout] 556 | x => panic!(format!("Got {:?}, expected a Path.", x)), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: the `panic!()` macro supports formatting, so there's no need for the `format!()` macro here [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: remove the `format!(..)` macro call [INFO] [stdout] | [INFO] [stdout] 556 - x => panic!(format!("Got {:?}, expected a Path.", x)), [INFO] [stdout] 556 + x => panic!("Got {:?}, expected a Path.", x), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/lib.rs:559:55 [INFO] [stdout] | [INFO] [stdout] 559 | for (decl_name, backing_type, decl_type) in maybe_decl.clone() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(for_loops_over_fallibles)]` on by default [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 559 - for (decl_name, backing_type, decl_type) in maybe_decl.clone() { [INFO] [stdout] 559 + while let Some((decl_name, backing_type, decl_type)) = maybe_decl.clone() { [INFO] [stdout] | [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 559 - for (decl_name, backing_type, decl_type) in maybe_decl.clone() { [INFO] [stdout] 559 + if let Some((decl_name, backing_type, decl_type)) = maybe_decl.clone() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `word_size:` in this pattern is redundant [INFO] [stdout] --> src/lib.rs:703:41 [INFO] [stdout] | [INFO] [stdout] 703 | MemoryType::Scratch(ScratchMemory{word_size: word_size, address_size: address_size, words: words}) => { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: use shorthand field pattern: `word_size` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_shorthand_field_patterns)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `address_size:` in this pattern is redundant [INFO] [stdout] --> src/lib.rs:703:63 [INFO] [stdout] | [INFO] [stdout] 703 | MemoryType::Scratch(ScratchMemory{word_size: word_size, address_size: address_size, words: words}) => { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use shorthand field pattern: `address_size` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `words:` in this pattern is redundant [INFO] [stdout] --> src/lib.rs:703:91 [INFO] [stdout] | [INFO] [stdout] 703 | MemoryType::Scratch(ScratchMemory{word_size: word_size, address_size: address_size, words: words}) => { [INFO] [stdout] | ^^^^^^^^^^^^ help: use shorthand field pattern: `words` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `fn_name:` in this pattern is redundant [INFO] [stdout] --> src/lib.rs:733:30 [INFO] [stdout] | [INFO] [stdout] 733 | Pipe::Use { fn_name: fn_name, module_name: module_name, real: real } => { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: use shorthand field pattern: `fn_name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `module_name:` in this pattern is redundant [INFO] [stdout] --> src/lib.rs:733:48 [INFO] [stdout] | [INFO] [stdout] 733 | Pipe::Use { fn_name: fn_name, module_name: module_name, real: real } => { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: use shorthand field pattern: `module_name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `real:` in this pattern is redundant [INFO] [stdout] --> src/lib.rs:733:74 [INFO] [stdout] | [INFO] [stdout] 733 | Pipe::Use { fn_name: fn_name, module_name: module_name, real: real } => { [INFO] [stdout] | ^^^^^^^^^^ help: use shorthand field pattern: `real` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `fn_name:` in this pattern is redundant [INFO] [stdout] --> src/lib.rs:736:30 [INFO] [stdout] | [INFO] [stdout] 736 | Pipe::PerInstruction { fn_name: fn_name, module_name: module_name, input: input, output: out } => { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: use shorthand field pattern: `fn_name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `module_name:` in this pattern is redundant [INFO] [stdout] --> src/lib.rs:736:48 [INFO] [stdout] | [INFO] [stdout] 736 | Pipe::PerInstruction { fn_name: fn_name, module_name: module_name, input: input, output: out } => { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: use shorthand field pattern: `module_name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `input:` in this pattern is redundant [INFO] [stdout] --> src/lib.rs:736:74 [INFO] [stdout] | [INFO] [stdout] 736 | Pipe::PerInstruction { fn_name: fn_name, module_name: module_name, input: input, output: out } => { [INFO] [stdout] | ^^^^^^^^^^^^ help: use shorthand field pattern: `input` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> tests/chip.rs:49:260 [INFO] [stdout] | [INFO] [stdout] 49 | ...(a), fetch(b)); Instruction::Add(Add{a: m, b: n, c: c})} -> Add -> pub struct Add{pub a: super::super::U36, pub b: super::super::... [INFO] [stdout] | ^^^^ help: replace it with: `c` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] = note: `#[warn(clippy::redundant_field_names)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: digits of hex, binary or octal literal not in groups of equal size [INFO] [stdout] --> tests/chip.rs:114:48 [INFO] [stdout] | [INFO] [stdout] 114 | ...structions::decode(0b0000_0000_0000_0000_0000_0000_0000_0000__0000_0000_0000_0000_0000_0000_0000_0011), test_potato::Instruction... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider: `0b0000_0000_0000_0000_0000_0000_0000_0000_0000_0000_0000_0000_0000_0000_0000_0011` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unusual_byte_groupings [INFO] [stdout] = note: `#[warn(clippy::unusual_byte_groupings)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: digits of hex, binary or octal literal not in groups of equal size [INFO] [stdout] --> tests/chip.rs:130:120 [INFO] [stdout] | [INFO] [stdout] 130 | ...ons::Nopi { } )), 0b0000_0000_0000_0000_0000_0000_0000_0000__0000_0000_0000_0000_0000_0000_0000_0011); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider: `0b0000_0000_0000_0000_0000_0000_0000_0000_0000_0000_0000_0000_0000_0000_0000_0011` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unusual_byte_groupings [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `a` should have an upper camel case name [INFO] [stdout] --> tests/chip.rs:169:5 [INFO] [stdout] | [INFO] [stdout] 169 | a, [INFO] [stdout] | ^ help: convert the identifier to upper camel case: `A` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_camel_case_types)]` (part of `#[warn(nonstandard_style)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `b` should have an upper camel case name [INFO] [stdout] --> tests/chip.rs:170:5 [INFO] [stdout] | [INFO] [stdout] 170 | b, [INFO] [stdout] | ^ help: convert the identifier to upper camel case: `B` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `input` [INFO] [stdout] --> tests/chip.rs:19:16 [INFO] [stdout] | [INFO] [stdout] 19 | pub fn fetch(input: U10) -> U36 { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_input` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `input` [INFO] [stdout] --> tests/chip.rs:22:26 [INFO] [stdout] | [INFO] [stdout] 22 | pub fn write_out_state(input: StateBundle) -> () { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_input` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `forward_by` [INFO] [stdout] --> tests/chip.rs:24:15 [INFO] [stdout] | [INFO] [stdout] 24 | pub fn tick(forward_by: u64, mem: Memories::t, pipeline_outputs: (Option, Option, Option tests/chip.rs:24:32 [INFO] [stdout] | [INFO] [stdout] 24 | pub fn tick(forward_by: u64, mem: Memories::t, pipeline_outputs: (Option, Option, Option tests/chip.rs:24:50 [INFO] [stdout] | [INFO] [stdout] 24 | ...m: Memories::t, pipeline_outputs: (Option, Option, Option tests/chip.rs:22:45 [INFO] [stdout] | [INFO] [stdout] 22 | pub fn write_out_state(input: StateBundle) -> () { [INFO] [stdout] | ^^^^^^ help: remove the `-> ()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] = note: `#[warn(clippy::unused_unit)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> tests/chip.rs:24:191 [INFO] [stdout] | [INFO] [stdout] 24 | ...-> (Memories::t, (Option, Option, Option, Option)) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] = note: `#[warn(clippy::type_complexity)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this call to `from_str_radix` can be replaced with a call to `str::parse` [INFO] [stdout] --> tests/chip.rs:4:1 [INFO] [stdout] | [INFO] [stdout] 4 | / define_chip! { [INFO] [stdout] 5 | | # test_potato [INFO] [stdout] 6 | | [INFO] [stdout] 7 | | ## Misc [INFO] [stdout] ... | [INFO] [stdout] 56 | | Nopi, 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1, "Signed Nop." [INFO] [stdout] 57 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#from_str_radix_10 [INFO] [stdout] = note: `#[warn(clippy::from_str_radix_10)]` on by default [INFO] [stdout] = note: this warning originates in the macro `define_chip` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: module `Fetch` should have a snake case name [INFO] [stdout] --> tests/chip.rs:41:14 [INFO] [stdout] | [INFO] [stdout] 41 | - fetch in Fetch = super::super::fetch [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case (notice the capitalization): `fetch` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: module `Decode` should have a snake case name [INFO] [stdout] --> tests/chip.rs:42:15 [INFO] [stdout] | [INFO] [stdout] 42 | - decode in Decode = super::super::Instructions::decode [INFO] [stdout] | ^^^^^^ help: convert the identifier to snake case: `decode` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: module `MemoryToArchitecturalRegisters` should have a snake case name [INFO] [stdout] --> tests/chip.rs:43:41 [INFO] [stdout] | [INFO] [stdout] 43 | - memory_to_architecture_registers in MemoryToArchitecturalRegisters: super::super::Instruction -> Instruction [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `memory_to_architectural_registers` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: module `Compute` should have a snake case name [INFO] [stdout] --> tests/chip.rs:44:16 [INFO] [stdout] | [INFO] [stdout] 44 | - compute in Compute: super::MemoryToArchitecturalRegisters::Instruction -> super::super::StateBundle [INFO] [stdout] | ^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `compute` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: module `WriteOutState` should have a snake case name [INFO] [stdout] --> tests/chip.rs:45:24 [INFO] [stdout] | [INFO] [stdout] 45 | - write_out_state in WriteOutState = super::super::write_out_state [INFO] [stdout] | ^^^^^^^^^^^^^ help: convert the identifier to snake case: `write_out_state` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: module `Decode` should have a snake case name [INFO] [stdout] --> tests/chip.rs:189:17 [INFO] [stdout] | [INFO] [stdout] 189 | - decode in Decode = super::super::Instructions::decode [INFO] [stdout] | ^^^^^^ help: convert the identifier to snake case: `decode` [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 12.37s [INFO] running `Command { std: "docker" "inspect" "34f20b50b32ff3afb68bf484dfea700597d57c318e1074267f1ea77095918988", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "34f20b50b32ff3afb68bf484dfea700597d57c318e1074267f1ea77095918988", kill_on_drop: false }` [INFO] [stdout] 34f20b50b32ff3afb68bf484dfea700597d57c318e1074267f1ea77095918988