[INFO] fetching crate fantasy-cpu-emulator-macros 0.1.0... [INFO] checking fantasy-cpu-emulator-macros-0.1.0 against master#4d0dd02ee07bddad9136f95c9f7846ebf3eb3fc5 for pr-81174 [INFO] extracting crate fantasy-cpu-emulator-macros 0.1.0 into /workspace/builds/worker-2/source [INFO] validating manifest of crates.io crate fantasy-cpu-emulator-macros 0.1.0 on toolchain 4d0dd02ee07bddad9136f95c9f7846ebf3eb3fc5 [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+4d0dd02ee07bddad9136f95c9f7846ebf3eb3fc5" "read-manifest" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] started tweaking crates.io crate fantasy-cpu-emulator-macros 0.1.0 [INFO] finished tweaking crates.io crate fantasy-cpu-emulator-macros 0.1.0 [INFO] tweaked toml for crates.io crate fantasy-cpu-emulator-macros 0.1.0 written to /workspace/builds/worker-2/source/Cargo.toml [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+4d0dd02ee07bddad9136f95c9f7846ebf3eb3fc5" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update", kill_on_drop: false }` [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+4d0dd02ee07bddad9136f95c9f7846ebf3eb3fc5" "fetch" "--locked" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] warning: only one of `license` or `license-file` is necessary [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2/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" "rustops/crates-build-env@sha256:21f1ed92105a0ef9b0d27ad8bdeb7f36f9f01ac17fffe3a3f3dc5241fc25d8f4" "/opt/rustwide/cargo-home/bin/cargo" "+4d0dd02ee07bddad9136f95c9f7846ebf3eb3fc5" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] [stdout] 367899a3626745f02aea0814dedcd4e0b074de1941e7a3147e31caa284b2f4da [INFO] running `Command { std: "docker" "start" "-a" "367899a3626745f02aea0814dedcd4e0b074de1941e7a3147e31caa284b2f4da", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "367899a3626745f02aea0814dedcd4e0b074de1941e7a3147e31caa284b2f4da", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "367899a3626745f02aea0814dedcd4e0b074de1941e7a3147e31caa284b2f4da", kill_on_drop: false }` [INFO] [stdout] 367899a3626745f02aea0814dedcd4e0b074de1941e7a3147e31caa284b2f4da [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2/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" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "rustops/crates-build-env@sha256:21f1ed92105a0ef9b0d27ad8bdeb7f36f9f01ac17fffe3a3f3dc5241fc25d8f4" "/opt/rustwide/cargo-home/bin/cargo" "+4d0dd02ee07bddad9136f95c9f7846ebf3eb3fc5" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 693ba4b362306a6d8c582a6dfac0fada504cefb747a3f5eeb3d9c994b7aa05da [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] running `Command { std: "docker" "start" "-a" "693ba4b362306a6d8c582a6dfac0fada504cefb747a3f5eeb3d9c994b7aa05da", kill_on_drop: false }` [INFO] [stderr] warning: only one of `license` or `license-file` is necessary [INFO] [stderr] Checking proc-macro2 v1.0.24 [INFO] [stderr] Compiling syn v1.0.60 [INFO] [stderr] Checking quote v1.0.8 [INFO] [stderr] Checking fantasy-cpu-emulator-macros v0.1.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)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Attribute`, `PathSegment`, `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`, `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:65:10 [INFO] [stdout] | [INFO] [stdout] 65 | while(!(input.peek(H2) || input.is_empty())) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/lib.rs:70:10 [INFO] [stdout] | [INFO] [stdout] 70 | if (input.peek(Token![=])) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `while` condition [INFO] [stdout] --> src/lib.rs:98:10 [INFO] [stdout] | [INFO] [stdout] 98 | while(input.peek(syn::Ident)) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `while` condition [INFO] [stdout] --> src/lib.rs:267:10 [INFO] [stdout] | [INFO] [stdout] 267 | while(!input.peek(Token![,])) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `while` condition [INFO] [stdout] --> src/lib.rs:310:10 [INFO] [stdout] | [INFO] [stdout] 310 | while(!(input.peek(H2) || input.is_empty())) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `while` condition [INFO] [stdout] --> src/lib.rs:331:14 [INFO] [stdout] | [INFO] [stdout] 331 | while(input.peek(Token![*]) && !input.is_empty()) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `while` condition [INFO] [stdout] --> src/lib.rs:357:14 [INFO] [stdout] | [INFO] [stdout] 357 | while(input.peek(Token![*]) && !input.is_empty()) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `while` condition [INFO] [stdout] --> src/lib.rs:385:10 [INFO] [stdout] | [INFO] [stdout] 385 | while(input.peek(H2) && !input.is_empty()) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `while` condition [INFO] [stdout] --> src/lib.rs:399:16 [INFO] [stdout] | [INFO] [stdout] 399 | while(input.peek(Token![-]) && !input.is_empty()) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `while` condition [INFO] [stdout] --> src/lib.rs:424:16 [INFO] [stdout] | [INFO] [stdout] 424 | while(!(input.peek(H2) || input.is_empty())) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/lib.rs:588:48 [INFO] [stdout] | [INFO] [stdout] 588 | let variable_getter: syn::Expr = (syn::parse_quote! { [INFO] [stdout] | ________________________________________________^ [INFO] [stdout] 589 | | { [INFO] [stdout] 590 | | #ty2::from_ne_bytes(#unsigned_container::to_ne_bytes(#shifted_and_masked_safe)) [INFO] [stdout] 591 | | } [INFO] [stdout] 592 | | }); [INFO] [stdout] | |________________^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 588 | let variable_getter: syn::Expr = syn::parse_quote! { [INFO] [stdout] 589 | { [INFO] [stdout] 590 | #ty2::from_ne_bytes(#unsigned_container::to_ne_bytes(#shifted_and_masked_safe)) [INFO] [stdout] 591 | } [INFO] [stdout] 592 | }; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/lib.rs:610:48 [INFO] [stdout] | [INFO] [stdout] 610 | let variable_getter: syn::Expr = (syn::parse_quote! { [INFO] [stdout] | ________________________________________________^ [INFO] [stdout] 611 | | { [INFO] [stdout] 612 | | //println!("len {}", #len); [INFO] [stdout] 613 | | //println!("Extracting a signed thing."); [INFO] [stdout] ... | [INFO] [stdout] 627 | | } [INFO] [stdout] 628 | | }); [INFO] [stdout] | |________________^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 610 | let variable_getter: syn::Expr = syn::parse_quote! { [INFO] [stdout] 611 | { [INFO] [stdout] 612 | //println!("len {}", #len); [INFO] [stdout] 613 | //println!("Extracting a signed thing."); [INFO] [stdout] 614 | let top_bit: #backing_input = #top_bit; [INFO] [stdout] 615 | //println!("Top bit."); [INFO] [stdout] ... [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/lib.rs:672:28 [INFO] [stdout] | [INFO] [stdout] 672 | let guard: syn::Expr = (syn::parse_quote! { (((input as u128) & #ands) == #cmp) }); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/lib.rs:674:29 [INFO] [stdout] | [INFO] [stdout] 674 | let result: syn::Expr = (syn::parse_quote! { super::Instruction::#name(#name { #(#fields),* }) }); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [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)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Attribute`, `PathSegment`, `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`, `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:65:10 [INFO] [stdout] | [INFO] [stdout] 65 | while(!(input.peek(H2) || input.is_empty())) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/lib.rs:70:10 [INFO] [stdout] | [INFO] [stdout] 70 | if (input.peek(Token![=])) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `while` condition [INFO] [stdout] --> src/lib.rs:98:10 [INFO] [stdout] | [INFO] [stdout] 98 | while(input.peek(syn::Ident)) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `while` condition [INFO] [stdout] --> src/lib.rs:267:10 [INFO] [stdout] | [INFO] [stdout] 267 | while(!input.peek(Token![,])) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `while` condition [INFO] [stdout] --> src/lib.rs:310:10 [INFO] [stdout] | [INFO] [stdout] 310 | while(!(input.peek(H2) || input.is_empty())) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `while` condition [INFO] [stdout] --> src/lib.rs:331:14 [INFO] [stdout] | [INFO] [stdout] 331 | while(input.peek(Token![*]) && !input.is_empty()) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `while` condition [INFO] [stdout] --> src/lib.rs:357:14 [INFO] [stdout] | [INFO] [stdout] 357 | while(input.peek(Token![*]) && !input.is_empty()) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `while` condition [INFO] [stdout] --> src/lib.rs:385:10 [INFO] [stdout] | [INFO] [stdout] 385 | while(input.peek(H2) && !input.is_empty()) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `while` condition [INFO] [stdout] --> src/lib.rs:399:16 [INFO] [stdout] | [INFO] [stdout] 399 | while(input.peek(Token![-]) && !input.is_empty()) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `while` condition [INFO] [stdout] --> src/lib.rs:424:16 [INFO] [stdout] | [INFO] [stdout] 424 | while(!(input.peek(H2) || input.is_empty())) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/lib.rs:588:48 [INFO] [stdout] | [INFO] [stdout] 588 | let variable_getter: syn::Expr = (syn::parse_quote! { [INFO] [stdout] | ________________________________________________^ [INFO] [stdout] 589 | | { [INFO] [stdout] 590 | | #ty2::from_ne_bytes(#unsigned_container::to_ne_bytes(#shifted_and_masked_safe)) [INFO] [stdout] 591 | | } [INFO] [stdout] 592 | | }); [INFO] [stdout] | |________________^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 588 | let variable_getter: syn::Expr = syn::parse_quote! { [INFO] [stdout] 589 | { [INFO] [stdout] 590 | #ty2::from_ne_bytes(#unsigned_container::to_ne_bytes(#shifted_and_masked_safe)) [INFO] [stdout] 591 | } [INFO] [stdout] 592 | }; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/lib.rs:610:48 [INFO] [stdout] | [INFO] [stdout] 610 | let variable_getter: syn::Expr = (syn::parse_quote! { [INFO] [stdout] | ________________________________________________^ [INFO] [stdout] 611 | | { [INFO] [stdout] 612 | | //println!("len {}", #len); [INFO] [stdout] 613 | | //println!("Extracting a signed thing."); [INFO] [stdout] ... | [INFO] [stdout] 627 | | } [INFO] [stdout] 628 | | }); [INFO] [stdout] | |________________^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 610 | let variable_getter: syn::Expr = syn::parse_quote! { [INFO] [stdout] 611 | { [INFO] [stdout] 612 | //println!("len {}", #len); [INFO] [stdout] 613 | //println!("Extracting a signed thing."); [INFO] [stdout] 614 | let top_bit: #backing_input = #top_bit; [INFO] [stdout] 615 | //println!("Top bit."); [INFO] [stdout] ... [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/lib.rs:672:28 [INFO] [stdout] | [INFO] [stdout] 672 | let guard: syn::Expr = (syn::parse_quote! { (((input as u128) & #ands) == #cmp) }); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/lib.rs:674:29 [INFO] [stdout] | [INFO] [stdout] 674 | let result: syn::Expr = (syn::parse_quote! { super::Instruction::#name(#name { #(#fields),* }) }); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable statement [INFO] [stdout] --> src/lib.rs:369:5 [INFO] [stdout] | [INFO] [stdout] 326 | / match input.parse::()?.to_string().as_ref() { [INFO] [stdout] 327 | | "scratch" | "Scratch" => { [INFO] [stdout] 328 | | let mut word_size: Option = None; [INFO] [stdout] 329 | | let mut address_size: Option = None; [INFO] [stdout] ... | [INFO] [stdout] 367 | | x => panic!(format!("Expected memory type: scratch or Scratch or register or Register, got {} instead.", x)), [INFO] [stdout] 368 | | }; [INFO] [stdout] | |_____- any code following this `match` expression is unreachable, as all arms diverge [INFO] [stdout] 369 | panic!("Failed to parse memory."); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unreachable statement [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_code)]` on by default [INFO] [stdout] = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable statement [INFO] [stdout] --> src/lib.rs:369:5 [INFO] [stdout] | [INFO] [stdout] 326 | / match input.parse::()?.to_string().as_ref() { [INFO] [stdout] 327 | | "scratch" | "Scratch" => { [INFO] [stdout] 328 | | let mut word_size: Option = None; [INFO] [stdout] 329 | | let mut address_size: Option = None; [INFO] [stdout] ... | [INFO] [stdout] 367 | | x => panic!(format!("Expected memory type: scratch or Scratch or register or Register, got {} instead.", x)), [INFO] [stdout] 368 | | }; [INFO] [stdout] | |_____- any code following this `match` expression is unreachable, as all arms diverge [INFO] [stdout] 369 | panic!("Failed to parse memory."); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unreachable statement [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_code)]` on by default [INFO] [stdout] = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [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:153:9 [INFO] [stdout] | [INFO] [stdout] 153 | 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)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `qself` [INFO] [stdout] --> src/lib.rs:167:35 [INFO] [stdout] | [INFO] [stdout] 167 | 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:174:37 [INFO] [stdout] | [INFO] [stdout] 174 | 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:174:58 [INFO] [stdout] | [INFO] [stdout] 174 | 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: `k` [INFO] [stdout] --> src/lib.rs:788:77 [INFO] [stdout] | [INFO] [stdout] 788 | 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:497:7 [INFO] [stdout] | [INFO] [stdout] 497 | 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:498:7 [INFO] [stdout] | [INFO] [stdout] 498 | let mut pipelines_with_generated_types: HashMap)> = HashMap::new(); [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:534:35 [INFO] [stdout] | [INFO] [stdout] 534 | 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:534:48 [INFO] [stdout] | [INFO] [stdout] 534 | 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:640:15 [INFO] [stdout] | [INFO] [stdout] 640 | 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:673:9 [INFO] [stdout] | [INFO] [stdout] 673 | 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:685:77 [INFO] [stdout] | [INFO] [stdout] 685 | 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: 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:153:9 [INFO] [stdout] | [INFO] [stdout] 153 | 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)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `qself` [INFO] [stdout] --> src/lib.rs:167:35 [INFO] [stdout] | [INFO] [stdout] 167 | 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:174:37 [INFO] [stdout] | [INFO] [stdout] 174 | 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:174:58 [INFO] [stdout] | [INFO] [stdout] 174 | 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: `k` [INFO] [stdout] --> src/lib.rs:788:77 [INFO] [stdout] | [INFO] [stdout] 788 | 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:497:7 [INFO] [stdout] | [INFO] [stdout] 497 | 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:498:7 [INFO] [stdout] | [INFO] [stdout] 498 | let mut pipelines_with_generated_types: HashMap)> = HashMap::new(); [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:534:35 [INFO] [stdout] | [INFO] [stdout] 534 | 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:534:48 [INFO] [stdout] | [INFO] [stdout] 534 | 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:640:15 [INFO] [stdout] | [INFO] [stdout] 640 | 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:673:9 [INFO] [stdout] | [INFO] [stdout] 673 | 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:685:77 [INFO] [stdout] | [INFO] [stdout] 685 | 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: variable does not need to be mutable [INFO] [stdout] --> src/lib.rs:497:7 [INFO] [stdout] | [INFO] [stdout] 497 | 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)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/lib.rs:498:7 [INFO] [stdout] | [INFO] [stdout] 498 | let mut pipelines_with_generated_types: HashMap)> = HashMap::new(); [INFO] [stdout] | ----^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `mkTypeR` should have a snake case name [INFO] [stdout] --> src/lib.rs:142:4 [INFO] [stdout] | [INFO] [stdout] 142 | 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)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `mkType` should have a snake case name [INFO] [stdout] --> src/lib.rs:145:4 [INFO] [stdout] | [INFO] [stdout] 145 | 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:148:4 [INFO] [stdout] | [INFO] [stdout] 148 | 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:154:9 [INFO] [stdout] | [INFO] [stdout] 154 | 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:155:9 [INFO] [stdout] | [INFO] [stdout] 155 | let I8: syn::Type = syn::Type::Path(syn::TypePath{qself: None, path: syn::Path{leading_colon: None, segments: vec!(syn::punctuated... [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:156:9 [INFO] [stdout] | [INFO] [stdout] 156 | let I16: syn::Type = syn::Type::Path(syn::TypePath{qself: None, path: syn::Path{leading_colon: None, segments: vec!(syn::punctuated... [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:157:9 [INFO] [stdout] | [INFO] [stdout] 157 | let I32: syn::Type = syn::Type::Path(syn::TypePath{qself: None, path: syn::Path{leading_colon: None, segments: vec!(syn::punctuated... [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:158:9 [INFO] [stdout] | [INFO] [stdout] 158 | let I64: syn::Type = syn::Type::Path(syn::TypePath{qself: None, path: syn::Path{leading_colon: None, segments: vec!(syn::punctuated... [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:159:9 [INFO] [stdout] | [INFO] [stdout] 159 | let I128: syn::Type = syn::Type::Path(syn::TypePath{qself: None, path: syn::Path{leading_colon: None, segments: vec!(syn::punctuated... [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:160:9 [INFO] [stdout] | [INFO] [stdout] 160 | let U8: syn::Type = syn::Type::Path(syn::TypePath{qself: None, path: syn::Path{leading_colon: None, segments: vec!(syn::punctuated... [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:161:9 [INFO] [stdout] | [INFO] [stdout] 161 | let U16: syn::Type = syn::Type::Path(syn::TypePath{qself: None, path: syn::Path{leading_colon: None, segments: vec!(syn::punctuated... [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:162:9 [INFO] [stdout] | [INFO] [stdout] 162 | let U32: syn::Type = syn::Type::Path(syn::TypePath{qself: None, path: syn::Path{leading_colon: None, segments: vec!(syn::punctuated... [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:163:9 [INFO] [stdout] | [INFO] [stdout] 163 | let U64: syn::Type = syn::Type::Path(syn::TypePath{qself: None, path: syn::Path{leading_colon: None, segments: vec!(syn::punctuated... [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:164:9 [INFO] [stdout] | [INFO] [stdout] 164 | let U128: syn::Type = syn::Type::Path(syn::TypePath{qself: None, path: syn::Path{leading_colon: None, segments: vec!(syn::punctuated... [INFO] [stdout] | ^^^^ help: convert the identifier to snake case (notice the capitalization): `u128` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/lib.rs:497:7 [INFO] [stdout] | [INFO] [stdout] 497 | 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)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/lib.rs:498:7 [INFO] [stdout] | [INFO] [stdout] 498 | let mut pipelines_with_generated_types: HashMap)> = HashMap::new(); [INFO] [stdout] | ----^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/lib.rs:324:5 [INFO] [stdout] | [INFO] [stdout] 324 | input.parse::(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `mkField` should have a snake case name [INFO] [stdout] --> src/lib.rs:437:4 [INFO] [stdout] | [INFO] [stdout] 437 | 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:440:4 [INFO] [stdout] | [INFO] [stdout] 440 | 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: function `mkTypeR` should have a snake case name [INFO] [stdout] --> src/lib.rs:142:4 [INFO] [stdout] | [INFO] [stdout] 142 | 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)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `mkType` should have a snake case name [INFO] [stdout] --> src/lib.rs:145:4 [INFO] [stdout] | [INFO] [stdout] 145 | 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:148:4 [INFO] [stdout] | [INFO] [stdout] 148 | 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:154:9 [INFO] [stdout] | [INFO] [stdout] 154 | 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:155:9 [INFO] [stdout] | [INFO] [stdout] 155 | let I8: syn::Type = syn::Type::Path(syn::TypePath{qself: None, path: syn::Path{leading_colon: None, segments: vec!(syn::punctuated... [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:156:9 [INFO] [stdout] | [INFO] [stdout] 156 | let I16: syn::Type = syn::Type::Path(syn::TypePath{qself: None, path: syn::Path{leading_colon: None, segments: vec!(syn::punctuated... [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:157:9 [INFO] [stdout] | [INFO] [stdout] 157 | let I32: syn::Type = syn::Type::Path(syn::TypePath{qself: None, path: syn::Path{leading_colon: None, segments: vec!(syn::punctuated... [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:158:9 [INFO] [stdout] | [INFO] [stdout] 158 | let I64: syn::Type = syn::Type::Path(syn::TypePath{qself: None, path: syn::Path{leading_colon: None, segments: vec!(syn::punctuated... [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:159:9 [INFO] [stdout] | [INFO] [stdout] 159 | let I128: syn::Type = syn::Type::Path(syn::TypePath{qself: None, path: syn::Path{leading_colon: None, segments: vec!(syn::punctuated... [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:160:9 [INFO] [stdout] | [INFO] [stdout] 160 | let U8: syn::Type = syn::Type::Path(syn::TypePath{qself: None, path: syn::Path{leading_colon: None, segments: vec!(syn::punctuated... [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:161:9 [INFO] [stdout] | [INFO] [stdout] 161 | let U16: syn::Type = syn::Type::Path(syn::TypePath{qself: None, path: syn::Path{leading_colon: None, segments: vec!(syn::punctuated... [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:162:9 [INFO] [stdout] | [INFO] [stdout] 162 | let U32: syn::Type = syn::Type::Path(syn::TypePath{qself: None, path: syn::Path{leading_colon: None, segments: vec!(syn::punctuated... [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:163:9 [INFO] [stdout] | [INFO] [stdout] 163 | let U64: syn::Type = syn::Type::Path(syn::TypePath{qself: None, path: syn::Path{leading_colon: None, segments: vec!(syn::punctuated... [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:164:9 [INFO] [stdout] | [INFO] [stdout] 164 | let U128: syn::Type = syn::Type::Path(syn::TypePath{qself: None, path: syn::Path{leading_colon: None, segments: vec!(syn::punctuated... [INFO] [stdout] | ^^^^ help: convert the identifier to snake case (notice the capitalization): `u128` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `word_size:` in this pattern is redundant [INFO] [stdout] --> src/lib.rs:685:41 [INFO] [stdout] | [INFO] [stdout] 685 | 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:685:63 [INFO] [stdout] | [INFO] [stdout] 685 | 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:685:91 [INFO] [stdout] | [INFO] [stdout] 685 | 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:707:30 [INFO] [stdout] | [INFO] [stdout] 707 | 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:707:48 [INFO] [stdout] | [INFO] [stdout] 707 | 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:707:74 [INFO] [stdout] | [INFO] [stdout] 707 | 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:710:30 [INFO] [stdout] | [INFO] [stdout] 710 | 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:710:48 [INFO] [stdout] | [INFO] [stdout] 710 | 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:710:74 [INFO] [stdout] | [INFO] [stdout] 710 | 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: 60 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/lib.rs:324:5 [INFO] [stdout] | [INFO] [stdout] 324 | input.parse::(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `mkField` should have a snake case name [INFO] [stdout] --> src/lib.rs:437:4 [INFO] [stdout] | [INFO] [stdout] 437 | 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:440:4 [INFO] [stdout] | [INFO] [stdout] 440 | 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: the `word_size:` in this pattern is redundant [INFO] [stdout] --> src/lib.rs:685:41 [INFO] [stdout] | [INFO] [stdout] 685 | 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:685:63 [INFO] [stdout] | [INFO] [stdout] 685 | 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:685:91 [INFO] [stdout] | [INFO] [stdout] 685 | 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:707:30 [INFO] [stdout] | [INFO] [stdout] 707 | 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:707:48 [INFO] [stdout] | [INFO] [stdout] 707 | 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:707:74 [INFO] [stdout] | [INFO] [stdout] 707 | 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:710:30 [INFO] [stdout] | [INFO] [stdout] 710 | 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:710:48 [INFO] [stdout] | [INFO] [stdout] 710 | 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:710:74 [INFO] [stdout] | [INFO] [stdout] 710 | 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: 60 warnings emitted [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)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Attribute`, `PathSegment`, `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`, `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:65:10 [INFO] [stdout] | [INFO] [stdout] 65 | while(!(input.peek(H2) || input.is_empty())) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/lib.rs:70:10 [INFO] [stdout] | [INFO] [stdout] 70 | if (input.peek(Token![=])) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `while` condition [INFO] [stdout] --> src/lib.rs:98:10 [INFO] [stdout] | [INFO] [stdout] 98 | while(input.peek(syn::Ident)) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `while` condition [INFO] [stdout] --> src/lib.rs:267:10 [INFO] [stdout] | [INFO] [stdout] 267 | while(!input.peek(Token![,])) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `while` condition [INFO] [stdout] --> src/lib.rs:310:10 [INFO] [stdout] | [INFO] [stdout] 310 | while(!(input.peek(H2) || input.is_empty())) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `while` condition [INFO] [stdout] --> src/lib.rs:331:14 [INFO] [stdout] | [INFO] [stdout] 331 | while(input.peek(Token![*]) && !input.is_empty()) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `while` condition [INFO] [stdout] --> src/lib.rs:357:14 [INFO] [stdout] | [INFO] [stdout] 357 | while(input.peek(Token![*]) && !input.is_empty()) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `while` condition [INFO] [stdout] --> src/lib.rs:385:10 [INFO] [stdout] | [INFO] [stdout] 385 | while(input.peek(H2) && !input.is_empty()) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `while` condition [INFO] [stdout] --> src/lib.rs:399:16 [INFO] [stdout] | [INFO] [stdout] 399 | while(input.peek(Token![-]) && !input.is_empty()) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `while` condition [INFO] [stdout] --> src/lib.rs:424:16 [INFO] [stdout] | [INFO] [stdout] 424 | while(!(input.peek(H2) || input.is_empty())) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/lib.rs:588:48 [INFO] [stdout] | [INFO] [stdout] 588 | let variable_getter: syn::Expr = (syn::parse_quote! { [INFO] [stdout] | ________________________________________________^ [INFO] [stdout] 589 | | { [INFO] [stdout] 590 | | #ty2::from_ne_bytes(#unsigned_container::to_ne_bytes(#shifted_and_masked_safe)) [INFO] [stdout] 591 | | } [INFO] [stdout] 592 | | }); [INFO] [stdout] | |________________^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 588 | let variable_getter: syn::Expr = syn::parse_quote! { [INFO] [stdout] 589 | { [INFO] [stdout] 590 | #ty2::from_ne_bytes(#unsigned_container::to_ne_bytes(#shifted_and_masked_safe)) [INFO] [stdout] 591 | } [INFO] [stdout] 592 | }; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/lib.rs:610:48 [INFO] [stdout] | [INFO] [stdout] 610 | let variable_getter: syn::Expr = (syn::parse_quote! { [INFO] [stdout] | ________________________________________________^ [INFO] [stdout] 611 | | { [INFO] [stdout] 612 | | //println!("len {}", #len); [INFO] [stdout] 613 | | //println!("Extracting a signed thing."); [INFO] [stdout] ... | [INFO] [stdout] 627 | | } [INFO] [stdout] 628 | | }); [INFO] [stdout] | |________________^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 610 | let variable_getter: syn::Expr = syn::parse_quote! { [INFO] [stdout] 611 | { [INFO] [stdout] 612 | //println!("len {}", #len); [INFO] [stdout] 613 | //println!("Extracting a signed thing."); [INFO] [stdout] 614 | let top_bit: #backing_input = #top_bit; [INFO] [stdout] 615 | //println!("Top bit."); [INFO] [stdout] ... [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/lib.rs:672:28 [INFO] [stdout] | [INFO] [stdout] 672 | let guard: syn::Expr = (syn::parse_quote! { (((input as u128) & #ands) == #cmp) }); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/lib.rs:674:29 [INFO] [stdout] | [INFO] [stdout] 674 | let result: syn::Expr = (syn::parse_quote! { super::Instruction::#name(#name { #(#fields),* }) }); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable statement [INFO] [stdout] --> src/lib.rs:369:5 [INFO] [stdout] | [INFO] [stdout] 326 | / match input.parse::()?.to_string().as_ref() { [INFO] [stdout] 327 | | "scratch" | "Scratch" => { [INFO] [stdout] 328 | | let mut word_size: Option = None; [INFO] [stdout] 329 | | let mut address_size: Option = None; [INFO] [stdout] ... | [INFO] [stdout] 367 | | x => panic!(format!("Expected memory type: scratch or Scratch or register or Register, got {} instead.", x)), [INFO] [stdout] 368 | | }; [INFO] [stdout] | |_____- any code following this `match` expression is unreachable, as all arms diverge [INFO] [stdout] 369 | panic!("Failed to parse memory."); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unreachable statement [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_code)]` on by default [INFO] [stdout] = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [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:153:9 [INFO] [stdout] | [INFO] [stdout] 153 | 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)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `qself` [INFO] [stdout] --> src/lib.rs:167:35 [INFO] [stdout] | [INFO] [stdout] 167 | 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:174:37 [INFO] [stdout] | [INFO] [stdout] 174 | 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:174:58 [INFO] [stdout] | [INFO] [stdout] 174 | 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: `k` [INFO] [stdout] --> src/lib.rs:788:77 [INFO] [stdout] | [INFO] [stdout] 788 | 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:497:7 [INFO] [stdout] | [INFO] [stdout] 497 | 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:498:7 [INFO] [stdout] | [INFO] [stdout] 498 | let mut pipelines_with_generated_types: HashMap)> = HashMap::new(); [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:534:35 [INFO] [stdout] | [INFO] [stdout] 534 | 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:534:48 [INFO] [stdout] | [INFO] [stdout] 534 | 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:640:15 [INFO] [stdout] | [INFO] [stdout] 640 | 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:673:9 [INFO] [stdout] | [INFO] [stdout] 673 | 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:685:77 [INFO] [stdout] | [INFO] [stdout] 685 | 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: variable does not need to be mutable [INFO] [stdout] --> src/lib.rs:497:7 [INFO] [stdout] | [INFO] [stdout] 497 | 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)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/lib.rs:498:7 [INFO] [stdout] | [INFO] [stdout] 498 | let mut pipelines_with_generated_types: HashMap)> = HashMap::new(); [INFO] [stdout] | ----^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `mkTypeR` should have a snake case name [INFO] [stdout] --> src/lib.rs:142:4 [INFO] [stdout] | [INFO] [stdout] 142 | 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)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `mkType` should have a snake case name [INFO] [stdout] --> src/lib.rs:145:4 [INFO] [stdout] | [INFO] [stdout] 145 | 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:148:4 [INFO] [stdout] | [INFO] [stdout] 148 | 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:154:9 [INFO] [stdout] | [INFO] [stdout] 154 | 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:155:9 [INFO] [stdout] | [INFO] [stdout] 155 | let I8: syn::Type = syn::Type::Path(syn::TypePath{qself: None, path: syn::Path{leading_colon: None, segments: vec!(syn::punctuated... [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:156:9 [INFO] [stdout] | [INFO] [stdout] 156 | let I16: syn::Type = syn::Type::Path(syn::TypePath{qself: None, path: syn::Path{leading_colon: None, segments: vec!(syn::punctuated... [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:157:9 [INFO] [stdout] | [INFO] [stdout] 157 | let I32: syn::Type = syn::Type::Path(syn::TypePath{qself: None, path: syn::Path{leading_colon: None, segments: vec!(syn::punctuated... [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:158:9 [INFO] [stdout] | [INFO] [stdout] 158 | let I64: syn::Type = syn::Type::Path(syn::TypePath{qself: None, path: syn::Path{leading_colon: None, segments: vec!(syn::punctuated... [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:159:9 [INFO] [stdout] | [INFO] [stdout] 159 | let I128: syn::Type = syn::Type::Path(syn::TypePath{qself: None, path: syn::Path{leading_colon: None, segments: vec!(syn::punctuated... [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:160:9 [INFO] [stdout] | [INFO] [stdout] 160 | let U8: syn::Type = syn::Type::Path(syn::TypePath{qself: None, path: syn::Path{leading_colon: None, segments: vec!(syn::punctuated... [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:161:9 [INFO] [stdout] | [INFO] [stdout] 161 | let U16: syn::Type = syn::Type::Path(syn::TypePath{qself: None, path: syn::Path{leading_colon: None, segments: vec!(syn::punctuated... [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:162:9 [INFO] [stdout] | [INFO] [stdout] 162 | let U32: syn::Type = syn::Type::Path(syn::TypePath{qself: None, path: syn::Path{leading_colon: None, segments: vec!(syn::punctuated... [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:163:9 [INFO] [stdout] | [INFO] [stdout] 163 | let U64: syn::Type = syn::Type::Path(syn::TypePath{qself: None, path: syn::Path{leading_colon: None, segments: vec!(syn::punctuated... [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:164:9 [INFO] [stdout] | [INFO] [stdout] 164 | let U128: syn::Type = syn::Type::Path(syn::TypePath{qself: None, path: syn::Path{leading_colon: None, segments: vec!(syn::punctuated... [INFO] [stdout] | ^^^^ help: convert the identifier to snake case (notice the capitalization): `u128` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/lib.rs:324:5 [INFO] [stdout] | [INFO] [stdout] 324 | input.parse::(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `mkField` should have a snake case name [INFO] [stdout] --> src/lib.rs:437:4 [INFO] [stdout] | [INFO] [stdout] 437 | 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:440:4 [INFO] [stdout] | [INFO] [stdout] 440 | 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: the `word_size:` in this pattern is redundant [INFO] [stdout] --> src/lib.rs:685:41 [INFO] [stdout] | [INFO] [stdout] 685 | 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:685:63 [INFO] [stdout] | [INFO] [stdout] 685 | 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:685:91 [INFO] [stdout] | [INFO] [stdout] 685 | 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:707:30 [INFO] [stdout] | [INFO] [stdout] 707 | 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:707:48 [INFO] [stdout] | [INFO] [stdout] 707 | 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:707:74 [INFO] [stdout] | [INFO] [stdout] 707 | 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:710:30 [INFO] [stdout] | [INFO] [stdout] 710 | 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:710:48 [INFO] [stdout] | [INFO] [stdout] 710 | 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:710:74 [INFO] [stdout] | [INFO] [stdout] 710 | 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: 60 warnings emitted [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)]` 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 | ... mem: Memories::t, pipeline_outputs: (Option, Option, Option,... [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pipeline_outputs` [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)]` 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: 10 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 26.62s [INFO] running `Command { std: "docker" "inspect" "693ba4b362306a6d8c582a6dfac0fada504cefb747a3f5eeb3d9c994b7aa05da", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "693ba4b362306a6d8c582a6dfac0fada504cefb747a3f5eeb3d9c994b7aa05da", kill_on_drop: false }` [INFO] [stdout] 693ba4b362306a6d8c582a6dfac0fada504cefb747a3f5eeb3d9c994b7aa05da