[INFO] fetching crate xc2bit 0.0.4... [INFO] linting xc2bit-0.0.4 against nightly for clippy-nonminimal_bool-denied [INFO] extracting crate xc2bit 0.0.4 into /workspace/builds/worker-2-tc1/source [INFO] started tweaking crates.io crate xc2bit 0.0.4 [INFO] finished tweaking crates.io crate xc2bit 0.0.4 [INFO] tweaked toml for crates.io crate xc2bit 0.0.4 written to /workspace/builds/worker-2-tc1/source/Cargo.toml [INFO] validating manifest of crates.io crate xc2bit 0.0.4 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] crate crates.io crate xc2bit 0.0.4 already has a lockfile, it will not be regenerated [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] Updating crates.io index [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded serde_json v1.0.9 [INFO] [stderr] Downloaded dtoa v0.4.2 [INFO] [stderr] Downloaded itoa v0.3.4 [INFO] [stderr] Downloaded proc-macro2 v0.3.6 [INFO] [stderr] Downloaded bittwiddler v0.0.2 [INFO] [stderr] Downloaded serde_derive_internals v0.19.0 [INFO] [stderr] Downloaded num-traits v0.2.0 [INFO] [stderr] Downloaded jedec v0.0.3 [INFO] [stderr] Downloaded serde_derive v1.0.27 [INFO] [stderr] Downloaded yosys-netlist-json v0.0.3 [INFO] [stderr] Downloaded quote v0.5.1 [INFO] [stderr] Downloaded serde v1.0.27 [INFO] [stderr] Downloaded syn v0.13.1 [INFO] [stderr] Downloaded slog v2.5.2 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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] 2e580d1fdef5c04a3fa4a1a3e2d2fd8be8cd2d6d290cb3d3f2932bdfd2db6da5 [INFO] running `Command { std: "docker" "start" "-a" "2e580d1fdef5c04a3fa4a1a3e2d2fd8be8cd2d6d290cb3d3f2932bdfd2db6da5", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "2e580d1fdef5c04a3fa4a1a3e2d2fd8be8cd2d6d290cb3d3f2932bdfd2db6da5", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "2e580d1fdef5c04a3fa4a1a3e2d2fd8be8cd2d6d290cb3d3f2932bdfd2db6da5", kill_on_drop: false }` [INFO] [stdout] 2e580d1fdef5c04a3fa4a1a3e2d2fd8be8cd2d6d290cb3d3f2932bdfd2db6da5 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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] 7677b6353a03a66020fe9855ed04364ade2ff54fddcaffa6f7c4a98124314df7 [INFO] running `Command { std: "docker" "start" "-a" "7677b6353a03a66020fe9855ed04364ade2ff54fddcaffa6f7c4a98124314df7", kill_on_drop: false }` [INFO] [stderr] Compiling unicode-xid v0.0.4 [INFO] [stderr] Compiling quote v0.3.15 [INFO] [stderr] Compiling unicode-xid v0.1.0 [INFO] [stderr] Compiling slog v2.5.2 [INFO] [stderr] Checking num-traits v0.2.0 [INFO] [stderr] Checking serde v1.0.27 [INFO] [stderr] Checking dtoa v0.4.2 [INFO] [stderr] Checking itoa v0.3.4 [INFO] [stderr] Compiling synom v0.11.3 [INFO] [stderr] Compiling proc-macro2 v0.3.6 [INFO] [stderr] Compiling xc2bit v0.0.4 (/opt/rustwide/workdir) [INFO] [stderr] Checking jedec v0.0.3 [INFO] [stderr] Compiling quote v0.5.1 [INFO] [stderr] Compiling syn v0.11.11 [INFO] [stderr] Compiling syn v0.13.1 [INFO] [stderr] Checking num-traits v0.1.43 [INFO] [stderr] Compiling serde_derive_internals v0.19.0 [INFO] [stderr] Compiling serde_derive v1.0.27 [INFO] [stderr] Checking serde_json v1.0.9 [INFO] [stderr] Compiling bittwiddler v0.0.2 [INFO] [stderr] Checking yosys-netlist-json v0.0.3 [INFO] [stdout] warning: empty line after doc comment [INFO] [stdout] --> src/iob.rs:125:5 [INFO] [stdout] | [INFO] [stdout] 125 | / /// to be disabled. [INFO] [stdout] 126 | | [INFO] [stdout] | |_^ [INFO] [stdout] 127 | // FIXME: Do the other defaults come from the particular way I invoked the Xilinx tools?? [INFO] [stdout] 128 | fn default() -> Self { [INFO] [stdout] | ---------- the comment documents this function [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#empty_line_after_doc_comments [INFO] [stdout] = note: `#[warn(clippy::empty_line_after_doc_comments)]` on by default [INFO] [stdout] = help: if the empty line is unintentional, remove it [INFO] [stdout] help: if the doc comment should not document function `default` then comment it out [INFO] [stdout] | [INFO] [stdout] 124 ~ // /// Returns a "default" I/O pin configuration. The default state is for the output and the input into the ZIA [INFO] [stdout] 125 ~ // /// to be disabled. [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty line after doc comment [INFO] [stdout] --> src/iob.rs:300:5 [INFO] [stdout] | [INFO] [stdout] 300 | / /// to be disabled. [INFO] [stdout] 301 | | [INFO] [stdout] | |_^ [INFO] [stdout] 302 | // FIXME: Do the other defaults come from the particular way I invoked the Xilinx tools?? [INFO] [stdout] 303 | fn default() -> Self { [INFO] [stdout] | ---------- the comment documents this function [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#empty_line_after_doc_comments [INFO] [stdout] = help: if the empty line is unintentional, remove it [INFO] [stdout] help: if the doc comment should not document function `default` then comment it out [INFO] [stdout] | [INFO] [stdout] 299 ~ // /// Returns a "default" I/O pin configuration. The default state is for the output and the input into the ZIA [INFO] [stdout] 300 ~ // /// to be disabled. [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty line after doc comment [INFO] [stdout] --> src/iob.rs:426:5 [INFO] [stdout] | [INFO] [stdout] 426 | / /// Returns a "default" pin configuration. [INFO] [stdout] 427 | | [INFO] [stdout] | |_^ [INFO] [stdout] 428 | // FIXME: Do the other defaults come from the particular way I invoked the Xilinx tools?? [INFO] [stdout] 429 | fn default() -> Self { [INFO] [stdout] | ---------- the comment documents this function [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#empty_line_after_doc_comments [INFO] [stdout] = help: if the empty line is unintentional, remove it [INFO] [stdout] help: if the doc comment should not document function `default` then comment it out [INFO] [stdout] | [INFO] [stdout] 426 | // /// Returns a "default" pin configuration. [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty line after doc comment [INFO] [stdout] --> src/iob.rs:125:5 [INFO] [stdout] | [INFO] [stdout] 125 | / /// to be disabled. [INFO] [stdout] 126 | | [INFO] [stdout] | |_^ [INFO] [stdout] 127 | // FIXME: Do the other defaults come from the particular way I invoked the Xilinx tools?? [INFO] [stdout] 128 | fn default() -> Self { [INFO] [stdout] | ---------- the comment documents this function [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#empty_line_after_doc_comments [INFO] [stdout] = note: `#[warn(clippy::empty_line_after_doc_comments)]` on by default [INFO] [stdout] = help: if the empty line is unintentional, remove it [INFO] [stdout] help: if the doc comment should not document function `default` then comment it out [INFO] [stdout] | [INFO] [stdout] 124 ~ // /// Returns a "default" I/O pin configuration. The default state is for the output and the input into the ZIA [INFO] [stdout] 125 ~ // /// to be disabled. [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty line after doc comment [INFO] [stdout] --> src/iob.rs:300:5 [INFO] [stdout] | [INFO] [stdout] 300 | / /// to be disabled. [INFO] [stdout] 301 | | [INFO] [stdout] | |_^ [INFO] [stdout] 302 | // FIXME: Do the other defaults come from the particular way I invoked the Xilinx tools?? [INFO] [stdout] 303 | fn default() -> Self { [INFO] [stdout] | ---------- the comment documents this function [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#empty_line_after_doc_comments [INFO] [stdout] = help: if the empty line is unintentional, remove it [INFO] [stdout] help: if the doc comment should not document function `default` then comment it out [INFO] [stdout] | [INFO] [stdout] 299 ~ // /// Returns a "default" I/O pin configuration. The default state is for the output and the input into the ZIA [INFO] [stdout] 300 ~ // /// to be disabled. [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty line after doc comment [INFO] [stdout] --> src/iob.rs:426:5 [INFO] [stdout] | [INFO] [stdout] 426 | / /// Returns a "default" pin configuration. [INFO] [stdout] 427 | | [INFO] [stdout] | |_^ [INFO] [stdout] 428 | // FIXME: Do the other defaults come from the particular way I invoked the Xilinx tools?? [INFO] [stdout] 429 | fn default() -> Self { [INFO] [stdout] | ---------- the comment documents this function [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#empty_line_after_doc_comments [INFO] [stdout] = help: if the empty line is unintentional, remove it [INFO] [stdout] help: if the doc comment should not document function `default` then comment it out [INFO] [stdout] | [INFO] [stdout] 426 | // /// Returns a "default" pin configuration. [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `run_one_reftest` is never used [INFO] [stdout] --> src/lib.rs:123:8 [INFO] [stdout] | [INFO] [stdout] 123 | fn run_one_reftest(jed_filename: &'static str) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `write!()` with a format string that ends in a single newline [INFO] [stdout] --> src/bitstream.rs:51:9 [INFO] [stdout] | [INFO] [stdout] 51 | write!(writer, "xc2bit dump\n")?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stdout] = note: `#[warn(clippy::write_with_newline)]` on by default [INFO] [stdout] help: use `writeln!` instead [INFO] [stdout] | [INFO] [stdout] 51 - write!(writer, "xc2bit dump\n")?; [INFO] [stdout] 51 + writeln!(writer, "xc2bit dump")?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `write!()` with a format string that ends in a single newline [INFO] [stdout] --> src/bitstream.rs:52:9 [INFO] [stdout] | [INFO] [stdout] 52 | write!(writer, "device speed grade: {}\n", self.speed_grade)?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stdout] help: use `writeln!` instead [INFO] [stdout] | [INFO] [stdout] 52 - write!(writer, "device speed grade: {}\n", self.speed_grade)?; [INFO] [stdout] 52 + writeln!(writer, "device speed grade: {}", self.speed_grade)?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `write!()` with a format string that ends in a single newline [INFO] [stdout] --> src/bitstream.rs:53:9 [INFO] [stdout] | [INFO] [stdout] 53 | write!(writer, "device package: {}\n", self.package)?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stdout] help: use `writeln!` instead [INFO] [stdout] | [INFO] [stdout] 53 - write!(writer, "device package: {}\n", self.package)?; [INFO] [stdout] 53 + writeln!(writer, "device package: {}", self.package)?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `write!()` with a format string that ends in a single newline [INFO] [stdout] --> src/bitstream.rs:61:9 [INFO] [stdout] | [INFO] [stdout] 61 | write!(writer, ".JED fuse map written by xc2bit\n")?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stdout] help: use `writeln!` instead [INFO] [stdout] | [INFO] [stdout] 61 - write!(writer, ".JED fuse map written by xc2bit\n")?; [INFO] [stdout] 61 + writeln!(writer, ".JED fuse map written by xc2bit")?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: large size difference between variants [INFO] [stdout] --> src/bitstream.rs:401:1 [INFO] [stdout] | [INFO] [stdout] 401 | / pub enum XC2BitstreamBits { [INFO] [stdout] 402 | | XC2C32 { [INFO] [stdout] 403 | | fb: [XC2BitstreamFB; 2], [INFO] [stdout] 404 | | iobs: [XC2MCSmallIOB; 32], [INFO] [stdout] ... | [INFO] [stdout] 508 | | / XC2C384 { [INFO] [stdout] 509 | | | fb: [XC2BitstreamFB; 24], [INFO] [stdout] 510 | | | iobs: [[XC2MCLargeIOB; 24]; 10], [INFO] [stdout] 511 | | | global_nets: XC2GlobalNets, [INFO] [stdout] ... | | [INFO] [stdout] 524 | | | ovoltage: [bool; 4], [INFO] [stdout] 525 | | | }, [INFO] [stdout] | | |_____- the second-largest variant contains at least 25515 bytes [INFO] [stdout] 526 | | / XC2C512 { [INFO] [stdout] 527 | | | fb: [XC2BitstreamFB; 32], [INFO] [stdout] 528 | | | iobs: [[XC2MCLargeIOB; 27]; 10], [INFO] [stdout] 529 | | | global_nets: XC2GlobalNets, [INFO] [stdout] ... | | [INFO] [stdout] 542 | | | ovoltage: [bool; 4], [INFO] [stdout] 543 | | | } [INFO] [stdout] | | |_____- the largest variant contains at least 33661 bytes [INFO] [stdout] 544 | | } [INFO] [stdout] | |___^ the entire enum is at least 33662 bytes [INFO] [stdout] | [INFO] [stdout] note: boxing a variant would require the type no longer be `Copy` [INFO] [stdout] --> src/bitstream.rs:401:10 [INFO] [stdout] | [INFO] [stdout] 401 | pub enum XC2BitstreamBits { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] help: consider boxing the large fields or introducing indirection in some other way to reduce the total size of the enum [INFO] [stdout] --> src/bitstream.rs:526:5 [INFO] [stdout] | [INFO] [stdout] 526 | / XC2C512 { [INFO] [stdout] 527 | | fb: [XC2BitstreamFB; 32], [INFO] [stdout] 528 | | iobs: [[XC2MCLargeIOB; 27]; 10], [INFO] [stdout] 529 | | global_nets: XC2GlobalNets, [INFO] [stdout] ... | [INFO] [stdout] 542 | | ovoltage: [bool; 4], [INFO] [stdout] 543 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#large_enum_variant [INFO] [stdout] = note: `#[warn(clippy::large_enum_variant)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you don't need to add `&` to all patterns [INFO] [stdout] --> src/bitstream.rs:549:9 [INFO] [stdout] | [INFO] [stdout] 549 | / match self { [INFO] [stdout] 550 | | &XC2BitstreamBits::XC2C32{..} => XC2Device::XC2C32, [INFO] [stdout] 551 | | &XC2BitstreamBits::XC2C32A{..} => XC2Device::XC2C32A, [INFO] [stdout] 552 | | &XC2BitstreamBits::XC2C64{..} => XC2Device::XC2C64, [INFO] [stdout] ... | [INFO] [stdout] 557 | | &XC2BitstreamBits::XC2C512{..} => XC2Device::XC2C512, [INFO] [stdout] 558 | | } [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stdout] = note: `#[warn(clippy::match_ref_pats)]` on by default [INFO] [stdout] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stdout] | [INFO] [stdout] 549 ~ match *self { [INFO] [stdout] 550 ~ XC2BitstreamBits::XC2C32{..} => XC2Device::XC2C32, [INFO] [stdout] 551 ~ XC2BitstreamBits::XC2C32A{..} => XC2Device::XC2C32A, [INFO] [stdout] 552 ~ XC2BitstreamBits::XC2C64{..} => XC2Device::XC2C64, [INFO] [stdout] 553 ~ XC2BitstreamBits::XC2C64A{..} => XC2Device::XC2C64A, [INFO] [stdout] 554 ~ XC2BitstreamBits::XC2C128{..} => XC2Device::XC2C128, [INFO] [stdout] 555 ~ XC2BitstreamBits::XC2C256{..} => XC2Device::XC2C256, [INFO] [stdout] 556 ~ XC2BitstreamBits::XC2C384{..} => XC2Device::XC2C384, [INFO] [stdout] 557 ~ XC2BitstreamBits::XC2C512{..} => XC2Device::XC2C512, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you don't need to add `&` to all patterns [INFO] [stdout] --> src/bitstream.rs:563:9 [INFO] [stdout] | [INFO] [stdout] 563 | / match self { [INFO] [stdout] 564 | | &XC2BitstreamBits::XC2C32{ref fb, ..} => fb, [INFO] [stdout] 565 | | &XC2BitstreamBits::XC2C32A{ref fb, ..} => fb, [INFO] [stdout] 566 | | &XC2BitstreamBits::XC2C64{ref fb, ..} => fb, [INFO] [stdout] ... | [INFO] [stdout] 571 | | &XC2BitstreamBits::XC2C512{ref fb, ..} => fb, [INFO] [stdout] 572 | | } [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stdout] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stdout] | [INFO] [stdout] 563 ~ match *self { [INFO] [stdout] 564 ~ XC2BitstreamBits::XC2C32{ref fb, ..} => fb, [INFO] [stdout] 565 ~ XC2BitstreamBits::XC2C32A{ref fb, ..} => fb, [INFO] [stdout] 566 ~ XC2BitstreamBits::XC2C64{ref fb, ..} => fb, [INFO] [stdout] 567 ~ XC2BitstreamBits::XC2C64A{ref fb, ..} => fb, [INFO] [stdout] 568 ~ XC2BitstreamBits::XC2C128{ref fb, ..} => fb, [INFO] [stdout] 569 ~ XC2BitstreamBits::XC2C256{ref fb, ..} => fb, [INFO] [stdout] 570 ~ XC2BitstreamBits::XC2C384{ref fb, ..} => fb, [INFO] [stdout] 571 ~ XC2BitstreamBits::XC2C512{ref fb, ..} => fb, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a struct pattern where every field's pattern takes a reference [INFO] [stdout] --> src/bitstream.rs:564:13 [INFO] [stdout] | [INFO] [stdout] 564 | &XC2BitstreamBits::XC2C32{ref fb, ..} => fb, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] = note: `#[warn(clippy::needless_borrowed_reference)]` on by default [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 564 - &XC2BitstreamBits::XC2C32{ref fb, ..} => fb, [INFO] [stdout] 564 + XC2BitstreamBits::XC2C32{fb, ..} => fb, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a struct pattern where every field's pattern takes a reference [INFO] [stdout] --> src/bitstream.rs:565:13 [INFO] [stdout] | [INFO] [stdout] 565 | &XC2BitstreamBits::XC2C32A{ref fb, ..} => fb, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 565 - &XC2BitstreamBits::XC2C32A{ref fb, ..} => fb, [INFO] [stdout] 565 + XC2BitstreamBits::XC2C32A{fb, ..} => fb, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a struct pattern where every field's pattern takes a reference [INFO] [stdout] --> src/bitstream.rs:566:13 [INFO] [stdout] | [INFO] [stdout] 566 | &XC2BitstreamBits::XC2C64{ref fb, ..} => fb, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 566 - &XC2BitstreamBits::XC2C64{ref fb, ..} => fb, [INFO] [stdout] 566 + XC2BitstreamBits::XC2C64{fb, ..} => fb, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a struct pattern where every field's pattern takes a reference [INFO] [stdout] --> src/bitstream.rs:567:13 [INFO] [stdout] | [INFO] [stdout] 567 | &XC2BitstreamBits::XC2C64A{ref fb, ..} => fb, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 567 - &XC2BitstreamBits::XC2C64A{ref fb, ..} => fb, [INFO] [stdout] 567 + XC2BitstreamBits::XC2C64A{fb, ..} => fb, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a struct pattern where every field's pattern takes a reference [INFO] [stdout] --> src/bitstream.rs:568:13 [INFO] [stdout] | [INFO] [stdout] 568 | &XC2BitstreamBits::XC2C128{ref fb, ..} => fb, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 568 - &XC2BitstreamBits::XC2C128{ref fb, ..} => fb, [INFO] [stdout] 568 + XC2BitstreamBits::XC2C128{fb, ..} => fb, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a struct pattern where every field's pattern takes a reference [INFO] [stdout] --> src/bitstream.rs:569:13 [INFO] [stdout] | [INFO] [stdout] 569 | &XC2BitstreamBits::XC2C256{ref fb, ..} => fb, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 569 - &XC2BitstreamBits::XC2C256{ref fb, ..} => fb, [INFO] [stdout] 569 + XC2BitstreamBits::XC2C256{fb, ..} => fb, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a struct pattern where every field's pattern takes a reference [INFO] [stdout] --> src/bitstream.rs:570:13 [INFO] [stdout] | [INFO] [stdout] 570 | &XC2BitstreamBits::XC2C384{ref fb, ..} => fb, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 570 - &XC2BitstreamBits::XC2C384{ref fb, ..} => fb, [INFO] [stdout] 570 + XC2BitstreamBits::XC2C384{fb, ..} => fb, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a struct pattern where every field's pattern takes a reference [INFO] [stdout] --> src/bitstream.rs:571:13 [INFO] [stdout] | [INFO] [stdout] 571 | &XC2BitstreamBits::XC2C512{ref fb, ..} => fb, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 571 - &XC2BitstreamBits::XC2C512{ref fb, ..} => fb, [INFO] [stdout] 571 + XC2BitstreamBits::XC2C512{fb, ..} => fb, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you don't need to add `&` to all patterns [INFO] [stdout] --> src/bitstream.rs:577:9 [INFO] [stdout] | [INFO] [stdout] 577 | / match self { [INFO] [stdout] 578 | | &mut XC2BitstreamBits::XC2C32{ref mut fb, ..} => fb, [INFO] [stdout] 579 | | &mut XC2BitstreamBits::XC2C32A{ref mut fb, ..} => fb, [INFO] [stdout] 580 | | &mut XC2BitstreamBits::XC2C64{ref mut fb, ..} => fb, [INFO] [stdout] ... | [INFO] [stdout] 585 | | &mut XC2BitstreamBits::XC2C512{ref mut fb, ..} => fb, [INFO] [stdout] 586 | | } [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stdout] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stdout] | [INFO] [stdout] 577 ~ match *self { [INFO] [stdout] 578 ~ XC2BitstreamBits::XC2C32{ref mut fb, ..} => fb, [INFO] [stdout] 579 ~ XC2BitstreamBits::XC2C32A{ref mut fb, ..} => fb, [INFO] [stdout] 580 ~ XC2BitstreamBits::XC2C64{ref mut fb, ..} => fb, [INFO] [stdout] 581 ~ XC2BitstreamBits::XC2C64A{ref mut fb, ..} => fb, [INFO] [stdout] 582 ~ XC2BitstreamBits::XC2C128{ref mut fb, ..} => fb, [INFO] [stdout] 583 ~ XC2BitstreamBits::XC2C256{ref mut fb, ..} => fb, [INFO] [stdout] 584 ~ XC2BitstreamBits::XC2C384{ref mut fb, ..} => fb, [INFO] [stdout] 585 ~ XC2BitstreamBits::XC2C512{ref mut fb, ..} => fb, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you don't need to add `&` to all patterns [INFO] [stdout] --> src/bitstream.rs:591:9 [INFO] [stdout] | [INFO] [stdout] 591 | / match self { [INFO] [stdout] 592 | | &XC2BitstreamBits::XC2C32{ref iobs, ..} => Some(&iobs[i]), [INFO] [stdout] 593 | | &XC2BitstreamBits::XC2C32A{ref iobs, ..} => Some(&iobs[i]), [INFO] [stdout] 594 | | &XC2BitstreamBits::XC2C64{ref iobs, ..} => Some(&iobs[i / 32][i % 32]), [INFO] [stdout] 595 | | &XC2BitstreamBits::XC2C64A{ref iobs, ..} => Some(&iobs[i / 32][i % 32]), [INFO] [stdout] 596 | | _ => None, [INFO] [stdout] 597 | | } [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stdout] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stdout] | [INFO] [stdout] 591 ~ match *self { [INFO] [stdout] 592 ~ XC2BitstreamBits::XC2C32{ref iobs, ..} => Some(&iobs[i]), [INFO] [stdout] 593 ~ XC2BitstreamBits::XC2C32A{ref iobs, ..} => Some(&iobs[i]), [INFO] [stdout] 594 ~ XC2BitstreamBits::XC2C64{ref iobs, ..} => Some(&iobs[i / 32][i % 32]), [INFO] [stdout] 595 ~ XC2BitstreamBits::XC2C64A{ref iobs, ..} => Some(&iobs[i / 32][i % 32]), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a struct pattern where every field's pattern takes a reference [INFO] [stdout] --> src/bitstream.rs:592:13 [INFO] [stdout] | [INFO] [stdout] 592 | &XC2BitstreamBits::XC2C32{ref iobs, ..} => Some(&iobs[i]), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 592 - &XC2BitstreamBits::XC2C32{ref iobs, ..} => Some(&iobs[i]), [INFO] [stdout] 592 + XC2BitstreamBits::XC2C32{iobs, ..} => Some(&iobs[i]), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a struct pattern where every field's pattern takes a reference [INFO] [stdout] --> src/bitstream.rs:593:13 [INFO] [stdout] | [INFO] [stdout] 593 | &XC2BitstreamBits::XC2C32A{ref iobs, ..} => Some(&iobs[i]), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 593 - &XC2BitstreamBits::XC2C32A{ref iobs, ..} => Some(&iobs[i]), [INFO] [stdout] 593 + XC2BitstreamBits::XC2C32A{iobs, ..} => Some(&iobs[i]), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a struct pattern where every field's pattern takes a reference [INFO] [stdout] --> src/bitstream.rs:594:13 [INFO] [stdout] | [INFO] [stdout] 594 | &XC2BitstreamBits::XC2C64{ref iobs, ..} => Some(&iobs[i / 32][i % 32]), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 594 - &XC2BitstreamBits::XC2C64{ref iobs, ..} => Some(&iobs[i / 32][i % 32]), [INFO] [stdout] 594 + XC2BitstreamBits::XC2C64{iobs, ..} => Some(&iobs[i / 32][i % 32]), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a struct pattern where every field's pattern takes a reference [INFO] [stdout] --> src/bitstream.rs:595:13 [INFO] [stdout] | [INFO] [stdout] 595 | &XC2BitstreamBits::XC2C64A{ref iobs, ..} => Some(&iobs[i / 32][i % 32]), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 595 - &XC2BitstreamBits::XC2C64A{ref iobs, ..} => Some(&iobs[i / 32][i % 32]), [INFO] [stdout] 595 + XC2BitstreamBits::XC2C64A{iobs, ..} => Some(&iobs[i / 32][i % 32]), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you don't need to add `&` to all patterns [INFO] [stdout] --> src/bitstream.rs:602:9 [INFO] [stdout] | [INFO] [stdout] 602 | / match self { [INFO] [stdout] 603 | | &mut XC2BitstreamBits::XC2C32{ref mut iobs, ..} => Some(&mut iobs[i]), [INFO] [stdout] 604 | | &mut XC2BitstreamBits::XC2C32A{ref mut iobs, ..} => Some(&mut iobs[i]), [INFO] [stdout] 605 | | &mut XC2BitstreamBits::XC2C64{ref mut iobs, ..} => Some(&mut iobs[i / 32][i % 32]), [INFO] [stdout] 606 | | &mut XC2BitstreamBits::XC2C64A{ref mut iobs, ..} => Some(&mut iobs[i / 32][i % 32]), [INFO] [stdout] 607 | | _ => None, [INFO] [stdout] 608 | | } [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stdout] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stdout] | [INFO] [stdout] 602 ~ match *self { [INFO] [stdout] 603 ~ XC2BitstreamBits::XC2C32{ref mut iobs, ..} => Some(&mut iobs[i]), [INFO] [stdout] 604 ~ XC2BitstreamBits::XC2C32A{ref mut iobs, ..} => Some(&mut iobs[i]), [INFO] [stdout] 605 ~ XC2BitstreamBits::XC2C64{ref mut iobs, ..} => Some(&mut iobs[i / 32][i % 32]), [INFO] [stdout] 606 ~ XC2BitstreamBits::XC2C64A{ref mut iobs, ..} => Some(&mut iobs[i / 32][i % 32]), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you don't need to add `&` to all patterns [INFO] [stdout] --> src/bitstream.rs:613:9 [INFO] [stdout] | [INFO] [stdout] 613 | / match self { [INFO] [stdout] 614 | | &XC2BitstreamBits::XC2C128{ref iobs, ..} => Some(&iobs[i / 25][i % 25]), [INFO] [stdout] 615 | | &XC2BitstreamBits::XC2C256{ref iobs, ..} => Some(&iobs[i / 23][i % 23]), [INFO] [stdout] 616 | | &XC2BitstreamBits::XC2C384{ref iobs, ..} => Some(&iobs[i / 24][i % 24]), [INFO] [stdout] 617 | | &XC2BitstreamBits::XC2C512{ref iobs, ..} => Some(&iobs[i / 27][i % 27]), [INFO] [stdout] 618 | | _ => None, [INFO] [stdout] 619 | | } [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stdout] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stdout] | [INFO] [stdout] 613 ~ match *self { [INFO] [stdout] 614 ~ XC2BitstreamBits::XC2C128{ref iobs, ..} => Some(&iobs[i / 25][i % 25]), [INFO] [stdout] 615 ~ XC2BitstreamBits::XC2C256{ref iobs, ..} => Some(&iobs[i / 23][i % 23]), [INFO] [stdout] 616 ~ XC2BitstreamBits::XC2C384{ref iobs, ..} => Some(&iobs[i / 24][i % 24]), [INFO] [stdout] 617 ~ XC2BitstreamBits::XC2C512{ref iobs, ..} => Some(&iobs[i / 27][i % 27]), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a struct pattern where every field's pattern takes a reference [INFO] [stdout] --> src/bitstream.rs:614:13 [INFO] [stdout] | [INFO] [stdout] 614 | &XC2BitstreamBits::XC2C128{ref iobs, ..} => Some(&iobs[i / 25][i % 25]), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 614 - &XC2BitstreamBits::XC2C128{ref iobs, ..} => Some(&iobs[i / 25][i % 25]), [INFO] [stdout] 614 + XC2BitstreamBits::XC2C128{iobs, ..} => Some(&iobs[i / 25][i % 25]), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a struct pattern where every field's pattern takes a reference [INFO] [stdout] --> src/bitstream.rs:615:13 [INFO] [stdout] | [INFO] [stdout] 615 | &XC2BitstreamBits::XC2C256{ref iobs, ..} => Some(&iobs[i / 23][i % 23]), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 615 - &XC2BitstreamBits::XC2C256{ref iobs, ..} => Some(&iobs[i / 23][i % 23]), [INFO] [stdout] 615 + XC2BitstreamBits::XC2C256{iobs, ..} => Some(&iobs[i / 23][i % 23]), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a struct pattern where every field's pattern takes a reference [INFO] [stdout] --> src/bitstream.rs:616:13 [INFO] [stdout] | [INFO] [stdout] 616 | &XC2BitstreamBits::XC2C384{ref iobs, ..} => Some(&iobs[i / 24][i % 24]), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 616 - &XC2BitstreamBits::XC2C384{ref iobs, ..} => Some(&iobs[i / 24][i % 24]), [INFO] [stdout] 616 + XC2BitstreamBits::XC2C384{iobs, ..} => Some(&iobs[i / 24][i % 24]), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a struct pattern where every field's pattern takes a reference [INFO] [stdout] --> src/bitstream.rs:617:13 [INFO] [stdout] | [INFO] [stdout] 617 | &XC2BitstreamBits::XC2C512{ref iobs, ..} => Some(&iobs[i / 27][i % 27]), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 617 - &XC2BitstreamBits::XC2C512{ref iobs, ..} => Some(&iobs[i / 27][i % 27]), [INFO] [stdout] 617 + XC2BitstreamBits::XC2C512{iobs, ..} => Some(&iobs[i / 27][i % 27]), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you don't need to add `&` to all patterns [INFO] [stdout] --> src/bitstream.rs:624:9 [INFO] [stdout] | [INFO] [stdout] 624 | / match self { [INFO] [stdout] 625 | | &mut XC2BitstreamBits::XC2C128{ref mut iobs, ..} => Some(&mut iobs[i / 25][i % 25]), [INFO] [stdout] 626 | | &mut XC2BitstreamBits::XC2C256{ref mut iobs, ..} => Some(&mut iobs[i / 23][i % 23]), [INFO] [stdout] 627 | | &mut XC2BitstreamBits::XC2C384{ref mut iobs, ..} => Some(&mut iobs[i / 24][i % 24]), [INFO] [stdout] 628 | | &mut XC2BitstreamBits::XC2C512{ref mut iobs, ..} => Some(&mut iobs[i / 27][i % 27]), [INFO] [stdout] 629 | | _ => None, [INFO] [stdout] 630 | | } [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stdout] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stdout] | [INFO] [stdout] 624 ~ match *self { [INFO] [stdout] 625 ~ XC2BitstreamBits::XC2C128{ref mut iobs, ..} => Some(&mut iobs[i / 25][i % 25]), [INFO] [stdout] 626 ~ XC2BitstreamBits::XC2C256{ref mut iobs, ..} => Some(&mut iobs[i / 23][i % 23]), [INFO] [stdout] 627 ~ XC2BitstreamBits::XC2C384{ref mut iobs, ..} => Some(&mut iobs[i / 24][i % 24]), [INFO] [stdout] 628 ~ XC2BitstreamBits::XC2C512{ref mut iobs, ..} => Some(&mut iobs[i / 27][i % 27]), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you don't need to add `&` to all patterns [INFO] [stdout] --> src/bitstream.rs:635:9 [INFO] [stdout] | [INFO] [stdout] 635 | / match self { [INFO] [stdout] 636 | | &XC2BitstreamBits::XC2C32{ref global_nets, ..} => global_nets, [INFO] [stdout] 637 | | &XC2BitstreamBits::XC2C32A{ref global_nets, ..} => global_nets, [INFO] [stdout] 638 | | &XC2BitstreamBits::XC2C64{ref global_nets, ..} => global_nets, [INFO] [stdout] ... | [INFO] [stdout] 643 | | &XC2BitstreamBits::XC2C512{ref global_nets, ..} => global_nets, [INFO] [stdout] 644 | | } [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stdout] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stdout] | [INFO] [stdout] 635 ~ match *self { [INFO] [stdout] 636 ~ XC2BitstreamBits::XC2C32{ref global_nets, ..} => global_nets, [INFO] [stdout] 637 ~ XC2BitstreamBits::XC2C32A{ref global_nets, ..} => global_nets, [INFO] [stdout] 638 ~ XC2BitstreamBits::XC2C64{ref global_nets, ..} => global_nets, [INFO] [stdout] 639 ~ XC2BitstreamBits::XC2C64A{ref global_nets, ..} => global_nets, [INFO] [stdout] 640 ~ XC2BitstreamBits::XC2C128{ref global_nets, ..} => global_nets, [INFO] [stdout] 641 ~ XC2BitstreamBits::XC2C256{ref global_nets, ..} => global_nets, [INFO] [stdout] 642 ~ XC2BitstreamBits::XC2C384{ref global_nets, ..} => global_nets, [INFO] [stdout] 643 ~ XC2BitstreamBits::XC2C512{ref global_nets, ..} => global_nets, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a struct pattern where every field's pattern takes a reference [INFO] [stdout] --> src/bitstream.rs:636:13 [INFO] [stdout] | [INFO] [stdout] 636 | &XC2BitstreamBits::XC2C32{ref global_nets, ..} => global_nets, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 636 - &XC2BitstreamBits::XC2C32{ref global_nets, ..} => global_nets, [INFO] [stdout] 636 + XC2BitstreamBits::XC2C32{global_nets, ..} => global_nets, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a struct pattern where every field's pattern takes a reference [INFO] [stdout] --> src/bitstream.rs:637:13 [INFO] [stdout] | [INFO] [stdout] 637 | &XC2BitstreamBits::XC2C32A{ref global_nets, ..} => global_nets, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 637 - &XC2BitstreamBits::XC2C32A{ref global_nets, ..} => global_nets, [INFO] [stdout] 637 + XC2BitstreamBits::XC2C32A{global_nets, ..} => global_nets, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a struct pattern where every field's pattern takes a reference [INFO] [stdout] --> src/bitstream.rs:638:13 [INFO] [stdout] | [INFO] [stdout] 638 | &XC2BitstreamBits::XC2C64{ref global_nets, ..} => global_nets, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 638 - &XC2BitstreamBits::XC2C64{ref global_nets, ..} => global_nets, [INFO] [stdout] 638 + XC2BitstreamBits::XC2C64{global_nets, ..} => global_nets, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a struct pattern where every field's pattern takes a reference [INFO] [stdout] --> src/bitstream.rs:639:13 [INFO] [stdout] | [INFO] [stdout] 639 | &XC2BitstreamBits::XC2C64A{ref global_nets, ..} => global_nets, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 639 - &XC2BitstreamBits::XC2C64A{ref global_nets, ..} => global_nets, [INFO] [stdout] 639 + XC2BitstreamBits::XC2C64A{global_nets, ..} => global_nets, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a struct pattern where every field's pattern takes a reference [INFO] [stdout] --> src/bitstream.rs:640:13 [INFO] [stdout] | [INFO] [stdout] 640 | &XC2BitstreamBits::XC2C128{ref global_nets, ..} => global_nets, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 640 - &XC2BitstreamBits::XC2C128{ref global_nets, ..} => global_nets, [INFO] [stdout] 640 + XC2BitstreamBits::XC2C128{global_nets, ..} => global_nets, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a struct pattern where every field's pattern takes a reference [INFO] [stdout] --> src/bitstream.rs:641:13 [INFO] [stdout] | [INFO] [stdout] 641 | &XC2BitstreamBits::XC2C256{ref global_nets, ..} => global_nets, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 641 - &XC2BitstreamBits::XC2C256{ref global_nets, ..} => global_nets, [INFO] [stdout] 641 + XC2BitstreamBits::XC2C256{global_nets, ..} => global_nets, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a struct pattern where every field's pattern takes a reference [INFO] [stdout] --> src/bitstream.rs:642:13 [INFO] [stdout] | [INFO] [stdout] 642 | &XC2BitstreamBits::XC2C384{ref global_nets, ..} => global_nets, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 642 - &XC2BitstreamBits::XC2C384{ref global_nets, ..} => global_nets, [INFO] [stdout] 642 + XC2BitstreamBits::XC2C384{global_nets, ..} => global_nets, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a struct pattern where every field's pattern takes a reference [INFO] [stdout] --> src/bitstream.rs:643:13 [INFO] [stdout] | [INFO] [stdout] 643 | &XC2BitstreamBits::XC2C512{ref global_nets, ..} => global_nets, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 643 - &XC2BitstreamBits::XC2C512{ref global_nets, ..} => global_nets, [INFO] [stdout] 643 + XC2BitstreamBits::XC2C512{global_nets, ..} => global_nets, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you don't need to add `&` to all patterns [INFO] [stdout] --> src/bitstream.rs:649:9 [INFO] [stdout] | [INFO] [stdout] 649 | / match self { [INFO] [stdout] 650 | | &mut XC2BitstreamBits::XC2C32{ref mut global_nets, ..} => global_nets, [INFO] [stdout] 651 | | &mut XC2BitstreamBits::XC2C32A{ref mut global_nets, ..} => global_nets, [INFO] [stdout] 652 | | &mut XC2BitstreamBits::XC2C64{ref mut global_nets, ..} => global_nets, [INFO] [stdout] ... | [INFO] [stdout] 657 | | &mut XC2BitstreamBits::XC2C512{ref mut global_nets, ..} => global_nets, [INFO] [stdout] 658 | | } [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stdout] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stdout] | [INFO] [stdout] 649 ~ match *self { [INFO] [stdout] 650 ~ XC2BitstreamBits::XC2C32{ref mut global_nets, ..} => global_nets, [INFO] [stdout] 651 ~ XC2BitstreamBits::XC2C32A{ref mut global_nets, ..} => global_nets, [INFO] [stdout] 652 ~ XC2BitstreamBits::XC2C64{ref mut global_nets, ..} => global_nets, [INFO] [stdout] 653 ~ XC2BitstreamBits::XC2C64A{ref mut global_nets, ..} => global_nets, [INFO] [stdout] 654 ~ XC2BitstreamBits::XC2C128{ref mut global_nets, ..} => global_nets, [INFO] [stdout] 655 ~ XC2BitstreamBits::XC2C256{ref mut global_nets, ..} => global_nets, [INFO] [stdout] 656 ~ XC2BitstreamBits::XC2C384{ref mut global_nets, ..} => global_nets, [INFO] [stdout] 657 ~ XC2BitstreamBits::XC2C512{ref mut global_nets, ..} => global_nets, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you don't need to add `&` to all patterns [INFO] [stdout] --> src/bitstream.rs:662:9 [INFO] [stdout] | [INFO] [stdout] 662 | / match self { [INFO] [stdout] 663 | | &XC2BitstreamBits::XC2C32{..} => None, [INFO] [stdout] 664 | | &XC2BitstreamBits::XC2C32A{..} => None, [INFO] [stdout] 665 | | &XC2BitstreamBits::XC2C64{..} => None, [INFO] [stdout] ... | [INFO] [stdout] 670 | | &XC2BitstreamBits::XC2C512{ref clock_div, ..} => Some(clock_div), [INFO] [stdout] 671 | | } [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stdout] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stdout] | [INFO] [stdout] 662 ~ match *self { [INFO] [stdout] 663 ~ XC2BitstreamBits::XC2C32{..} => None, [INFO] [stdout] 664 ~ XC2BitstreamBits::XC2C32A{..} => None, [INFO] [stdout] 665 ~ XC2BitstreamBits::XC2C64{..} => None, [INFO] [stdout] 666 ~ XC2BitstreamBits::XC2C64A{..} => None, [INFO] [stdout] 667 ~ XC2BitstreamBits::XC2C128{ref clock_div, ..} => Some(clock_div), [INFO] [stdout] 668 ~ XC2BitstreamBits::XC2C256{ref clock_div, ..} => Some(clock_div), [INFO] [stdout] 669 ~ XC2BitstreamBits::XC2C384{ref clock_div, ..} => Some(clock_div), [INFO] [stdout] 670 ~ XC2BitstreamBits::XC2C512{ref clock_div, ..} => Some(clock_div), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a struct pattern where every field's pattern takes a reference [INFO] [stdout] --> src/bitstream.rs:667:13 [INFO] [stdout] | [INFO] [stdout] 667 | &XC2BitstreamBits::XC2C128{ref clock_div, ..} => Some(clock_div), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 667 - &XC2BitstreamBits::XC2C128{ref clock_div, ..} => Some(clock_div), [INFO] [stdout] 667 + XC2BitstreamBits::XC2C128{clock_div, ..} => Some(clock_div), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a struct pattern where every field's pattern takes a reference [INFO] [stdout] --> src/bitstream.rs:668:13 [INFO] [stdout] | [INFO] [stdout] 668 | &XC2BitstreamBits::XC2C256{ref clock_div, ..} => Some(clock_div), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 668 - &XC2BitstreamBits::XC2C256{ref clock_div, ..} => Some(clock_div), [INFO] [stdout] 668 + XC2BitstreamBits::XC2C256{clock_div, ..} => Some(clock_div), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a struct pattern where every field's pattern takes a reference [INFO] [stdout] --> src/bitstream.rs:669:13 [INFO] [stdout] | [INFO] [stdout] 669 | &XC2BitstreamBits::XC2C384{ref clock_div, ..} => Some(clock_div), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 669 - &XC2BitstreamBits::XC2C384{ref clock_div, ..} => Some(clock_div), [INFO] [stdout] 669 + XC2BitstreamBits::XC2C384{clock_div, ..} => Some(clock_div), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a struct pattern where every field's pattern takes a reference [INFO] [stdout] --> src/bitstream.rs:670:13 [INFO] [stdout] | [INFO] [stdout] 670 | &XC2BitstreamBits::XC2C512{ref clock_div, ..} => Some(clock_div), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 670 - &XC2BitstreamBits::XC2C512{ref clock_div, ..} => Some(clock_div), [INFO] [stdout] 670 + XC2BitstreamBits::XC2C512{clock_div, ..} => Some(clock_div), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a struct pattern where every field's pattern takes a reference [INFO] [stdout] --> src/bitstream.rs:730:13 [INFO] [stdout] | [INFO] [stdout] 730 | &XC2BitstreamBits::XC2C128 {ref ivoltage, ref ovoltage, ref data_gate, ref use_vref, ..} => { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 730 - &XC2BitstreamBits::XC2C128 {ref ivoltage, ref ovoltage, ref data_gate, ref use_vref, ..} => { [INFO] [stdout] 730 + XC2BitstreamBits::XC2C128 {ivoltage, ovoltage, data_gate, use_vref, ..} => { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a struct pattern where every field's pattern takes a reference [INFO] [stdout] --> src/bitstream.rs:740:13 [INFO] [stdout] | [INFO] [stdout] 740 | &XC2BitstreamBits::XC2C256 {ref ivoltage, ref ovoltage, ref data_gate, ref use_vref, ..} => { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 740 - &XC2BitstreamBits::XC2C256 {ref ivoltage, ref ovoltage, ref data_gate, ref use_vref, ..} => { [INFO] [stdout] 740 + XC2BitstreamBits::XC2C256 {ivoltage, ovoltage, data_gate, use_vref, ..} => { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a struct pattern where every field's pattern takes a reference [INFO] [stdout] --> src/bitstream.rs:750:13 [INFO] [stdout] | [INFO] [stdout] 750 | &XC2BitstreamBits::XC2C384 {ref ivoltage, ref ovoltage, ref data_gate, ref use_vref, ..} => { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 750 - &XC2BitstreamBits::XC2C384 {ref ivoltage, ref ovoltage, ref data_gate, ref use_vref, ..} => { [INFO] [stdout] 750 + XC2BitstreamBits::XC2C384 {ivoltage, ovoltage, data_gate, use_vref, ..} => { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a struct pattern where every field's pattern takes a reference [INFO] [stdout] --> src/bitstream.rs:764:13 [INFO] [stdout] | [INFO] [stdout] 764 | &XC2BitstreamBits::XC2C512 {ref ivoltage, ref ovoltage, ref data_gate, ref use_vref, ..} => { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 764 - &XC2BitstreamBits::XC2C512 {ref ivoltage, ref ovoltage, ref data_gate, ref use_vref, ..} => { [INFO] [stdout] 764 + XC2BitstreamBits::XC2C512 {ivoltage, ovoltage, data_gate, use_vref, ..} => { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you don't need to add `&` to all patterns [INFO] [stdout] --> src/bitstream.rs:781:9 [INFO] [stdout] | [INFO] [stdout] 781 | / match self { [INFO] [stdout] 782 | | &XC2BitstreamBits::XC2C32A {ref ivoltage, ref ovoltage, ..} => { [INFO] [stdout] 783 | | fuse_array.set(131, 25, !ivoltage[0]); [INFO] [stdout] 784 | | fuse_array.set(132, 25, !ovoltage[0]); [INFO] [stdout] ... | [INFO] [stdout] 794 | | _ => {} [INFO] [stdout] 795 | | } [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stdout] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stdout] | [INFO] [stdout] 781 ~ match *self { [INFO] [stdout] 782 ~ XC2BitstreamBits::XC2C32A {ref ivoltage, ref ovoltage, ..} => { [INFO] [stdout] 783 | fuse_array.set(131, 25, !ivoltage[0]); [INFO] [stdout] ... [INFO] [stdout] 787 | }, [INFO] [stdout] 788 ~ XC2BitstreamBits::XC2C64A {ref ivoltage, ref ovoltage, ..} => { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a struct pattern where every field's pattern takes a reference [INFO] [stdout] --> src/bitstream.rs:782:13 [INFO] [stdout] | [INFO] [stdout] 782 | &XC2BitstreamBits::XC2C32A {ref ivoltage, ref ovoltage, ..} => { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 782 - &XC2BitstreamBits::XC2C32A {ref ivoltage, ref ovoltage, ..} => { [INFO] [stdout] 782 + XC2BitstreamBits::XC2C32A {ivoltage, ovoltage, ..} => { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a struct pattern where every field's pattern takes a reference [INFO] [stdout] --> src/bitstream.rs:788:13 [INFO] [stdout] | [INFO] [stdout] 788 | &XC2BitstreamBits::XC2C64A {ref ivoltage, ref ovoltage, ..} => { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 788 - &XC2BitstreamBits::XC2C64A {ref ivoltage, ref ovoltage, ..} => { [INFO] [stdout] 788 + XC2BitstreamBits::XC2C64A {ivoltage, ovoltage, ..} => { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `write!()` with a format string that ends in a single newline [INFO] [stdout] --> src/bitstream.rs:830:9 [INFO] [stdout] | [INFO] [stdout] 830 | write!(writer, "device type: {}\n", self.device_type())?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stdout] help: use `writeln!` instead [INFO] [stdout] | [INFO] [stdout] 830 - write!(writer, "device type: {}\n", self.device_type())?; [INFO] [stdout] 830 + writeln!(writer, "device type: {}", self.device_type())?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `write!()` with a format string that ends in a single newline [INFO] [stdout] --> src/bitstream.rs:836:17 [INFO] [stdout] | [INFO] [stdout] 836 | write!(writer, "output voltage range: {}\n", if *ovoltage {"high"} else {"low"})?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stdout] help: use `writeln!` instead [INFO] [stdout] | [INFO] [stdout] 836 - write!(writer, "output voltage range: {}\n", if *ovoltage {"high"} else {"low"})?; [INFO] [stdout] 836 + writeln!(writer, "output voltage range: {}", if *ovoltage {"high"} else {"low"})?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `write!()` with a format string that ends in a single newline [INFO] [stdout] --> src/bitstream.rs:837:17 [INFO] [stdout] | [INFO] [stdout] 837 | write!(writer, "input voltage range: {}\n", if *ivoltage {"high"} else {"low"})?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stdout] help: use `writeln!` instead [INFO] [stdout] | [INFO] [stdout] 837 - write!(writer, "input voltage range: {}\n", if *ivoltage {"high"} else {"low"})?; [INFO] [stdout] 837 + writeln!(writer, "input voltage range: {}", if *ivoltage {"high"} else {"low"})?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `write!()` with a format string that ends in a single newline [INFO] [stdout] --> src/bitstream.rs:841:17 [INFO] [stdout] | [INFO] [stdout] 841 | write!(writer, "legacy output voltage range: {}\n", if *legacy_ovoltage {"high"} else {"low"})?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stdout] help: use `writeln!` instead [INFO] [stdout] | [INFO] [stdout] 841 - write!(writer, "legacy output voltage range: {}\n", if *legacy_ovoltage {"high"} else {"low"})?; [INFO] [stdout] 841 + writeln!(writer, "legacy output voltage range: {}", if *legacy_ovoltage {"high"} else {"low"})?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `write!()` with a format string that ends in a single newline [INFO] [stdout] --> src/bitstream.rs:842:17 [INFO] [stdout] | [INFO] [stdout] 842 | write!(writer, "legacy input voltage range: {}\n", if *legacy_ivoltage {"high"} else {"low"})?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stdout] help: use `writeln!` instead [INFO] [stdout] | [INFO] [stdout] 842 - write!(writer, "legacy input voltage range: {}\n", if *legacy_ivoltage {"high"} else {"low"})?; [INFO] [stdout] 842 + writeln!(writer, "legacy input voltage range: {}", if *legacy_ivoltage {"high"} else {"low"})?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `write!()` with a format string that ends in a single newline [INFO] [stdout] --> src/bitstream.rs:843:17 [INFO] [stdout] | [INFO] [stdout] 843 | write!(writer, "bank 0 output voltage range: {}\n", if ovoltage[0] {"high"} else {"low"})?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stdout] help: use `writeln!` instead [INFO] [stdout] | [INFO] [stdout] 843 - write!(writer, "bank 0 output voltage range: {}\n", if ovoltage[0] {"high"} else {"low"})?; [INFO] [stdout] 843 + writeln!(writer, "bank 0 output voltage range: {}", if ovoltage[0] {"high"} else {"low"})?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `write!()` with a format string that ends in a single newline [INFO] [stdout] --> src/bitstream.rs:844:17 [INFO] [stdout] | [INFO] [stdout] 844 | write!(writer, "bank 1 output voltage range: {}\n", if ovoltage[1] {"high"} else {"low"})?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stdout] help: use `writeln!` instead [INFO] [stdout] | [INFO] [stdout] 844 - write!(writer, "bank 1 output voltage range: {}\n", if ovoltage[1] {"high"} else {"low"})?; [INFO] [stdout] 844 + writeln!(writer, "bank 1 output voltage range: {}", if ovoltage[1] {"high"} else {"low"})?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `write!()` with a format string that ends in a single newline [INFO] [stdout] --> src/bitstream.rs:845:17 [INFO] [stdout] | [INFO] [stdout] 845 | write!(writer, "bank 0 input voltage range: {}\n", if ivoltage[0] {"high"} else {"low"})?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stdout] help: use `writeln!` instead [INFO] [stdout] | [INFO] [stdout] 845 - write!(writer, "bank 0 input voltage range: {}\n", if ivoltage[0] {"high"} else {"low"})?; [INFO] [stdout] 845 + writeln!(writer, "bank 0 input voltage range: {}", if ivoltage[0] {"high"} else {"low"})?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `write!()` with a format string that ends in a single newline [INFO] [stdout] --> src/bitstream.rs:846:17 [INFO] [stdout] | [INFO] [stdout] 846 | write!(writer, "bank 1 input voltage range: {}\n", if ivoltage[1] {"high"} else {"low"})?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stdout] help: use `writeln!` instead [INFO] [stdout] | [INFO] [stdout] 846 - write!(writer, "bank 1 input voltage range: {}\n", if ivoltage[1] {"high"} else {"low"})?; [INFO] [stdout] 846 + writeln!(writer, "bank 1 input voltage range: {}", if ivoltage[1] {"high"} else {"low"})?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `write!()` with a format string that ends in a single newline [INFO] [stdout] --> src/bitstream.rs:850:17 [INFO] [stdout] | [INFO] [stdout] 850 | write!(writer, "bank 0 output voltage range: {}\n", if ovoltage[0] {"high"} else {"low"})?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stdout] help: use `writeln!` instead [INFO] [stdout] | [INFO] [stdout] 850 - write!(writer, "bank 0 output voltage range: {}\n", if ovoltage[0] {"high"} else {"low"})?; [INFO] [stdout] 850 + writeln!(writer, "bank 0 output voltage range: {}", if ovoltage[0] {"high"} else {"low"})?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `write!()` with a format string that ends in a single newline [INFO] [stdout] --> src/bitstream.rs:851:17 [INFO] [stdout] | [INFO] [stdout] 851 | write!(writer, "bank 1 output voltage range: {}\n", if ovoltage[1] {"high"} else {"low"})?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stdout] help: use `writeln!` instead [INFO] [stdout] | [INFO] [stdout] 851 - write!(writer, "bank 1 output voltage range: {}\n", if ovoltage[1] {"high"} else {"low"})?; [INFO] [stdout] 851 + writeln!(writer, "bank 1 output voltage range: {}", if ovoltage[1] {"high"} else {"low"})?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `write!()` with a format string that ends in a single newline [INFO] [stdout] --> src/bitstream.rs:852:17 [INFO] [stdout] | [INFO] [stdout] 852 | write!(writer, "bank 0 input voltage range: {}\n", if ivoltage[0] {"high"} else {"low"})?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stdout] help: use `writeln!` instead [INFO] [stdout] | [INFO] [stdout] 852 - write!(writer, "bank 0 input voltage range: {}\n", if ivoltage[0] {"high"} else {"low"})?; [INFO] [stdout] 852 + writeln!(writer, "bank 0 input voltage range: {}", if ivoltage[0] {"high"} else {"low"})?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `write!()` with a format string that ends in a single newline [INFO] [stdout] --> src/bitstream.rs:853:17 [INFO] [stdout] | [INFO] [stdout] 853 | write!(writer, "bank 1 input voltage range: {}\n", if ivoltage[1] {"high"} else {"low"})?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stdout] help: use `writeln!` instead [INFO] [stdout] | [INFO] [stdout] 853 - write!(writer, "bank 1 input voltage range: {}\n", if ivoltage[1] {"high"} else {"low"})?; [INFO] [stdout] 853 + writeln!(writer, "bank 1 input voltage range: {}", if ivoltage[1] {"high"} else {"low"})?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `write!()` with a format string that ends in a single newline [INFO] [stdout] --> src/bitstream.rs:854:17 [INFO] [stdout] | [INFO] [stdout] 854 | write!(writer, "DataGate used: {}\n", if *data_gate {"yes"} else {"no"})?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stdout] help: use `writeln!` instead [INFO] [stdout] | [INFO] [stdout] 854 - write!(writer, "DataGate used: {}\n", if *data_gate {"yes"} else {"no"})?; [INFO] [stdout] 854 + writeln!(writer, "DataGate used: {}", if *data_gate {"yes"} else {"no"})?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `write!()` with a format string that ends in a single newline [INFO] [stdout] --> src/bitstream.rs:855:17 [INFO] [stdout] | [INFO] [stdout] 855 | write!(writer, "VREF used: {}\n", if *use_vref {"yes"} else {"no"})?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stdout] help: use `writeln!` instead [INFO] [stdout] | [INFO] [stdout] 855 - write!(writer, "VREF used: {}\n", if *use_vref {"yes"} else {"no"})?; [INFO] [stdout] 855 + writeln!(writer, "VREF used: {}", if *use_vref {"yes"} else {"no"})?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `write!()` with a format string that ends in a single newline [INFO] [stdout] --> src/bitstream.rs:859:17 [INFO] [stdout] | [INFO] [stdout] 859 | write!(writer, "bank 0 output voltage range: {}\n", if ovoltage[0] {"high"} else {"low"})?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stdout] help: use `writeln!` instead [INFO] [stdout] | [INFO] [stdout] 859 - write!(writer, "bank 0 output voltage range: {}\n", if ovoltage[0] {"high"} else {"low"})?; [INFO] [stdout] 859 + writeln!(writer, "bank 0 output voltage range: {}", if ovoltage[0] {"high"} else {"low"})?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `write!()` with a format string that ends in a single newline [INFO] [stdout] --> src/bitstream.rs:860:17 [INFO] [stdout] | [INFO] [stdout] 860 | write!(writer, "bank 1 output voltage range: {}\n", if ovoltage[1] {"high"} else {"low"})?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stdout] help: use `writeln!` instead [INFO] [stdout] | [INFO] [stdout] 860 - write!(writer, "bank 1 output voltage range: {}\n", if ovoltage[1] {"high"} else {"low"})?; [INFO] [stdout] 860 + writeln!(writer, "bank 1 output voltage range: {}", if ovoltage[1] {"high"} else {"low"})?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `write!()` with a format string that ends in a single newline [INFO] [stdout] --> src/bitstream.rs:861:17 [INFO] [stdout] | [INFO] [stdout] 861 | write!(writer, "bank 2 output voltage range: {}\n", if ovoltage[2] {"high"} else {"low"})?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stdout] help: use `writeln!` instead [INFO] [stdout] | [INFO] [stdout] 861 - write!(writer, "bank 2 output voltage range: {}\n", if ovoltage[2] {"high"} else {"low"})?; [INFO] [stdout] 861 + writeln!(writer, "bank 2 output voltage range: {}", if ovoltage[2] {"high"} else {"low"})?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `write!()` with a format string that ends in a single newline [INFO] [stdout] --> src/bitstream.rs:862:17 [INFO] [stdout] | [INFO] [stdout] 862 | write!(writer, "bank 3 output voltage range: {}\n", if ovoltage[3] {"high"} else {"low"})?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stdout] help: use `writeln!` instead [INFO] [stdout] | [INFO] [stdout] 862 - write!(writer, "bank 3 output voltage range: {}\n", if ovoltage[3] {"high"} else {"low"})?; [INFO] [stdout] 862 + writeln!(writer, "bank 3 output voltage range: {}", if ovoltage[3] {"high"} else {"low"})?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `write!()` with a format string that ends in a single newline [INFO] [stdout] --> src/bitstream.rs:863:17 [INFO] [stdout] | [INFO] [stdout] 863 | write!(writer, "bank 0 input voltage range: {}\n", if ivoltage[0] {"high"} else {"low"})?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stdout] help: use `writeln!` instead [INFO] [stdout] | [INFO] [stdout] 863 - write!(writer, "bank 0 input voltage range: {}\n", if ivoltage[0] {"high"} else {"low"})?; [INFO] [stdout] 863 + writeln!(writer, "bank 0 input voltage range: {}", if ivoltage[0] {"high"} else {"low"})?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `write!()` with a format string that ends in a single newline [INFO] [stdout] --> src/bitstream.rs:864:17 [INFO] [stdout] | [INFO] [stdout] 864 | write!(writer, "bank 1 input voltage range: {}\n", if ivoltage[1] {"high"} else {"low"})?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stdout] help: use `writeln!` instead [INFO] [stdout] | [INFO] [stdout] 864 - write!(writer, "bank 1 input voltage range: {}\n", if ivoltage[1] {"high"} else {"low"})?; [INFO] [stdout] 864 + writeln!(writer, "bank 1 input voltage range: {}", if ivoltage[1] {"high"} else {"low"})?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `write!()` with a format string that ends in a single newline [INFO] [stdout] --> src/bitstream.rs:865:17 [INFO] [stdout] | [INFO] [stdout] 865 | write!(writer, "bank 2 input voltage range: {}\n", if ivoltage[2] {"high"} else {"low"})?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stdout] help: use `writeln!` instead [INFO] [stdout] | [INFO] [stdout] 865 - write!(writer, "bank 2 input voltage range: {}\n", if ivoltage[2] {"high"} else {"low"})?; [INFO] [stdout] 865 + writeln!(writer, "bank 2 input voltage range: {}", if ivoltage[2] {"high"} else {"low"})?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `write!()` with a format string that ends in a single newline [INFO] [stdout] --> src/bitstream.rs:866:17 [INFO] [stdout] | [INFO] [stdout] 866 | write!(writer, "bank 3 input voltage range: {}\n", if ivoltage[3] {"high"} else {"low"})?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stdout] help: use `writeln!` instead [INFO] [stdout] | [INFO] [stdout] 866 - write!(writer, "bank 3 input voltage range: {}\n", if ivoltage[3] {"high"} else {"low"})?; [INFO] [stdout] 866 + writeln!(writer, "bank 3 input voltage range: {}", if ivoltage[3] {"high"} else {"low"})?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `write!()` with a format string that ends in a single newline [INFO] [stdout] --> src/bitstream.rs:867:17 [INFO] [stdout] | [INFO] [stdout] 867 | write!(writer, "DataGate used: {}\n", if *data_gate {"yes"} else {"no"})?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stdout] help: use `writeln!` instead [INFO] [stdout] | [INFO] [stdout] 867 - write!(writer, "DataGate used: {}\n", if *data_gate {"yes"} else {"no"})?; [INFO] [stdout] 867 + writeln!(writer, "DataGate used: {}", if *data_gate {"yes"} else {"no"})?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `write!()` with a format string that ends in a single newline [INFO] [stdout] --> src/bitstream.rs:868:17 [INFO] [stdout] | [INFO] [stdout] 868 | write!(writer, "VREF used: {}\n", if *use_vref {"yes"} else {"no"})?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stdout] help: use `writeln!` instead [INFO] [stdout] | [INFO] [stdout] 868 - write!(writer, "VREF used: {}\n", if *use_vref {"yes"} else {"no"})?; [INFO] [stdout] 868 + writeln!(writer, "VREF used: {}", if *use_vref {"yes"} else {"no"})?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `iob` after checking its variant with `is_some` [INFO] [stdout] --> src/bitstream.rs:937:35 [INFO] [stdout] | [INFO] [stdout] 936 | if iob.is_some() { [INFO] [stdout] | ---------------- help: try: `if let Some() = iob` [INFO] [stdout] 937 | let iob = iob.unwrap() as usize; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] = note: `#[warn(clippy::unnecessary_unwrap)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/bitstream.rs:951:15 [INFO] [stdout] | [INFO] [stdout] 951 | jed.f[gck_fuse_idx(self.device_type()) + 0] = self.get_global_nets().gck_enable[0]; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider reducing it to: `gck_fuse_idx(self.device_type())` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] = note: `#[warn(clippy::identity_op)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/bitstream.rs:971:15 [INFO] [stdout] | [INFO] [stdout] 971 | jed.f[gsr_fuse_idx(self.device_type()) + 0] = self.get_global_nets().gsr_invert; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider reducing it to: `gsr_fuse_idx(self.device_type())` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/bitstream.rs:976:15 [INFO] [stdout] | [INFO] [stdout] 976 | jed.f[gts_fuse_idx(self.device_type()) + 0] = self.get_global_nets().gts_invert[0]; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider reducing it to: `gts_fuse_idx(self.device_type())` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a struct pattern where every field's pattern takes a reference [INFO] [stdout] --> src/bitstream.rs:1010:13 [INFO] [stdout] | [INFO] [stdout] 1010 | &XC2BitstreamBits::XC2C128 {ref ivoltage, ref ovoltage, ref data_gate, ref use_vref, ..} => { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 1010 - &XC2BitstreamBits::XC2C128 {ref ivoltage, ref ovoltage, ref data_gate, ref use_vref, ..} => { [INFO] [stdout] 1010 + XC2BitstreamBits::XC2C128 {ivoltage, ovoltage, data_gate, use_vref, ..} => { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a struct pattern where every field's pattern takes a reference [INFO] [stdout] --> src/bitstream.rs:1024:13 [INFO] [stdout] | [INFO] [stdout] 1024 | &XC2BitstreamBits::XC2C256 {ref ivoltage, ref ovoltage, ref data_gate, ref use_vref, ..} => { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 1024 - &XC2BitstreamBits::XC2C256 {ref ivoltage, ref ovoltage, ref data_gate, ref use_vref, ..} => { [INFO] [stdout] 1024 + XC2BitstreamBits::XC2C256 {ivoltage, ovoltage, data_gate, use_vref, ..} => { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a struct pattern where every field's pattern takes a reference [INFO] [stdout] --> src/bitstream.rs:1038:13 [INFO] [stdout] | [INFO] [stdout] 1038 | &XC2BitstreamBits::XC2C384 {ref ivoltage, ref ovoltage, ref data_gate, ref use_vref, ..} => { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 1038 - &XC2BitstreamBits::XC2C384 {ref ivoltage, ref ovoltage, ref data_gate, ref use_vref, ..} => { [INFO] [stdout] 1038 + XC2BitstreamBits::XC2C384 {ivoltage, ovoltage, data_gate, use_vref, ..} => { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a struct pattern where every field's pattern takes a reference [INFO] [stdout] --> src/bitstream.rs:1057:13 [INFO] [stdout] | [INFO] [stdout] 1057 | &XC2BitstreamBits::XC2C512 {ref ivoltage, ref ovoltage, ref data_gate, ref use_vref, ..} => { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 1057 - &XC2BitstreamBits::XC2C512 {ref ivoltage, ref ovoltage, ref data_gate, ref use_vref, ..} => { [INFO] [stdout] 1057 + XC2BitstreamBits::XC2C512 {ivoltage, ovoltage, data_gate, use_vref, ..} => { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you don't need to add `&` to all patterns [INFO] [stdout] --> src/bitstream.rs:1079:9 [INFO] [stdout] | [INFO] [stdout] 1079 | / match self { [INFO] [stdout] 1080 | | &XC2BitstreamBits::XC2C32A {ref ivoltage, ref ovoltage, ..} => { [INFO] [stdout] 1081 | | linebreaks.add(12274); [INFO] [stdout] 1082 | | jed.f[12274] = !ivoltage[0]; [INFO] [stdout] ... | [INFO] [stdout] 1100 | | _ => {} [INFO] [stdout] 1101 | | } [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stdout] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stdout] | [INFO] [stdout] 1079 ~ match *self { [INFO] [stdout] 1080 ~ XC2BitstreamBits::XC2C32A {ref ivoltage, ref ovoltage, ..} => { [INFO] [stdout] 1081 | linebreaks.add(12274); [INFO] [stdout] ... [INFO] [stdout] 1089 | }, [INFO] [stdout] 1090 ~ XC2BitstreamBits::XC2C64A {ref ivoltage, ref ovoltage, ..} => { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a struct pattern where every field's pattern takes a reference [INFO] [stdout] --> src/bitstream.rs:1080:13 [INFO] [stdout] | [INFO] [stdout] 1080 | &XC2BitstreamBits::XC2C32A {ref ivoltage, ref ovoltage, ..} => { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 1080 - &XC2BitstreamBits::XC2C32A {ref ivoltage, ref ovoltage, ..} => { [INFO] [stdout] 1080 + XC2BitstreamBits::XC2C32A {ivoltage, ovoltage, ..} => { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a struct pattern where every field's pattern takes a reference [INFO] [stdout] --> src/bitstream.rs:1090:13 [INFO] [stdout] | [INFO] [stdout] 1090 | &XC2BitstreamBits::XC2C64A {ref ivoltage, ref ovoltage, ..} => { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 1090 - &XC2BitstreamBits::XC2C64A {ref ivoltage, ref ovoltage, ..} => { [INFO] [stdout] 1090 + XC2BitstreamBits::XC2C64A {ivoltage, ovoltage, ..} => { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is used to index `fb` [INFO] [stdout] --> src/bitstream.rs:1109:14 [INFO] [stdout] | [INFO] [stdout] 1109 | for i in 0..fb.len() { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] = note: `#[warn(clippy::needless_range_loop)]` on by default [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 1109 - for i in 0..fb.len() { [INFO] [stdout] 1109 + for (i, ) in fb.iter_mut().enumerate() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `iob` after checking its variant with `is_some` [INFO] [stdout] --> src/bitstream.rs:1148:22 [INFO] [stdout] | [INFO] [stdout] 1146 | if iob.is_some() { [INFO] [stdout] | ---------------- help: try: `if let Some() = iob` [INFO] [stdout] 1147 | let res = XC2MCLargeIOB::from_jed(fuses, iob_fuse)?; [INFO] [stdout] 1148 | iobs[iob.unwrap() as usize] = res; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is used to index `fb` [INFO] [stdout] --> src/bitstream.rs:1134:14 [INFO] [stdout] | [INFO] [stdout] 1134 | for i in 0..fb.len() { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 1134 - for i in 0..fb.len() { [INFO] [stdout] 1134 + for (i, ) in fb.iter_mut().enumerate() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is used to index `fb` [INFO] [stdout] --> src/bitstream.rs:1404:14 [INFO] [stdout] | [INFO] [stdout] 1404 | for i in 0..fb.len() { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 1404 - for i in 0..fb.len() { [INFO] [stdout] 1404 + for (i, ) in fb.iter_mut().enumerate() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is used to index `iobs` [INFO] [stdout] --> src/bitstream.rs:1408:14 [INFO] [stdout] | [INFO] [stdout] 1408 | for i in 0..iobs.len() { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 1408 - for i in 0..iobs.len() { [INFO] [stdout] 1408 + for (i, ) in iobs.iter_mut().enumerate() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is used to index `fb` [INFO] [stdout] --> src/bitstream.rs:1419:14 [INFO] [stdout] | [INFO] [stdout] 1419 | for i in 0..fb.len() { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 1419 - for i in 0..fb.len() { [INFO] [stdout] 1419 + for (i, ) in fb.iter_mut().enumerate() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is used to index `iobs` [INFO] [stdout] --> src/bitstream.rs:1423:14 [INFO] [stdout] | [INFO] [stdout] 1423 | for i in 0..iobs.len() { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 1423 - for i in 0..iobs.len() { [INFO] [stdout] 1423 + for (i, ) in iobs.iter_mut().enumerate() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/crbit.rs:77:16 [INFO] [stdout] | [INFO] [stdout] 77 | if l.len() == 0 { [INFO] [stdout] | ^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `l.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: stripping a prefix manually [INFO] [stdout] --> src/crbit.rs:83:37 [INFO] [stdout] | [INFO] [stdout] 83 | dev_name_str = Some(l["// DEVICE ".len()..].to_owned()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: the prefix was tested here [INFO] [stdout] --> src/crbit.rs:82:13 [INFO] [stdout] | [INFO] [stdout] 82 | if l.starts_with("// DEVICE ") { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_strip [INFO] [stdout] = note: `#[warn(clippy::manual_strip)]` on by default [INFO] [stdout] help: try using the `strip_prefix` method [INFO] [stdout] | [INFO] [stdout] 82 ~ if let Some() = l.strip_prefix("// DEVICE ") { [INFO] [stdout] 83 ~ dev_name_str = Some(.to_owned()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `write!()` with a format string that ends in a single newline [INFO] [stdout] --> src/crbit.rs:123:9 [INFO] [stdout] | [INFO] [stdout] 123 | write!(writer, "// crbit native bitstream file written by xc2bit\n")?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stdout] help: use `writeln!` instead [INFO] [stdout] | [INFO] [stdout] 123 - write!(writer, "// crbit native bitstream file written by xc2bit\n")?; [INFO] [stdout] 123 + writeln!(writer, "// crbit native bitstream file written by xc2bit")?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `write!()` with a format string that ends in a single newline [INFO] [stdout] --> src/crbit.rs:135:13 [INFO] [stdout] | [INFO] [stdout] 135 | write!(writer, "\n")?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stdout] help: use `writeln!` instead [INFO] [stdout] | [INFO] [stdout] 135 - write!(writer, "\n")?; [INFO] [stdout] 135 + writeln!(writer)?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `write!()` with a format string that ends in a single newline [INFO] [stdout] --> src/crbit.rs:137:9 [INFO] [stdout] | [INFO] [stdout] 137 | write!(writer, "\n")?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stdout] help: use `writeln!` instead [INFO] [stdout] | [INFO] [stdout] 137 - write!(writer, "\n")?; [INFO] [stdout] 137 + writeln!(writer)?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you don't need to add `&` to all patterns [INFO] [stdout] --> src/errors.rs:56:9 [INFO] [stdout] | [INFO] [stdout] 56 | / match self { [INFO] [stdout] 57 | | &XC2BitError::JedParseError(ref err) => Some(err), [INFO] [stdout] 58 | | &XC2BitError::BadDeviceName(_) => None, [INFO] [stdout] 59 | | &XC2BitError::WrongFuseCount => None, [INFO] [stdout] 60 | | &XC2BitError::UnsupportedOeConfiguration(_) => None, [INFO] [stdout] 61 | | &XC2BitError::UnsupportedZIAConfiguration(_) => None, [INFO] [stdout] 62 | | } [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stdout] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stdout] | [INFO] [stdout] 56 ~ match *self { [INFO] [stdout] 57 ~ XC2BitError::JedParseError(ref err) => Some(err), [INFO] [stdout] 58 ~ XC2BitError::BadDeviceName(_) => None, [INFO] [stdout] 59 ~ XC2BitError::WrongFuseCount => None, [INFO] [stdout] 60 ~ XC2BitError::UnsupportedOeConfiguration(_) => None, [INFO] [stdout] 61 ~ XC2BitError::UnsupportedZIAConfiguration(_) => None, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a tuple pattern where every element takes a reference [INFO] [stdout] --> src/errors.rs:57:13 [INFO] [stdout] | [INFO] [stdout] 57 | &XC2BitError::JedParseError(ref err) => Some(err), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 57 - &XC2BitError::JedParseError(ref err) => Some(err), [INFO] [stdout] 57 + XC2BitError::JedParseError(err) => Some(err), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you don't need to add `&` to all patterns [INFO] [stdout] --> src/errors.rs:68:9 [INFO] [stdout] | [INFO] [stdout] 68 | / match self { [INFO] [stdout] 69 | | &XC2BitError::JedParseError(err) => { [INFO] [stdout] 70 | | write!(f, ".jed parsing failed: {}", err) [INFO] [stdout] 71 | | }, [INFO] [stdout] ... | [INFO] [stdout] 89 | | }, [INFO] [stdout] 90 | | } [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stdout] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stdout] | [INFO] [stdout] 68 ~ match *self { [INFO] [stdout] 69 ~ XC2BitError::JedParseError(err) => { [INFO] [stdout] 70 | write!(f, ".jed parsing failed: {}", err) [INFO] [stdout] 71 | }, [INFO] [stdout] 72 ~ XC2BitError::BadDeviceName(ref devname) => { [INFO] [stdout] 73 | write!(f, "device name \"{}\" is invalid/unsupported", devname) [INFO] [stdout] 74 | }, [INFO] [stdout] 75 ~ XC2BitError::WrongFuseCount => { [INFO] [stdout] 76 | write!(f, "wrong number of fuses") [INFO] [stdout] 77 | }, [INFO] [stdout] 78 ~ XC2BitError::UnsupportedOeConfiguration(bits) => { [INFO] [stdout] 79 | write!(f, "unknown Oe field value {}{}{}{}", [INFO] [stdout] ... [INFO] [stdout] 82 | }, [INFO] [stdout] 83 ~ XC2BitError::UnsupportedZIAConfiguration(ref bits) => { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a tuple pattern where every element takes a reference [INFO] [stdout] --> src/errors.rs:72:13 [INFO] [stdout] | [INFO] [stdout] 72 | &XC2BitError::BadDeviceName(ref devname) => { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 72 - &XC2BitError::BadDeviceName(ref devname) => { [INFO] [stdout] 72 + XC2BitError::BadDeviceName(devname) => { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a tuple pattern where every element takes a reference [INFO] [stdout] --> src/errors.rs:83:13 [INFO] [stdout] | [INFO] [stdout] 83 | &XC2BitError::UnsupportedZIAConfiguration(ref bits) => { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 83 - &XC2BitError::UnsupportedZIAConfiguration(ref bits) => { [INFO] [stdout] 83 + XC2BitError::UnsupportedZIAConfiguration(bits) => { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `write!()` with a format string that ends in a single newline [INFO] [stdout] --> src/fb.rs:148:9 [INFO] [stdout] | [INFO] [stdout] 148 | write!(writer, "\n")?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stdout] help: use `writeln!` instead [INFO] [stdout] | [INFO] [stdout] 148 - write!(writer, "\n")?; [INFO] [stdout] 148 + writeln!(writer)?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `write!()` with a format string that ends in a single newline [INFO] [stdout] --> src/fb.rs:149:9 [INFO] [stdout] | [INFO] [stdout] 149 | write!(writer, "ZIA inputs for FB{}\n", fb + 1)?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stdout] help: use `writeln!` instead [INFO] [stdout] | [INFO] [stdout] 149 - write!(writer, "ZIA inputs for FB{}\n", fb + 1)?; [INFO] [stdout] 149 + writeln!(writer, "ZIA inputs for FB{}", fb + 1)?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `write!()` with a format string that ends in a single newline [INFO] [stdout] --> src/fb.rs:153:38 [INFO] [stdout] | [INFO] [stdout] 153 | XC2ZIAInput::Zero => write!(writer, "0\n")?, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stdout] help: use `writeln!` instead [INFO] [stdout] | [INFO] [stdout] 153 - XC2ZIAInput::Zero => write!(writer, "0\n")?, [INFO] [stdout] 153 + XC2ZIAInput::Zero => writeln!(writer, "0")?, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `write!()` with a format string that ends in a single newline [INFO] [stdout] --> src/fb.rs:154:37 [INFO] [stdout] | [INFO] [stdout] 154 | XC2ZIAInput::One => write!(writer, "1\n")?, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stdout] help: use `writeln!` instead [INFO] [stdout] | [INFO] [stdout] 154 - XC2ZIAInput::One => write!(writer, "1\n")?, [INFO] [stdout] 154 + XC2ZIAInput::One => writeln!(writer, "1")?, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `write!()` with a format string that ends in a single newline [INFO] [stdout] --> src/fb.rs:156:21 [INFO] [stdout] | [INFO] [stdout] 156 | write!(writer, "FB{}_{} FF\n", fb + 1, mc + 1)?, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stdout] help: use `writeln!` instead [INFO] [stdout] | [INFO] [stdout] 156 - write!(writer, "FB{}_{} FF\n", fb + 1, mc + 1)?, [INFO] [stdout] 156 + writeln!(writer, "FB{}_{} FF", fb + 1, mc + 1)?, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `write!()` with a format string that ends in a single newline [INFO] [stdout] --> src/fb.rs:159:21 [INFO] [stdout] | [INFO] [stdout] 159 | write!(writer, "FB{}_{} pad\n", fb + 1, mc + 1)?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stdout] help: use `writeln!` instead [INFO] [stdout] | [INFO] [stdout] 159 - write!(writer, "FB{}_{} pad\n", fb + 1, mc + 1)?; [INFO] [stdout] 159 + writeln!(writer, "FB{}_{} pad", fb + 1, mc + 1)?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `write!()` with a format string that ends in a single newline [INFO] [stdout] --> src/fb.rs:161:48 [INFO] [stdout] | [INFO] [stdout] 161 | XC2ZIAInput::DedicatedInput => write!(writer, "dedicated input\n")?, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stdout] help: use `writeln!` instead [INFO] [stdout] | [INFO] [stdout] 161 - XC2ZIAInput::DedicatedInput => write!(writer, "dedicated input\n")?, [INFO] [stdout] 161 + XC2ZIAInput::DedicatedInput => writeln!(writer, "dedicated input")?, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `write!()` with a format string that ends in a single newline [INFO] [stdout] --> src/fb.rs:165:9 [INFO] [stdout] | [INFO] [stdout] 165 | write!(writer, "\n")?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stdout] help: use `writeln!` instead [INFO] [stdout] | [INFO] [stdout] 165 - write!(writer, "\n")?; [INFO] [stdout] 165 + writeln!(writer)?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `write!()` with a format string that ends in a single newline [INFO] [stdout] --> src/fb.rs:166:9 [INFO] [stdout] | [INFO] [stdout] 166 | write!(writer, "AND terms for FB{}\n", fb + 1)?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stdout] help: use `writeln!` instead [INFO] [stdout] | [INFO] [stdout] 166 - write!(writer, "AND terms for FB{}\n", fb + 1)?; [INFO] [stdout] 166 + writeln!(writer, "AND terms for FB{}", fb + 1)?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `write!()` with a format string that ends in a single newline [INFO] [stdout] --> src/fb.rs:167:9 [INFO] [stdout] | [INFO] [stdout] 167 | / write!(writer, " | 0| ~0| 1| ~1| 2| ~2| 3| ~3| 4| ~4| 5| ~5| 6| ~6| 7| ~7| 8| ~8| 9| ~9| 10|~10| \ [INFO] [stdout] 168 | | 11|~11| 12|~12| 13|~13| 14|~14| 15|~15| 16|~16| 17|~17| 18|~18| 19|~19| 20|~20| \ [INFO] [stdout] 169 | | 21|~21| 22|~22| 23|~23| 24|~24| 25|~25| 26|~26| 27|~27| 28|~28| 29|~29| 30|~30| \ [INFO] [stdout] 170 | | 31|~31| 32|~32| 33|~33| 34|~34| 35|~35| 36|~36| 37|~37| 38|~38| 39|~39\ [INFO] [stdout] 171 | | \n")?; [INFO] [stdout] | |_________________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stdout] help: use `writeln!` instead [INFO] [stdout] | [INFO] [stdout] 167 ~ writeln!(writer, " | 0| ~0| 1| ~1| 2| ~2| 3| ~3| 4| ~4| 5| ~5| 6| ~6| 7| ~7| 8| ~8| 9| ~9| 10|~10| \ [INFO] [stdout] 168 | 11|~11| 12|~12| 13|~13| 14|~14| 15|~15| 16|~16| 17|~17| 18|~18| 19|~19| 20|~20| \ [INFO] [stdout] 169 | 21|~21| 22|~22| 23|~23| 24|~24| 25|~25| 26|~26| 27|~27| 28|~28| 29|~29| 30|~30| \ [INFO] [stdout] 170 | 31|~31| 32|~32| 33|~33| 34|~34| 35|~35| 36|~36| 37|~37| 38|~38| 39|~39\ [INFO] [stdout] 171 ~ ")?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `write!()` with a format string that ends in a single newline [INFO] [stdout] --> src/fb.rs:187:13 [INFO] [stdout] | [INFO] [stdout] 187 | write!(writer, "\n")?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stdout] help: use `writeln!` instead [INFO] [stdout] | [INFO] [stdout] 187 - write!(writer, "\n")?; [INFO] [stdout] 187 + writeln!(writer)?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `write!()` with a format string that ends in a single newline [INFO] [stdout] --> src/fb.rs:190:9 [INFO] [stdout] | [INFO] [stdout] 190 | write!(writer, "\n")?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stdout] help: use `writeln!` instead [INFO] [stdout] | [INFO] [stdout] 190 - write!(writer, "\n")?; [INFO] [stdout] 190 + writeln!(writer)?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `write!()` with a format string that ends in a single newline [INFO] [stdout] --> src/fb.rs:191:9 [INFO] [stdout] | [INFO] [stdout] 191 | write!(writer, "OR terms for FB{}\n", fb + 1)?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stdout] help: use `writeln!` instead [INFO] [stdout] | [INFO] [stdout] 191 - write!(writer, "OR terms for FB{}\n", fb + 1)?; [INFO] [stdout] 191 + writeln!(writer, "OR terms for FB{}", fb + 1)?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `write!()` with a format string that ends in a single newline [INFO] [stdout] --> src/fb.rs:192:9 [INFO] [stdout] | [INFO] [stdout] 192 | / write!(writer, " | 0| 1| 2| 3| 4| 5| 6| 7| 8| 9|10|11|12|13|14|15|16|17|18|19|20|\ [INFO] [stdout] 193 | | 21|22|23|24|25|26|27|28|29|30|31|32|33|34|35|36|37|38|39|40|\ [INFO] [stdout] 194 | | 41|42|43|44|45|46|47|48|49|50|51|52|53|54|55\n")?; [INFO] [stdout] | |_______________________________________________________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stdout] help: use `writeln!` instead [INFO] [stdout] | [INFO] [stdout] 192 ~ writeln!(writer, " | 0| 1| 2| 3| 4| 5| 6| 7| 8| 9|10|11|12|13|14|15|16|17|18|19|20|\ [INFO] [stdout] 193 | 21|22|23|24|25|26|27|28|29|30|31|32|33|34|35|36|37|38|39|40|\ [INFO] [stdout] 194 ~ 41|42|43|44|45|46|47|48|49|50|51|52|53|54|55")?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `write!()` with a format string that ends in a single newline [INFO] [stdout] --> src/fb.rs:204:13 [INFO] [stdout] | [INFO] [stdout] 204 | write!(writer, "\n")?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stdout] help: use `writeln!` instead [INFO] [stdout] | [INFO] [stdout] 204 - write!(writer, "\n")?; [INFO] [stdout] 204 + writeln!(writer)?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/fb.rs:285:44 [INFO] [stdout] | [INFO] [stdout] 285 | ... fuse_array.set(x + term_idx * 2 + 0, out_y, !self.get_andterm(term_idx).get_b(input_idx)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: consider reducing it to: `(x + term_idx * 2)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/fb.rs:290:44 [INFO] [stdout] | [INFO] [stdout] 290 | ... fuse_array.set(x - term_idx * 2 - 0, out_y, !self.get_andterm(term_idx).get_b(input_idx)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: consider reducing it to: `(x - term_idx * 2)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `term_idx` is used to index `AND_BLOCK_TYPE2_P2L_MAP` [INFO] [stdout] --> src/fb.rs:297:33 [INFO] [stdout] | [INFO] [stdout] 297 | for term_idx in 0..ANDTERMS_PER_FB { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 297 - for term_idx in 0..ANDTERMS_PER_FB { [INFO] [stdout] 297 + for (term_idx, ) in AND_BLOCK_TYPE2_P2L_MAP.iter().enumerate().take(ANDTERMS_PER_FB) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/fb.rs:305:44 [INFO] [stdout] | [INFO] [stdout] 305 | ... fuse_array.set(x + term_idx * 2 + 0, y + input_idx, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: consider reducing it to: `(x + term_idx * 2)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/fb.rs:312:44 [INFO] [stdout] | [INFO] [stdout] 312 | ... fuse_array.set(x - term_idx * 2 - 0, y + input_idx, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: consider reducing it to: `(x - term_idx * 2)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/fb.rs:432:67 [INFO] [stdout] | [INFO] [stdout] 432 | ... .set_b(input_idx, !fuse_array.get(x + term_idx * 2 + 0, out_y)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: consider reducing it to: `(x + term_idx * 2)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/fb.rs:439:67 [INFO] [stdout] | [INFO] [stdout] 439 | ... .set_b(input_idx, !fuse_array.get(x - term_idx * 2 - 0, out_y)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: consider reducing it to: `(x - term_idx * 2)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `term_idx` is used to index `AND_BLOCK_TYPE2_P2L_MAP` [INFO] [stdout] --> src/fb.rs:446:33 [INFO] [stdout] | [INFO] [stdout] 446 | for term_idx in 0..ANDTERMS_PER_FB { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 446 - for term_idx in 0..ANDTERMS_PER_FB { [INFO] [stdout] 446 + for (term_idx, ) in AND_BLOCK_TYPE2_P2L_MAP.iter().enumerate().take(ANDTERMS_PER_FB) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/fb.rs:455:49 [INFO] [stdout] | [INFO] [stdout] 455 | ... !fuse_array.get(x + term_idx * 2 + 0, y + input_idx)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: consider reducing it to: `(x + term_idx * 2)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/fb.rs:462:49 [INFO] [stdout] | [INFO] [stdout] 462 | ... !fuse_array.get(x - term_idx * 2 - 0, y + input_idx)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: consider reducing it to: `(x - term_idx * 2)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `j` is only used to index `zia_choice_bits` [INFO] [stdout] --> src/fb.rs:546:30 [INFO] [stdout] | [INFO] [stdout] 546 | for j in 0..zia_choice_bits.len() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator [INFO] [stdout] | [INFO] [stdout] 546 - for j in 0..zia_choice_bits.len() { [INFO] [stdout] 546 + for in &zia_choice_bits { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `j` is only used to index `zia_choice_bits` [INFO] [stdout] --> src/fb.rs:555:30 [INFO] [stdout] | [INFO] [stdout] 555 | for j in 0..zia_choice_bits.len() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator [INFO] [stdout] | [INFO] [stdout] 555 - for j in 0..zia_choice_bits.len() { [INFO] [stdout] 555 + for in &zia_choice_bits { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `j` is only used to index `zia_choice_bits` [INFO] [stdout] --> src/fb.rs:564:30 [INFO] [stdout] | [INFO] [stdout] 564 | for j in 0..zia_choice_bits.len() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator [INFO] [stdout] | [INFO] [stdout] 564 - for j in 0..zia_choice_bits.len() { [INFO] [stdout] 564 + for in &zia_choice_bits { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `j` is only used to index `zia_choice_bits` [INFO] [stdout] --> src/fb.rs:573:30 [INFO] [stdout] | [INFO] [stdout] 573 | for j in 0..zia_choice_bits.len() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator [INFO] [stdout] | [INFO] [stdout] 573 - for j in 0..zia_choice_bits.len() { [INFO] [stdout] 573 + for in &zia_choice_bits { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `j` is only used to index `zia_choice_bits` [INFO] [stdout] --> src/fb.rs:582:30 [INFO] [stdout] | [INFO] [stdout] 582 | for j in 0..zia_choice_bits.len() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator [INFO] [stdout] | [INFO] [stdout] 582 - for j in 0..zia_choice_bits.len() { [INFO] [stdout] 582 + for in &zia_choice_bits { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `j` is only used to index `zia_choice_bits` [INFO] [stdout] --> src/fb.rs:591:30 [INFO] [stdout] | [INFO] [stdout] 591 | for j in 0..zia_choice_bits.len() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator [INFO] [stdout] | [INFO] [stdout] 591 - for j in 0..zia_choice_bits.len() { [INFO] [stdout] 591 + for in &zia_choice_bits { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/fb.rs:605:23 [INFO] [stdout] | [INFO] [stdout] 605 | jed.f[and_fuse_base + j * 2 + 0] = !self.get_andterm(i).get(j); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider reducing it to: `(and_fuse_base + j * 2)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: match expression looks like `matches!` macro [INFO] [stdout] --> src/fb.rs:631:32 [INFO] [stdout] | [INFO] [stdout] 631 | let device_is_large = match device { [INFO] [stdout] | ________________________________^ [INFO] [stdout] 632 | | XC2Device::XC2C32 | XC2Device::XC2C32A | XC2Device::XC2C64 | XC2Device::XC2C64A => false, [INFO] [stdout] 633 | | _ => true, [INFO] [stdout] 634 | | }; [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_like_matches_macro [INFO] [stdout] = note: `#[warn(clippy::match_like_matches_macro)]` on by default [INFO] [stdout] help: use `matches!` directly [INFO] [stdout] | [INFO] [stdout] 631 - let device_is_large = match device { [INFO] [stdout] 632 - XC2Device::XC2C32 | XC2Device::XC2C32A | XC2Device::XC2C64 | XC2Device::XC2C64A => false, [INFO] [stdout] 633 - _ => true, [INFO] [stdout] 634 - }; [INFO] [stdout] 631 + let device_is_large = !matches!(device, XC2Device::XC2C32 | XC2Device::XC2C32A | XC2Device::XC2C64 | XC2Device::XC2C64A); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of `.is_multiple_of()` [INFO] [stdout] --> src/fusemap_physical.rs:164:8 [INFO] [stdout] | [INFO] [stdout] 164 | if fb % 2 == 0 { [INFO] [stdout] | ^^^^^^^^^^^ help: replace with: `fb.is_multiple_of(2)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_is_multiple_of [INFO] [stdout] = note: `#[warn(clippy::manual_is_multiple_of)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/fusemap_physical.rs:230:5 [INFO] [stdout] | [INFO] [stdout] 230 | / (((usize, usize), (usize, usize)), ((usize, usize), (usize, usize)), [INFO] [stdout] 231 | | ((usize, usize), (usize, usize)), ((usize, usize), (usize, usize))) { [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: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/fusemap_physical.rs:262:8 [INFO] [stdout] | [INFO] [stdout] 262 | -> ((usize, usize), (usize, usize), (usize, usize), (usize, usize), (usize, usize)) { [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] [INFO] [stdout] [INFO] [stdout] warning: using `write!()` with a format string that ends in a single newline [INFO] [stdout] --> src/globalbits.rs:77:9 [INFO] [stdout] | [INFO] [stdout] 77 | write!(writer, "\n")?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stdout] help: use `writeln!` instead [INFO] [stdout] | [INFO] [stdout] 77 - write!(writer, "\n")?; [INFO] [stdout] 77 + writeln!(writer)?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `write!()` with a format string that ends in a single newline [INFO] [stdout] --> src/globalbits.rs:78:9 [INFO] [stdout] | [INFO] [stdout] 78 | write!(writer, "GCK0 {}\n", if self.gck_enable[0] {"enabled"} else {"disabled"})?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stdout] help: use `writeln!` instead [INFO] [stdout] | [INFO] [stdout] 78 - write!(writer, "GCK0 {}\n", if self.gck_enable[0] {"enabled"} else {"disabled"})?; [INFO] [stdout] 78 + writeln!(writer, "GCK0 {}", if self.gck_enable[0] {"enabled"} else {"disabled"})?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `write!()` with a format string that ends in a single newline [INFO] [stdout] --> src/globalbits.rs:79:9 [INFO] [stdout] | [INFO] [stdout] 79 | write!(writer, "GCK1 {}\n", if self.gck_enable[1] {"enabled"} else {"disabled"})?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stdout] help: use `writeln!` instead [INFO] [stdout] | [INFO] [stdout] 79 - write!(writer, "GCK1 {}\n", if self.gck_enable[1] {"enabled"} else {"disabled"})?; [INFO] [stdout] 79 + writeln!(writer, "GCK1 {}", if self.gck_enable[1] {"enabled"} else {"disabled"})?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `write!()` with a format string that ends in a single newline [INFO] [stdout] --> src/globalbits.rs:80:9 [INFO] [stdout] | [INFO] [stdout] 80 | write!(writer, "GCK2 {}\n", if self.gck_enable[2] {"enabled"} else {"disabled"})?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stdout] help: use `writeln!` instead [INFO] [stdout] | [INFO] [stdout] 80 - write!(writer, "GCK2 {}\n", if self.gck_enable[2] {"enabled"} else {"disabled"})?; [INFO] [stdout] 80 + writeln!(writer, "GCK2 {}", if self.gck_enable[2] {"enabled"} else {"disabled"})?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `write!()` with a format string that ends in a single newline [INFO] [stdout] --> src/globalbits.rs:82:9 [INFO] [stdout] | [INFO] [stdout] 82 | / write!(writer, "GSR {}, active {}\n", [INFO] [stdout] 83 | | if self.gsr_enable {"enabled"} else {"disabled"}, [INFO] [stdout] 84 | | if self.gsr_invert {"high"} else {"low"})?; [INFO] [stdout] | |_____________________________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stdout] help: use `writeln!` instead [INFO] [stdout] | [INFO] [stdout] 82 - write!(writer, "GSR {}, active {}\n", [INFO] [stdout] 82 + writeln!(writer, "GSR {}, active {}", [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `write!()` with a format string that ends in a single newline [INFO] [stdout] --> src/globalbits.rs:86:9 [INFO] [stdout] | [INFO] [stdout] 86 | / write!(writer, "GTS0 {}, acts as {}\n", [INFO] [stdout] 87 | | if self.gts_enable[0] {"enabled"} else {"disabled"}, [INFO] [stdout] 88 | | if self.gts_invert[0] {"!T"} else {"T"})?; [INFO] [stdout] | |____________________________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stdout] help: use `writeln!` instead [INFO] [stdout] | [INFO] [stdout] 86 - write!(writer, "GTS0 {}, acts as {}\n", [INFO] [stdout] 86 + writeln!(writer, "GTS0 {}, acts as {}", [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `write!()` with a format string that ends in a single newline [INFO] [stdout] --> src/globalbits.rs:89:9 [INFO] [stdout] | [INFO] [stdout] 89 | / write!(writer, "GTS1 {}, acts as {}\n", [INFO] [stdout] 90 | | if self.gts_enable[1] {"enabled"} else {"disabled"}, [INFO] [stdout] 91 | | if self.gts_invert[1] {"!T"} else {"T"})?; [INFO] [stdout] | |____________________________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stdout] help: use `writeln!` instead [INFO] [stdout] | [INFO] [stdout] 89 - write!(writer, "GTS1 {}, acts as {}\n", [INFO] [stdout] 89 + writeln!(writer, "GTS1 {}, acts as {}", [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `write!()` with a format string that ends in a single newline [INFO] [stdout] --> src/globalbits.rs:92:9 [INFO] [stdout] | [INFO] [stdout] 92 | / write!(writer, "GTS2 {}, acts as {}\n", [INFO] [stdout] 93 | | if self.gts_enable[2] {"enabled"} else {"disabled"}, [INFO] [stdout] 94 | | if self.gts_invert[2] {"!T"} else {"T"})?; [INFO] [stdout] | |____________________________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stdout] help: use `writeln!` instead [INFO] [stdout] | [INFO] [stdout] 92 - write!(writer, "GTS2 {}, acts as {}\n", [INFO] [stdout] 92 + writeln!(writer, "GTS2 {}, acts as {}", [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `write!()` with a format string that ends in a single newline [INFO] [stdout] --> src/globalbits.rs:95:9 [INFO] [stdout] | [INFO] [stdout] 95 | / write!(writer, "GTS3 {}, acts as {}\n", [INFO] [stdout] 96 | | if self.gts_enable[3] {"enabled"} else {"disabled"}, [INFO] [stdout] 97 | | if self.gts_invert[3] {"!T"} else {"T"})?; [INFO] [stdout] | |____________________________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stdout] help: use `writeln!` instead [INFO] [stdout] | [INFO] [stdout] 95 - write!(writer, "GTS3 {}, acts as {}\n", [INFO] [stdout] 95 + writeln!(writer, "GTS3 {}, acts as {}", [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `write!()` with a format string that ends in a single newline [INFO] [stdout] --> src/globalbits.rs:99:9 [INFO] [stdout] | [INFO] [stdout] 99 | write!(writer, "global termination is {}\n", if self.global_pu {"pull-up"} else {"bus hold"})?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stdout] help: use `writeln!` instead [INFO] [stdout] | [INFO] [stdout] 99 - write!(writer, "global termination is {}\n", if self.global_pu {"pull-up"} else {"bus hold"})?; [INFO] [stdout] 99 + writeln!(writer, "global termination is {}", if self.global_pu {"pull-up"} else {"bus hold"})?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/globalbits.rs:135:23 [INFO] [stdout] | [INFO] [stdout] 135 | fuses[gck_fuse_idx(device) + 0], [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: consider reducing it to: `gck_fuse_idx(device)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/globalbits.rs:140:31 [INFO] [stdout] | [INFO] [stdout] 140 | gsr_invert: fuses[gsr_fuse_idx(device) + 0], [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: consider reducing it to: `gsr_fuse_idx(device)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/globalbits.rs:148:23 [INFO] [stdout] | [INFO] [stdout] 148 | fuses[gts_fuse_idx(device) + 0], [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: consider reducing it to: `gts_fuse_idx(device)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `write!()` with a format string that ends in a single newline [INFO] [stdout] --> src/globalbits.rs:231:9 [INFO] [stdout] | [INFO] [stdout] 231 | write!(writer, "\n")?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stdout] help: use `writeln!` instead [INFO] [stdout] | [INFO] [stdout] 231 - write!(writer, "\n")?; [INFO] [stdout] 231 + writeln!(writer)?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `write!()` with a format string that ends in a single newline [INFO] [stdout] --> src/globalbits.rs:232:9 [INFO] [stdout] | [INFO] [stdout] 232 | write!(writer, "GCK2 clock divider {}\n", if self.enabled {"enabled"} else {"disabled"})?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stdout] help: use `writeln!` instead [INFO] [stdout] | [INFO] [stdout] 232 - write!(writer, "GCK2 clock divider {}\n", if self.enabled {"enabled"} else {"disabled"})?; [INFO] [stdout] 232 + writeln!(writer, "GCK2 clock divider {}", if self.enabled {"enabled"} else {"disabled"})?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `write!()` with a format string that ends in a single newline [INFO] [stdout] --> src/globalbits.rs:233:9 [INFO] [stdout] | [INFO] [stdout] 233 | write!(writer, "clock divider delay {}\n", if self.delay {"enabled"} else {"disabled"})?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stdout] help: use `writeln!` instead [INFO] [stdout] | [INFO] [stdout] 233 - write!(writer, "clock divider delay {}\n", if self.delay {"enabled"} else {"disabled"})?; [INFO] [stdout] 233 + writeln!(writer, "clock divider delay {}", if self.delay {"enabled"} else {"disabled"})?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `write!()` with a format string that ends in a single newline [INFO] [stdout] --> src/globalbits.rs:235:9 [INFO] [stdout] | [INFO] [stdout] 235 | / write!(writer, "clock division ratio: {}\n", match self.div_ratio { [INFO] [stdout] 236 | | XC2ClockDivRatio::Div2 => "2", [INFO] [stdout] 237 | | XC2ClockDivRatio::Div4 => "4", [INFO] [stdout] 238 | | XC2ClockDivRatio::Div6 => "6", [INFO] [stdout] ... | [INFO] [stdout] 243 | | XC2ClockDivRatio::Div16 => "16", [INFO] [stdout] 244 | | })?; [INFO] [stdout] | |__________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stdout] help: use `writeln!` instead [INFO] [stdout] | [INFO] [stdout] 235 - write!(writer, "clock division ratio: {}\n", match self.div_ratio { [INFO] [stdout] 235 + writeln!(writer, "clock division ratio: {}", match self.div_ratio { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `write!()` with a format string that ends in a single newline [INFO] [stdout] --> src/iob.rs:144:9 [INFO] [stdout] | [INFO] [stdout] 144 | write!(writer, "\n")?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stdout] help: use `writeln!` instead [INFO] [stdout] | [INFO] [stdout] 144 - write!(writer, "\n")?; [INFO] [stdout] 144 + writeln!(writer)?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `write!()` with a format string that ends in a single newline [INFO] [stdout] --> src/iob.rs:146:9 [INFO] [stdout] | [INFO] [stdout] 146 | write!(writer, "I/O configuration for FB{}_{}\n", fb + 1, mc + 1)?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stdout] help: use `writeln!` instead [INFO] [stdout] | [INFO] [stdout] 146 - write!(writer, "I/O configuration for FB{}_{}\n", fb + 1, mc + 1)?; [INFO] [stdout] 146 + writeln!(writer, "I/O configuration for FB{}_{}", fb + 1, mc + 1)?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `write!()` with a format string that ends in a single newline [INFO] [stdout] --> src/iob.rs:147:9 [INFO] [stdout] | [INFO] [stdout] 147 | / write!(writer, "output mode: {}\n", match self.obuf_mode { [INFO] [stdout] 148 | | XC2IOBOBufMode::Disabled => "disabled", [INFO] [stdout] 149 | | XC2IOBOBufMode::PushPull => "push-pull", [INFO] [stdout] 150 | | XC2IOBOBufMode::OpenDrain => "open-drain", [INFO] [stdout] ... | [INFO] [stdout] 157 | | XC2IOBOBufMode::CGND => "CGND", [INFO] [stdout] 158 | | })?; [INFO] [stdout] | |__________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stdout] help: use `writeln!` instead [INFO] [stdout] | [INFO] [stdout] 147 - write!(writer, "output mode: {}\n", match self.obuf_mode { [INFO] [stdout] 147 + writeln!(writer, "output mode: {}", match self.obuf_mode { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `write!()` with a format string that ends in a single newline [INFO] [stdout] --> src/iob.rs:159:9 [INFO] [stdout] | [INFO] [stdout] 159 | write!(writer, "output comes from {}\n", if self.obuf_uses_ff {"FF"} else {"XOR gate"})?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stdout] help: use `writeln!` instead [INFO] [stdout] | [INFO] [stdout] 159 - write!(writer, "output comes from {}\n", if self.obuf_uses_ff {"FF"} else {"XOR gate"})?; [INFO] [stdout] 159 + writeln!(writer, "output comes from {}", if self.obuf_uses_ff {"FF"} else {"XOR gate"})?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `write!()` with a format string that ends in a single newline [INFO] [stdout] --> src/iob.rs:160:9 [INFO] [stdout] | [INFO] [stdout] 160 | write!(writer, "slew rate: {}\n", if self.slew_is_fast {"fast"} else {"slow"})?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stdout] help: use `writeln!` instead [INFO] [stdout] | [INFO] [stdout] 160 - write!(writer, "slew rate: {}\n", if self.slew_is_fast {"fast"} else {"slow"})?; [INFO] [stdout] 160 + writeln!(writer, "slew rate: {}", if self.slew_is_fast {"fast"} else {"slow"})?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `write!()` with a format string that ends in a single newline [INFO] [stdout] --> src/iob.rs:161:9 [INFO] [stdout] | [INFO] [stdout] 161 | / write!(writer, "ZIA driven from: {}\n", match self.zia_mode { [INFO] [stdout] 162 | | XC2IOBZIAMode::Disabled => "disabled", [INFO] [stdout] 163 | | XC2IOBZIAMode::PAD => "input pad", [INFO] [stdout] 164 | | XC2IOBZIAMode::REG => "register", [INFO] [stdout] 165 | | })?; [INFO] [stdout] | |__________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stdout] help: use `writeln!` instead [INFO] [stdout] | [INFO] [stdout] 161 - write!(writer, "ZIA driven from: {}\n", match self.zia_mode { [INFO] [stdout] 161 + writeln!(writer, "ZIA driven from: {}", match self.zia_mode { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `write!()` with a format string that ends in a single newline [INFO] [stdout] --> src/iob.rs:166:9 [INFO] [stdout] | [INFO] [stdout] 166 | write!(writer, "Schmitt trigger input: {}\n", if self.schmitt_trigger {"yes"} else {"no"})?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stdout] help: use `writeln!` instead [INFO] [stdout] | [INFO] [stdout] 166 - write!(writer, "Schmitt trigger input: {}\n", if self.schmitt_trigger {"yes"} else {"no"})?; [INFO] [stdout] 166 + writeln!(writer, "Schmitt trigger input: {}", if self.schmitt_trigger {"yes"} else {"no"})?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `write!()` with a format string that ends in a single newline [INFO] [stdout] --> src/iob.rs:167:9 [INFO] [stdout] | [INFO] [stdout] 167 | write!(writer, "termination: {}\n", if self.termination_enabled {"yes"} else {"no"})?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stdout] help: use `writeln!` instead [INFO] [stdout] | [INFO] [stdout] 167 - write!(writer, "termination: {}\n", if self.termination_enabled {"yes"} else {"no"})?; [INFO] [stdout] 167 + writeln!(writer, "termination: {}", if self.termination_enabled {"yes"} else {"no"})?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `write!()` with a format string that ends in a single newline [INFO] [stdout] --> src/iob.rs:320:9 [INFO] [stdout] | [INFO] [stdout] 320 | write!(writer, "\n")?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stdout] help: use `writeln!` instead [INFO] [stdout] | [INFO] [stdout] 320 - write!(writer, "\n")?; [INFO] [stdout] 320 + writeln!(writer)?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `write!()` with a format string that ends in a single newline [INFO] [stdout] --> src/iob.rs:322:9 [INFO] [stdout] | [INFO] [stdout] 322 | write!(writer, "I/O configuration for FB{}_{}\n", fb + 1, mc + 1)?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stdout] help: use `writeln!` instead [INFO] [stdout] | [INFO] [stdout] 322 - write!(writer, "I/O configuration for FB{}_{}\n", fb + 1, mc + 1)?; [INFO] [stdout] 322 + writeln!(writer, "I/O configuration for FB{}_{}", fb + 1, mc + 1)?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `write!()` with a format string that ends in a single newline [INFO] [stdout] --> src/iob.rs:323:9 [INFO] [stdout] | [INFO] [stdout] 323 | / write!(writer, "output mode: {}\n", match self.obuf_mode { [INFO] [stdout] 324 | | XC2IOBOBufMode::Disabled => "disabled", [INFO] [stdout] 325 | | XC2IOBOBufMode::PushPull => "push-pull", [INFO] [stdout] 326 | | XC2IOBOBufMode::OpenDrain => "open-drain", [INFO] [stdout] ... | [INFO] [stdout] 333 | | XC2IOBOBufMode::CGND => "CGND", [INFO] [stdout] 334 | | })?; [INFO] [stdout] | |__________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stdout] help: use `writeln!` instead [INFO] [stdout] | [INFO] [stdout] 323 - write!(writer, "output mode: {}\n", match self.obuf_mode { [INFO] [stdout] 323 + writeln!(writer, "output mode: {}", match self.obuf_mode { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `write!()` with a format string that ends in a single newline [INFO] [stdout] --> src/iob.rs:335:9 [INFO] [stdout] | [INFO] [stdout] 335 | / write!(writer, "input mode: {}\n", match self.ibuf_mode { [INFO] [stdout] 336 | | XC2IOBIbufMode::NoVrefNoSt => "no VREF, no Schmitt trigger", [INFO] [stdout] 337 | | XC2IOBIbufMode::NoVrefSt => "no VREF, Schmitt trigger", [INFO] [stdout] 338 | | XC2IOBIbufMode::UsesVref => "uses VREF (HSTL/SSTL)", [INFO] [stdout] 339 | | XC2IOBIbufMode::IsVref => "is a VREF pin", [INFO] [stdout] 340 | | })?; [INFO] [stdout] | |__________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stdout] help: use `writeln!` instead [INFO] [stdout] | [INFO] [stdout] 335 - write!(writer, "input mode: {}\n", match self.ibuf_mode { [INFO] [stdout] 335 + writeln!(writer, "input mode: {}", match self.ibuf_mode { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `write!()` with a format string that ends in a single newline [INFO] [stdout] --> src/iob.rs:341:9 [INFO] [stdout] | [INFO] [stdout] 341 | write!(writer, "output comes from {}\n", if self.obuf_uses_ff {"FF"} else {"XOR gate"})?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stdout] help: use `writeln!` instead [INFO] [stdout] | [INFO] [stdout] 341 - write!(writer, "output comes from {}\n", if self.obuf_uses_ff {"FF"} else {"XOR gate"})?; [INFO] [stdout] 341 + writeln!(writer, "output comes from {}", if self.obuf_uses_ff {"FF"} else {"XOR gate"})?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `write!()` with a format string that ends in a single newline [INFO] [stdout] --> src/iob.rs:342:9 [INFO] [stdout] | [INFO] [stdout] 342 | write!(writer, "slew rate: {}\n", if self.slew_is_fast {"fast"} else {"slow"})?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stdout] help: use `writeln!` instead [INFO] [stdout] | [INFO] [stdout] 342 - write!(writer, "slew rate: {}\n", if self.slew_is_fast {"fast"} else {"slow"})?; [INFO] [stdout] 342 + writeln!(writer, "slew rate: {}", if self.slew_is_fast {"fast"} else {"slow"})?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `write!()` with a format string that ends in a single newline [INFO] [stdout] --> src/iob.rs:343:9 [INFO] [stdout] | [INFO] [stdout] 343 | / write!(writer, "ZIA driven from: {}\n", match self.zia_mode { [INFO] [stdout] 344 | | XC2IOBZIAMode::Disabled => "disabled", [INFO] [stdout] 345 | | XC2IOBZIAMode::PAD => "input pad", [INFO] [stdout] 346 | | XC2IOBZIAMode::REG => "register", [INFO] [stdout] 347 | | })?; [INFO] [stdout] | |__________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stdout] help: use `writeln!` instead [INFO] [stdout] | [INFO] [stdout] 343 - write!(writer, "ZIA driven from: {}\n", match self.zia_mode { [INFO] [stdout] 343 + writeln!(writer, "ZIA driven from: {}", match self.zia_mode { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `write!()` with a format string that ends in a single newline [INFO] [stdout] --> src/iob.rs:348:9 [INFO] [stdout] | [INFO] [stdout] 348 | write!(writer, "termination: {}\n", if self.termination_enabled {"yes"} else {"no"})?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stdout] help: use `writeln!` instead [INFO] [stdout] | [INFO] [stdout] 348 - write!(writer, "termination: {}\n", if self.termination_enabled {"yes"} else {"no"})?; [INFO] [stdout] 348 + writeln!(writer, "termination: {}", if self.termination_enabled {"yes"} else {"no"})?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `write!()` with a format string that ends in a single newline [INFO] [stdout] --> src/iob.rs:349:9 [INFO] [stdout] | [INFO] [stdout] 349 | write!(writer, "DataGate used: {}\n", if self.uses_data_gate {"yes"} else {"no"})?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stdout] help: use `writeln!` instead [INFO] [stdout] | [INFO] [stdout] 349 - write!(writer, "DataGate used: {}\n", if self.uses_data_gate {"yes"} else {"no"})?; [INFO] [stdout] 349 + writeln!(writer, "DataGate used: {}", if self.uses_data_gate {"yes"} else {"no"})?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `write!()` with a format string that ends in a single newline [INFO] [stdout] --> src/iob.rs:440:9 [INFO] [stdout] | [INFO] [stdout] 440 | write!(writer, "\n")?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stdout] help: use `writeln!` instead [INFO] [stdout] | [INFO] [stdout] 440 - write!(writer, "\n")?; [INFO] [stdout] 440 + writeln!(writer)?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `write!()` with a format string that ends in a single newline [INFO] [stdout] --> src/iob.rs:441:9 [INFO] [stdout] | [INFO] [stdout] 441 | write!(writer, "I/O configuration for input-only pin\n")?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stdout] help: use `writeln!` instead [INFO] [stdout] | [INFO] [stdout] 441 - write!(writer, "I/O configuration for input-only pin\n")?; [INFO] [stdout] 441 + writeln!(writer, "I/O configuration for input-only pin")?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `write!()` with a format string that ends in a single newline [INFO] [stdout] --> src/iob.rs:442:9 [INFO] [stdout] | [INFO] [stdout] 442 | write!(writer, "Schmitt trigger input: {}\n", if self.schmitt_trigger {"yes"} else {"no"})?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stdout] help: use `writeln!` instead [INFO] [stdout] | [INFO] [stdout] 442 - write!(writer, "Schmitt trigger input: {}\n", if self.schmitt_trigger {"yes"} else {"no"})?; [INFO] [stdout] 442 + writeln!(writer, "Schmitt trigger input: {}", if self.schmitt_trigger {"yes"} else {"no"})?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `write!()` with a format string that ends in a single newline [INFO] [stdout] --> src/iob.rs:443:9 [INFO] [stdout] | [INFO] [stdout] 443 | write!(writer, "termination: {}\n", if self.termination_enabled {"yes"} else {"no"})?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stdout] help: use `writeln!` instead [INFO] [stdout] | [INFO] [stdout] 443 - write!(writer, "termination: {}\n", if self.termination_enabled {"yes"} else {"no"})?; [INFO] [stdout] 443 + writeln!(writer, "termination: {}", if self.termination_enabled {"yes"} else {"no"})?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/iob.rs:469:37 [INFO] [stdout] | [INFO] [stdout] 469 | 0..= 5 => Some((0, iob - 0 + 0)), [INFO] [stdout] | ^^^^^^^^^^^^^ help: consider reducing it to: `(iob - 0)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/iob.rs:469:37 [INFO] [stdout] | [INFO] [stdout] 469 | 0..= 5 => Some((0, iob - 0 + 0)), [INFO] [stdout] | ^^^^^^^^ help: consider reducing it to: `iob` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/iob.rs:471:37 [INFO] [stdout] | [INFO] [stdout] 471 | 12..=17 => Some((1, iob - 12 + 0)), [INFO] [stdout] | ^^^^^^^^^^^^^ help: consider reducing it to: `(iob - 12)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/iob.rs:474:37 [INFO] [stdout] | [INFO] [stdout] 474 | 24..=30 => Some((2, iob - 24 + 0)), [INFO] [stdout] | ^^^^^^^^^^^^^ help: consider reducing it to: `(iob - 24)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/iob.rs:476:37 [INFO] [stdout] | [INFO] [stdout] 476 | 37..=43 => Some((3, iob - 37 + 0)), [INFO] [stdout] | ^^^^^^^^^^^^^ help: consider reducing it to: `(iob - 37)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/iob.rs:478:37 [INFO] [stdout] | [INFO] [stdout] 478 | 50..=56 => Some((4, iob - 50 + 0)), [INFO] [stdout] | ^^^^^^^^^^^^^ help: consider reducing it to: `(iob - 50)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/iob.rs:481:37 [INFO] [stdout] | [INFO] [stdout] 481 | 63..=68 => Some((5, iob - 63 + 0)), [INFO] [stdout] | ^^^^^^^^^^^^^ help: consider reducing it to: `(iob - 63)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/iob.rs:484:37 [INFO] [stdout] | [INFO] [stdout] 484 | 75..=81 => Some((6, iob - 75 + 0)), [INFO] [stdout] | ^^^^^^^^^^^^^ help: consider reducing it to: `(iob - 75)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/iob.rs:487:37 [INFO] [stdout] | [INFO] [stdout] 487 | 88..=93 => Some((7, iob - 88 + 0)), [INFO] [stdout] | ^^^^^^^^^^^^^ help: consider reducing it to: `(iob - 88)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/iob.rs:495:40 [INFO] [stdout] | [INFO] [stdout] 495 | 0..= 5 => Some(( 0, iob - 0 + 0)), [INFO] [stdout] | ^^^^^^^^^^^^^^ help: consider reducing it to: `(iob - 0)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/iob.rs:495:40 [INFO] [stdout] | [INFO] [stdout] 495 | 0..= 5 => Some(( 0, iob - 0 + 0)), [INFO] [stdout] | ^^^^^^^^^ help: consider reducing it to: `iob` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/iob.rs:497:40 [INFO] [stdout] | [INFO] [stdout] 497 | 11..= 16 => Some(( 1, iob - 11 + 0)), [INFO] [stdout] | ^^^^^^^^^^^^^^ help: consider reducing it to: `(iob - 11)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/iob.rs:499:40 [INFO] [stdout] | [INFO] [stdout] 499 | 22..= 27 => Some(( 2, iob - 22 + 0)), [INFO] [stdout] | ^^^^^^^^^^^^^^ help: consider reducing it to: `(iob - 22)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/iob.rs:501:40 [INFO] [stdout] | [INFO] [stdout] 501 | 33..= 38 => Some(( 3, iob - 33 + 0)), [INFO] [stdout] | ^^^^^^^^^^^^^^ help: consider reducing it to: `(iob - 33)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/iob.rs:503:40 [INFO] [stdout] | [INFO] [stdout] 503 | 44..= 49 => Some(( 4, iob - 44 + 0)), [INFO] [stdout] | ^^^^^^^^^^^^^^ help: consider reducing it to: `(iob - 44)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/iob.rs:505:40 [INFO] [stdout] | [INFO] [stdout] 505 | 55..= 60 => Some(( 5, iob - 55 + 0)), [INFO] [stdout] | ^^^^^^^^^^^^^^ help: consider reducing it to: `(iob - 55)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/iob.rs:508:40 [INFO] [stdout] | [INFO] [stdout] 508 | 66..= 71 => Some(( 6, iob - 66 + 0)), [INFO] [stdout] | ^^^^^^^^^^^^^^ help: consider reducing it to: `(iob - 66)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/iob.rs:510:40 [INFO] [stdout] | [INFO] [stdout] 510 | 78..= 83 => Some(( 7, iob - 78 + 0)), [INFO] [stdout] | ^^^^^^^^^^^^^^ help: consider reducing it to: `(iob - 78)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/iob.rs:512:40 [INFO] [stdout] | [INFO] [stdout] 512 | 90..= 95 => Some(( 8, iob - 90 + 0)), [INFO] [stdout] | ^^^^^^^^^^^^^^ help: consider reducing it to: `(iob - 90)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/iob.rs:514:40 [INFO] [stdout] | [INFO] [stdout] 514 | 102..=107 => Some(( 9, iob - 102 + 0)), [INFO] [stdout] | ^^^^^^^^^^^^^^ help: consider reducing it to: `(iob - 102)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/iob.rs:516:40 [INFO] [stdout] | [INFO] [stdout] 516 | 114..=119 => Some((10, iob - 114 + 0)), [INFO] [stdout] | ^^^^^^^^^^^^^^ help: consider reducing it to: `(iob - 114)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/iob.rs:518:40 [INFO] [stdout] | [INFO] [stdout] 518 | 126..=131 => Some((11, iob - 126 + 0)), [INFO] [stdout] | ^^^^^^^^^^^^^^ help: consider reducing it to: `(iob - 126)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/iob.rs:521:40 [INFO] [stdout] | [INFO] [stdout] 521 | 138..=143 => Some((12, iob - 138 + 0)), [INFO] [stdout] | ^^^^^^^^^^^^^^ help: consider reducing it to: `(iob - 138)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/iob.rs:523:40 [INFO] [stdout] | [INFO] [stdout] 523 | 149..=154 => Some((13, iob - 149 + 0)), [INFO] [stdout] | ^^^^^^^^^^^^^^ help: consider reducing it to: `(iob - 149)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/iob.rs:525:40 [INFO] [stdout] | [INFO] [stdout] 525 | 160..=165 => Some((14, iob - 160 + 0)), [INFO] [stdout] | ^^^^^^^^^^^^^^ help: consider reducing it to: `(iob - 160)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/iob.rs:527:40 [INFO] [stdout] | [INFO] [stdout] 527 | 172..=177 => Some((15, iob - 172 + 0)), [INFO] [stdout] | ^^^^^^^^^^^^^^ help: consider reducing it to: `(iob - 172)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/iob.rs:541:21 [INFO] [stdout] | [INFO] [stdout] 541 | mc = mc + 6; [INFO] [stdout] | ^^^^^^^^^^^ help: replace it with: `mc += 6` [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: this operation has no effect [INFO] [stdout] --> src/iob.rs:550:40 [INFO] [stdout] | [INFO] [stdout] 550 | 0..= 3 => Some(( 0, iob - 0 + 0)), [INFO] [stdout] | ^^^^^^^^^^^^^^ help: consider reducing it to: `(iob - 0)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/iob.rs:550:40 [INFO] [stdout] | [INFO] [stdout] 550 | 0..= 3 => Some(( 0, iob - 0 + 0)), [INFO] [stdout] | ^^^^^^^^^ help: consider reducing it to: `iob` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/iob.rs:552:40 [INFO] [stdout] | [INFO] [stdout] 552 | 8..= 11 => Some(( 1, iob - 8 + 0)), [INFO] [stdout] | ^^^^^^^^^^^^^^ help: consider reducing it to: `(iob - 8)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/iob.rs:555:40 [INFO] [stdout] | [INFO] [stdout] 555 | 16..= 20 => Some(( 2, iob - 16 + 0)), [INFO] [stdout] | ^^^^^^^^^^^^^^ help: consider reducing it to: `(iob - 16)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/iob.rs:558:40 [INFO] [stdout] | [INFO] [stdout] 558 | 25..= 28 => Some(( 3, iob - 25 + 0)), [INFO] [stdout] | ^^^^^^^^^^^^^^ help: consider reducing it to: `(iob - 25)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/iob.rs:561:40 [INFO] [stdout] | [INFO] [stdout] 561 | 33..= 37 => Some(( 4, iob - 33 + 0)), [INFO] [stdout] | ^^^^^^^^^^^^^^ help: consider reducing it to: `(iob - 33)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/iob.rs:564:40 [INFO] [stdout] | [INFO] [stdout] 564 | 42..= 45 => Some(( 5, iob - 42 + 0)), [INFO] [stdout] | ^^^^^^^^^^^^^^ help: consider reducing it to: `(iob - 42)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/iob.rs:567:40 [INFO] [stdout] | [INFO] [stdout] 567 | 50..= 54 => Some(( 6, iob - 50 + 0)), [INFO] [stdout] | ^^^^^^^^^^^^^^ help: consider reducing it to: `(iob - 50)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/iob.rs:570:40 [INFO] [stdout] | [INFO] [stdout] 570 | 59..= 62 => Some(( 7, iob - 59 + 0)), [INFO] [stdout] | ^^^^^^^^^^^^^^ help: consider reducing it to: `(iob - 59)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/iob.rs:572:40 [INFO] [stdout] | [INFO] [stdout] 572 | 67..= 70 => Some(( 8, iob - 67 + 0)), [INFO] [stdout] | ^^^^^^^^^^^^^^ help: consider reducing it to: `(iob - 67)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/iob.rs:574:40 [INFO] [stdout] | [INFO] [stdout] 574 | 75..= 78 => Some(( 9, iob - 75 + 0)), [INFO] [stdout] | ^^^^^^^^^^^^^^ help: consider reducing it to: `(iob - 75)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/iob.rs:576:40 [INFO] [stdout] | [INFO] [stdout] 576 | 83..= 86 => Some((10, iob - 83 + 0)), [INFO] [stdout] | ^^^^^^^^^^^^^^ help: consider reducing it to: `(iob - 83)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/iob.rs:579:40 [INFO] [stdout] | [INFO] [stdout] 579 | 91..= 95 => Some((11, iob - 91 + 0)), [INFO] [stdout] | ^^^^^^^^^^^^^^ help: consider reducing it to: `(iob - 91)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/iob.rs:582:40 [INFO] [stdout] | [INFO] [stdout] 582 | 100..=103 => Some((12, iob - 100 + 0)), [INFO] [stdout] | ^^^^^^^^^^^^^^ help: consider reducing it to: `(iob - 100)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/iob.rs:585:40 [INFO] [stdout] | [INFO] [stdout] 585 | 108..=112 => Some((13, iob - 108 + 0)), [INFO] [stdout] | ^^^^^^^^^^^^^^ help: consider reducing it to: `(iob - 108)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/iob.rs:588:40 [INFO] [stdout] | [INFO] [stdout] 588 | 117..=120 => Some((14, iob - 117 + 0)), [INFO] [stdout] | ^^^^^^^^^^^^^^ help: consider reducing it to: `(iob - 117)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/iob.rs:591:40 [INFO] [stdout] | [INFO] [stdout] 591 | 125..=129 => Some((15, iob - 125 + 0)), [INFO] [stdout] | ^^^^^^^^^^^^^^ help: consider reducing it to: `(iob - 125)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/iob.rs:593:40 [INFO] [stdout] | [INFO] [stdout] 593 | 134..=138 => Some((16, iob - 134 + 0)), [INFO] [stdout] | ^^^^^^^^^^^^^^ help: consider reducing it to: `(iob - 134)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/iob.rs:596:40 [INFO] [stdout] | [INFO] [stdout] 596 | 143..=146 => Some((17, iob - 143 + 0)), [INFO] [stdout] | ^^^^^^^^^^^^^^ help: consider reducing it to: `(iob - 143)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/iob.rs:599:40 [INFO] [stdout] | [INFO] [stdout] 599 | 151..=155 => Some((18, iob - 151 + 0)), [INFO] [stdout] | ^^^^^^^^^^^^^^ help: consider reducing it to: `(iob - 151)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/iob.rs:602:40 [INFO] [stdout] | [INFO] [stdout] 602 | 160..=163 => Some((19, iob - 160 + 0)), [INFO] [stdout] | ^^^^^^^^^^^^^^ help: consider reducing it to: `(iob - 160)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/iob.rs:605:40 [INFO] [stdout] | [INFO] [stdout] 605 | 168..=172 => Some((20, iob - 168 + 0)), [INFO] [stdout] | ^^^^^^^^^^^^^^ help: consider reducing it to: `(iob - 168)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/iob.rs:608:40 [INFO] [stdout] | [INFO] [stdout] 608 | 177..=180 => Some((21, iob - 177 + 0)), [INFO] [stdout] | ^^^^^^^^^^^^^^ help: consider reducing it to: `(iob - 177)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/iob.rs:611:40 [INFO] [stdout] | [INFO] [stdout] 611 | 185..=189 => Some((22, iob - 185 + 0)), [INFO] [stdout] | ^^^^^^^^^^^^^^ help: consider reducing it to: `(iob - 185)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/iob.rs:614:40 [INFO] [stdout] | [INFO] [stdout] 614 | 194..=197 => Some((23, iob - 194 + 0)), [INFO] [stdout] | ^^^^^^^^^^^^^^ help: consider reducing it to: `(iob - 194)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/iob.rs:616:40 [INFO] [stdout] | [INFO] [stdout] 616 | 202..=205 => Some((24, iob - 202 + 0)), [INFO] [stdout] | ^^^^^^^^^^^^^^ help: consider reducing it to: `(iob - 202)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/iob.rs:619:40 [INFO] [stdout] | [INFO] [stdout] 619 | 210..=214 => Some((25, iob - 210 + 0)), [INFO] [stdout] | ^^^^^^^^^^^^^^ help: consider reducing it to: `(iob - 210)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/iob.rs:622:40 [INFO] [stdout] | [INFO] [stdout] 622 | 219..=222 => Some((26, iob - 219 + 0)), [INFO] [stdout] | ^^^^^^^^^^^^^^ help: consider reducing it to: `(iob - 219)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/iob.rs:625:40 [INFO] [stdout] | [INFO] [stdout] 625 | 227..=231 => Some((27, iob - 227 + 0)), [INFO] [stdout] | ^^^^^^^^^^^^^^ help: consider reducing it to: `(iob - 227)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/iob.rs:628:40 [INFO] [stdout] | [INFO] [stdout] 628 | 236..=239 => Some((28, iob - 236 + 0)), [INFO] [stdout] | ^^^^^^^^^^^^^^ help: consider reducing it to: `(iob - 236)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/iob.rs:631:40 [INFO] [stdout] | [INFO] [stdout] 631 | 244..=248 => Some((29, iob - 244 + 0)), [INFO] [stdout] | ^^^^^^^^^^^^^^ help: consider reducing it to: `(iob - 244)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/iob.rs:634:40 [INFO] [stdout] | [INFO] [stdout] 634 | 253..=256 => Some((30, iob - 253 + 0)), [INFO] [stdout] | ^^^^^^^^^^^^^^ help: consider reducing it to: `(iob - 253)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/iob.rs:637:40 [INFO] [stdout] | [INFO] [stdout] 637 | 261..=265 => Some((31, iob - 261 + 0)), [INFO] [stdout] | ^^^^^^^^^^^^^^ help: consider reducing it to: `(iob - 261)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/iob.rs:666:37 [INFO] [stdout] | [INFO] [stdout] 666 | 0..=5 => Some(0 + mc), [INFO] [stdout] | ^^^^^^ help: consider reducing it to: `mc` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/iob.rs:716:37 [INFO] [stdout] | [INFO] [stdout] 716 | 0..=5 => Some(0 + mc), [INFO] [stdout] | ^^^^^^ help: consider reducing it to: `mc` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/iob.rs:813:37 [INFO] [stdout] | [INFO] [stdout] 813 | 0..=3 => Some(0 + mc), [INFO] [stdout] | ^^^^^^ help: consider reducing it to: `mc` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `write!()` with a format string that ends in a single newline [INFO] [stdout] --> src/mc.rs:272:9 [INFO] [stdout] | [INFO] [stdout] 272 | write!(writer, "\n")?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stdout] help: use `writeln!` instead [INFO] [stdout] | [INFO] [stdout] 272 - write!(writer, "\n")?; [INFO] [stdout] 272 + writeln!(writer)?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `write!()` with a format string that ends in a single newline [INFO] [stdout] --> src/mc.rs:273:9 [INFO] [stdout] | [INFO] [stdout] 273 | write!(writer, "FF configuration for FB{}_{}\n", fb + 1, mc + 1)?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stdout] help: use `writeln!` instead [INFO] [stdout] | [INFO] [stdout] 273 - write!(writer, "FF configuration for FB{}_{}\n", fb + 1, mc + 1)?; [INFO] [stdout] 273 + writeln!(writer, "FF configuration for FB{}_{}", fb + 1, mc + 1)?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `write!()` with a format string that ends in a single newline [INFO] [stdout] --> src/mc.rs:274:9 [INFO] [stdout] | [INFO] [stdout] 274 | / write!(writer, "FF mode: {}\n", match self.reg_mode { [INFO] [stdout] 275 | | XC2MCRegMode::DFF => "D flip-flop", [INFO] [stdout] 276 | | XC2MCRegMode::LATCH => "transparent latch", [INFO] [stdout] 277 | | XC2MCRegMode::TFF => "T flip-flop", [INFO] [stdout] 278 | | XC2MCRegMode::DFFCE => "D flip-flop with clock-enable", [INFO] [stdout] 279 | | })?; [INFO] [stdout] | |__________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stdout] help: use `writeln!` instead [INFO] [stdout] | [INFO] [stdout] 274 - write!(writer, "FF mode: {}\n", match self.reg_mode { [INFO] [stdout] 274 + writeln!(writer, "FF mode: {}", match self.reg_mode { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `write!()` with a format string that ends in a single newline [INFO] [stdout] --> src/mc.rs:280:9 [INFO] [stdout] | [INFO] [stdout] 280 | write!(writer, "initial state: {}\n", if self.init_state {1} else {0})?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stdout] help: use `writeln!` instead [INFO] [stdout] | [INFO] [stdout] 280 - write!(writer, "initial state: {}\n", if self.init_state {1} else {0})?; [INFO] [stdout] 280 + writeln!(writer, "initial state: {}", if self.init_state {1} else {0})?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `write!()` with a format string that ends in a single newline [INFO] [stdout] --> src/mc.rs:281:9 [INFO] [stdout] | [INFO] [stdout] 281 | write!(writer, "{}-edge triggered\n", if self.clk_invert_pol {"falling"} else {"rising"})?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stdout] help: use `writeln!` instead [INFO] [stdout] | [INFO] [stdout] 281 - write!(writer, "{}-edge triggered\n", if self.clk_invert_pol {"falling"} else {"rising"})?; [INFO] [stdout] 281 + writeln!(writer, "{}-edge triggered", if self.clk_invert_pol {"falling"} else {"rising"})?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `write!()` with a format string that ends in a single newline [INFO] [stdout] --> src/mc.rs:282:9 [INFO] [stdout] | [INFO] [stdout] 282 | write!(writer, "DDR: {}\n", if self.is_ddr {"yes"} else {"no"})?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stdout] help: use `writeln!` instead [INFO] [stdout] | [INFO] [stdout] 282 - write!(writer, "DDR: {}\n", if self.is_ddr {"yes"} else {"no"})?; [INFO] [stdout] 282 + writeln!(writer, "DDR: {}", if self.is_ddr {"yes"} else {"no"})?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `write!()` with a format string that ends in a single newline [INFO] [stdout] --> src/mc.rs:283:9 [INFO] [stdout] | [INFO] [stdout] 283 | / write!(writer, "clock source: {}\n", match self.clk_src { [INFO] [stdout] 284 | | XC2MCRegClkSrc::GCK0 => "GCK0", [INFO] [stdout] 285 | | XC2MCRegClkSrc::GCK1 => "GCK1", [INFO] [stdout] 286 | | XC2MCRegClkSrc::GCK2 => "GCK2", [INFO] [stdout] 287 | | XC2MCRegClkSrc::PTC => "PTC", [INFO] [stdout] 288 | | XC2MCRegClkSrc::CTC => "CTC", [INFO] [stdout] 289 | | })?; [INFO] [stdout] | |__________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stdout] help: use `writeln!` instead [INFO] [stdout] | [INFO] [stdout] 283 - write!(writer, "clock source: {}\n", match self.clk_src { [INFO] [stdout] 283 + writeln!(writer, "clock source: {}", match self.clk_src { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `write!()` with a format string that ends in a single newline [INFO] [stdout] --> src/mc.rs:290:9 [INFO] [stdout] | [INFO] [stdout] 290 | / write!(writer, "set source: {}\n", match self.s_src { [INFO] [stdout] 291 | | XC2MCRegSetSrc::Disabled => "disabled", [INFO] [stdout] 292 | | XC2MCRegSetSrc::PTA => "PTA", [INFO] [stdout] 293 | | XC2MCRegSetSrc::GSR => "GSR", [INFO] [stdout] 294 | | XC2MCRegSetSrc::CTS => "CTS", [INFO] [stdout] 295 | | })?; [INFO] [stdout] | |__________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stdout] help: use `writeln!` instead [INFO] [stdout] | [INFO] [stdout] 290 - write!(writer, "set source: {}\n", match self.s_src { [INFO] [stdout] 290 + writeln!(writer, "set source: {}", match self.s_src { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `write!()` with a format string that ends in a single newline [INFO] [stdout] --> src/mc.rs:296:9 [INFO] [stdout] | [INFO] [stdout] 296 | / write!(writer, "reset source: {}\n", match self.r_src { [INFO] [stdout] 297 | | XC2MCRegResetSrc::Disabled => "disabled", [INFO] [stdout] 298 | | XC2MCRegResetSrc::PTA => "PTA", [INFO] [stdout] 299 | | XC2MCRegResetSrc::GSR => "GSR", [INFO] [stdout] 300 | | XC2MCRegResetSrc::CTR => "CTR", [INFO] [stdout] 301 | | })?; [INFO] [stdout] | |__________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stdout] help: use `writeln!` instead [INFO] [stdout] | [INFO] [stdout] 296 - write!(writer, "reset source: {}\n", match self.r_src { [INFO] [stdout] 296 + writeln!(writer, "reset source: {}", match self.r_src { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `write!()` with a format string that ends in a single newline [INFO] [stdout] --> src/mc.rs:302:9 [INFO] [stdout] | [INFO] [stdout] 302 | write!(writer, "using ibuf direct path: {}\n", if self.ff_in_ibuf {"yes"} else {"no"})?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stdout] help: use `writeln!` instead [INFO] [stdout] | [INFO] [stdout] 302 - write!(writer, "using ibuf direct path: {}\n", if self.ff_in_ibuf {"yes"} else {"no"})?; [INFO] [stdout] 302 + writeln!(writer, "using ibuf direct path: {}", if self.ff_in_ibuf {"yes"} else {"no"})?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `write!()` with a format string that ends in a single newline [INFO] [stdout] --> src/mc.rs:303:9 [INFO] [stdout] | [INFO] [stdout] 303 | / write!(writer, "XOR gate input: {}\n", match self.xor_mode { [INFO] [stdout] 304 | | XC2MCXorMode::ZERO => "0", [INFO] [stdout] 305 | | XC2MCXorMode::ONE => "1", [INFO] [stdout] 306 | | XC2MCXorMode::PTC => "PTC", [INFO] [stdout] 307 | | XC2MCXorMode::PTCB => "~PTC", [INFO] [stdout] 308 | | })?; [INFO] [stdout] | |__________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stdout] help: use `writeln!` instead [INFO] [stdout] | [INFO] [stdout] 303 - write!(writer, "XOR gate input: {}\n", match self.xor_mode { [INFO] [stdout] 303 + writeln!(writer, "XOR gate input: {}", match self.xor_mode { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `write!()` with a format string that ends in a single newline [INFO] [stdout] --> src/mc.rs:309:9 [INFO] [stdout] | [INFO] [stdout] 309 | / write!(writer, "ZIA feedback: {}\n", match self.fb_mode { [INFO] [stdout] 310 | | XC2MCFeedbackMode::Disabled => "disabled", [INFO] [stdout] 311 | | XC2MCFeedbackMode::COMB => "combinatorial", [INFO] [stdout] 312 | | XC2MCFeedbackMode::REG => "registered", [INFO] [stdout] 313 | | })?; [INFO] [stdout] | |__________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stdout] help: use `writeln!` instead [INFO] [stdout] | [INFO] [stdout] 309 - write!(writer, "ZIA feedback: {}\n", match self.fb_mode { [INFO] [stdout] 309 + writeln!(writer, "ZIA feedback: {}", match self.fb_mode { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: match expression looks like `matches!` macro [INFO] [stdout] --> src/partdb.rs:75:9 [INFO] [stdout] | [INFO] [stdout] 75 | / match *self { [INFO] [stdout] 76 | | XC2Device::XC2C32 | XC2Device::XC2C32A | [INFO] [stdout] 77 | | XC2Device::XC2C64 | XC2Device::XC2C64A => true, [INFO] [stdout] 78 | | _ => false, [INFO] [stdout] 79 | | } [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_like_matches_macro [INFO] [stdout] help: use `matches!` directly [INFO] [stdout] | [INFO] [stdout] 75 ~ matches!(*self, XC2Device::XC2C32 | XC2Device::XC2C32A | [INFO] [stdout] 76 + XC2Device::XC2C64 | XC2Device::XC2C64A) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: match expression looks like `matches!` macro [INFO] [stdout] --> src/partdb.rs:83:9 [INFO] [stdout] | [INFO] [stdout] 83 | / match *self { [INFO] [stdout] 84 | | XC2Device::XC2C128 | XC2Device::XC2C256 | [INFO] [stdout] 85 | | XC2Device::XC2C384 | XC2Device::XC2C512 => true, [INFO] [stdout] 86 | | _ => false, [INFO] [stdout] 87 | | } [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_like_matches_macro [INFO] [stdout] help: use `matches!` directly [INFO] [stdout] | [INFO] [stdout] 83 ~ matches!(*self, XC2Device::XC2C128 | XC2Device::XC2C256 | [INFO] [stdout] 84 + XC2Device::XC2C384 | XC2Device::XC2C512) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this if-then-else expression returns a bool literal [INFO] [stdout] --> src/partdb.rs:140:17 [INFO] [stdout] | [INFO] [stdout] 140 | / if package == XC2Package::PC44 || package == XC2Package::VQ44 || package == XC2Package::CP56 { [INFO] [stdout] 141 | | true [INFO] [stdout] 142 | | } else { [INFO] [stdout] 143 | | false [INFO] [stdout] 144 | | } [INFO] [stdout] | |_________________^ help: you can reduce it to: `package == XC2Package::PC44 || package == XC2Package::VQ44 || package == XC2Package::CP56` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_bool [INFO] [stdout] = note: `#[warn(clippy::needless_bool)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this if-then-else expression returns a bool literal [INFO] [stdout] --> src/partdb.rs:151:17 [INFO] [stdout] | [INFO] [stdout] 151 | / if package == XC2Package::PC44 || package == XC2Package::VQ44 || package == XC2Package::CP56 || [INFO] [stdout] 152 | | package == XC2Package::QFG32 { [INFO] [stdout] 153 | | true [INFO] [stdout] 154 | | } else { [INFO] [stdout] 155 | | false [INFO] [stdout] 156 | | } [INFO] [stdout] | |_________________^ help: you can reduce it to: `package == XC2Package::PC44 || package == XC2Package::VQ44 || package == XC2Package::CP56 || package == XC2Package::QFG32` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_bool [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this if-then-else expression returns a bool literal [INFO] [stdout] --> src/partdb.rs:163:17 [INFO] [stdout] | [INFO] [stdout] 163 | / if package == XC2Package::PC44 || package == XC2Package::VQ44 || package == XC2Package::CP56 || [INFO] [stdout] 164 | | package == XC2Package::VQ100 { [INFO] [stdout] 165 | | true [INFO] [stdout] 166 | | } else { [INFO] [stdout] 167 | | false [INFO] [stdout] 168 | | } [INFO] [stdout] | |_________________^ help: you can reduce it to: `package == XC2Package::PC44 || package == XC2Package::VQ44 || package == XC2Package::CP56 || package == XC2Package::VQ100` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_bool [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this if-then-else expression returns a bool literal [INFO] [stdout] --> src/partdb.rs:175:17 [INFO] [stdout] | [INFO] [stdout] 175 | / if package == XC2Package::PC44 || package == XC2Package::VQ44 || package == XC2Package::CP56 || [INFO] [stdout] 176 | | package == XC2Package::VQ100 || package == XC2Package::QFG48 { [INFO] [stdout] 177 | | true [INFO] [stdout] 178 | | } else { [INFO] [stdout] 179 | | false [INFO] [stdout] 180 | | } [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_bool [INFO] [stdout] help: you can reduce it to [INFO] [stdout] | [INFO] [stdout] 175 ~ package == XC2Package::PC44 || package == XC2Package::VQ44 || package == XC2Package::CP56 || [INFO] [stdout] 176 + package == XC2Package::VQ100 || package == XC2Package::QFG48 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this if-then-else expression returns a bool literal [INFO] [stdout] --> src/partdb.rs:187:17 [INFO] [stdout] | [INFO] [stdout] 187 | / if package == XC2Package::VQ100 || package == XC2Package::CP132 || package == XC2Package::TQ144 { [INFO] [stdout] 188 | | true [INFO] [stdout] 189 | | } else { [INFO] [stdout] 190 | | false [INFO] [stdout] 191 | | } [INFO] [stdout] | |_________________^ help: you can reduce it to: `package == XC2Package::VQ100 || package == XC2Package::CP132 || package == XC2Package::TQ144` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_bool [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this if-then-else expression returns a bool literal [INFO] [stdout] --> src/partdb.rs:198:17 [INFO] [stdout] | [INFO] [stdout] 198 | / if package == XC2Package::VQ100 || package == XC2Package::CP132 || package == XC2Package::TQ144 || [INFO] [stdout] 199 | | package == XC2Package::PQ208 || package == XC2Package::FT256 { [INFO] [stdout] 200 | | true [INFO] [stdout] 201 | | } else { [INFO] [stdout] 202 | | false [INFO] [stdout] 203 | | } [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_bool [INFO] [stdout] help: you can reduce it to [INFO] [stdout] | [INFO] [stdout] 198 ~ package == XC2Package::VQ100 || package == XC2Package::CP132 || package == XC2Package::TQ144 || [INFO] [stdout] 199 + package == XC2Package::PQ208 || package == XC2Package::FT256 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this if-then-else expression returns a bool literal [INFO] [stdout] --> src/partdb.rs:210:17 [INFO] [stdout] | [INFO] [stdout] 210 | / if package == XC2Package::TQ144 || package == XC2Package::PQ208 || package == XC2Package::FT256 || [INFO] [stdout] 211 | | package == XC2Package::FG324 { [INFO] [stdout] 212 | | true [INFO] [stdout] 213 | | } else { [INFO] [stdout] 214 | | false [INFO] [stdout] 215 | | } [INFO] [stdout] | |_________________^ help: you can reduce it to: `package == XC2Package::TQ144 || package == XC2Package::PQ208 || package == XC2Package::FT256 || package == XC2Package::FG324` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_bool [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this if-then-else expression returns a bool literal [INFO] [stdout] --> src/partdb.rs:222:17 [INFO] [stdout] | [INFO] [stdout] 222 | / if package == XC2Package::PQ208 || package == XC2Package::FT256 || package == XC2Package::FG324 { [INFO] [stdout] 223 | | true [INFO] [stdout] 224 | | } else { [INFO] [stdout] 225 | | false [INFO] [stdout] 226 | | } [INFO] [stdout] | |_________________^ help: you can reduce it to: `package == XC2Package::PQ208 || package == XC2Package::FT256 || package == XC2Package::FG324` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_bool [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `from_str` can be confused for the standard trait method `std::str::FromStr::from_str` [INFO] [stdout] --> src/partdb.rs:245:5 [INFO] [stdout] | [INFO] [stdout] 245 | / pub fn from_str(part_name: &str) -> Option { [INFO] [stdout] 246 | | let dev; [INFO] [stdout] 247 | | let spd; [INFO] [stdout] 248 | | let pkg; [INFO] [stdout] ... | [INFO] [stdout] 321 | | }) [INFO] [stdout] 322 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: consider implementing the trait `std::str::FromStr` or choosing a less ambiguous method name [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#should_implement_trait [INFO] [stdout] = note: `#[warn(clippy::should_implement_trait)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/pla.rs:61:23 [INFO] [stdout] | [INFO] [stdout] 61 | if !fuses[block_idx + term_idx * INPUTS_PER_ANDTERM * 2 + i * 2 + 0] { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider reducing it to: `(block_idx + term_idx * INPUTS_PER_ANDTERM * 2 + i * 2)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `write!()` with a format string that ends in a single newline [INFO] [stdout] --> src/bitstream.rs:51:9 [INFO] [stdout] | [INFO] [stdout] 51 | write!(writer, "xc2bit dump\n")?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stdout] = note: `#[warn(clippy::write_with_newline)]` on by default [INFO] [stdout] help: use `writeln!` instead [INFO] [stdout] | [INFO] [stdout] 51 - write!(writer, "xc2bit dump\n")?; [INFO] [stdout] 51 + writeln!(writer, "xc2bit dump")?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `write!()` with a format string that ends in a single newline [INFO] [stdout] --> src/bitstream.rs:52:9 [INFO] [stdout] | [INFO] [stdout] 52 | write!(writer, "device speed grade: {}\n", self.speed_grade)?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stdout] help: use `writeln!` instead [INFO] [stdout] | [INFO] [stdout] 52 - write!(writer, "device speed grade: {}\n", self.speed_grade)?; [INFO] [stdout] 52 + writeln!(writer, "device speed grade: {}", self.speed_grade)?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `write!()` with a format string that ends in a single newline [INFO] [stdout] --> src/bitstream.rs:53:9 [INFO] [stdout] | [INFO] [stdout] 53 | write!(writer, "device package: {}\n", self.package)?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stdout] help: use `writeln!` instead [INFO] [stdout] | [INFO] [stdout] 53 - write!(writer, "device package: {}\n", self.package)?; [INFO] [stdout] 53 + writeln!(writer, "device package: {}", self.package)?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item overindented [INFO] [stdout] --> src/structure.rs:129:5 [INFO] [stdout] | [INFO] [stdout] 129 | /// port name, index within port, extra data [INFO] [stdout] | ^^^ help: try using ` ` (2 spaces) [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_overindented_list_items [INFO] [stdout] = note: `#[warn(clippy::doc_overindented_list_items)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `write!()` with a format string that ends in a single newline [INFO] [stdout] --> src/bitstream.rs:61:9 [INFO] [stdout] | [INFO] [stdout] 61 | write!(writer, ".JED fuse map written by xc2bit\n")?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stdout] help: use `writeln!` instead [INFO] [stdout] | [INFO] [stdout] 61 - write!(writer, ".JED fuse map written by xc2bit\n")?; [INFO] [stdout] 61 + writeln!(writer, ".JED fuse map written by xc2bit")?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded unit return type [INFO] [stdout] --> src/structure.rs:144:64 [INFO] [stdout] | [INFO] [stdout] 144 | C: FnMut(usize, usize, &'static str, u32, (u32, u32)) -> () { [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: the loop variable `i` is used to index `orterm_wires` [INFO] [stdout] --> src/structure.rs:195:18 [INFO] [stdout] | [INFO] [stdout] 195 | for i in 0..MCS_PER_FB { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 195 - for i in 0..MCS_PER_FB { [INFO] [stdout] 195 + for (i, ) in orterm_wires.iter().enumerate().take(MCS_PER_FB) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `j` is used to index `pterm_wires` [INFO] [stdout] --> src/structure.rs:200:22 [INFO] [stdout] | [INFO] [stdout] 200 | for j in 0..ANDTERMS_PER_FB { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 200 - for j in 0..ANDTERMS_PER_FB { [INFO] [stdout] 200 + for (j, ) in pterm_wires.iter().enumerate().take(ANDTERMS_PER_FB) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `j` is used to index `gck` [INFO] [stdout] --> src/structure.rs:232:22 [INFO] [stdout] | [INFO] [stdout] 232 | for j in 0..3 { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 232 - for j in 0..3 { [INFO] [stdout] 232 + for (j, ) in gck.iter().enumerate().take(3) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `iob_idx` is used to index `to_from_iob_wires` [INFO] [stdout] --> src/structure.rs:283:20 [INFO] [stdout] | [INFO] [stdout] 283 | for iob_idx in 0..device.num_iobs() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 283 - for iob_idx in 0..device.num_iobs() { [INFO] [stdout] 283 + for (iob_idx, ) in to_from_iob_wires.iter().enumerate().take(device.num_iobs()) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is used to index `gts` [INFO] [stdout] --> src/structure.rs:296:18 [INFO] [stdout] | [INFO] [stdout] 296 | for i in 0..4 { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 296 - for i in 0..4 { [INFO] [stdout] 296 + for (i, ) in gts.iter().enumerate().take(4) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is used to index `gck` [INFO] [stdout] --> src/structure.rs:328:14 [INFO] [stdout] | [INFO] [stdout] 328 | for i in 0..3 { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 328 - for i in 0..3 { [INFO] [stdout] 328 + for (i, ) in gck.iter().enumerate().take(3) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`usize` -> `usize`) [INFO] [stdout] --> src/structure.rs:329:40 [INFO] [stdout] | [INFO] [stdout] 329 | let (fb, mc) = get_gck(device, i as usize).unwrap(); [INFO] [stdout] | ^^^^^^^^^^ help: try: `i` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] = note: `#[warn(clippy::unnecessary_cast)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is used to index `gts` [INFO] [stdout] --> src/structure.rs:334:14 [INFO] [stdout] | [INFO] [stdout] 334 | for i in 0..4 { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 334 - for i in 0..4 { [INFO] [stdout] 334 + for (i, ) in gts.iter().enumerate().take(4) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`usize` -> `usize`) [INFO] [stdout] --> src/structure.rs:335:40 [INFO] [stdout] | [INFO] [stdout] 335 | let (fb, mc) = get_gts(device, i as usize).unwrap(); [INFO] [stdout] | ^^^^^^^^^^ help: try: `i` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you don't need to add `&` to all patterns [INFO] [stdout] --> src/structure.rs:351:21 [INFO] [stdout] | [INFO] [stdout] 351 | / match zia_choice { [INFO] [stdout] 352 | | &XC2ZIAInput::Macrocell{fb: zia_fb, mc: zia_mc} => { [INFO] [stdout] 353 | | // From the XOR gate [INFO] [stdout] 354 | | connection_callback(fb_things[and_fb as usize].3[and_i as usize], [INFO] [stdout] ... | [INFO] [stdout] 379 | | _ => unreachable!(), [INFO] [stdout] 380 | | } [INFO] [stdout] | |_____________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stdout] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stdout] | [INFO] [stdout] 351 ~ match *zia_choice { [INFO] [stdout] 352 ~ XC2ZIAInput::Macrocell{fb: zia_fb, mc: zia_mc} => { [INFO] [stdout] 353 | // From the XOR gate [INFO] [stdout] ... [INFO] [stdout] 361 | }, [INFO] [stdout] 362 ~ XC2ZIAInput::IBuf{ibuf: zia_iob} => { [INFO] [stdout] 363 | let (iob_fb, iob_mc) = iob_num_to_fb_mc_num(device, zia_iob as u32).unwrap(); [INFO] [stdout] ... [INFO] [stdout] 372 | }, [INFO] [stdout] 373 ~ XC2ZIAInput::DedicatedInput => { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: large size difference between variants [INFO] [stdout] --> src/bitstream.rs:401:1 [INFO] [stdout] | [INFO] [stdout] 401 | / pub enum XC2BitstreamBits { [INFO] [stdout] 402 | | XC2C32 { [INFO] [stdout] 403 | | fb: [XC2BitstreamFB; 2], [INFO] [stdout] 404 | | iobs: [XC2MCSmallIOB; 32], [INFO] [stdout] ... | [INFO] [stdout] 508 | | / XC2C384 { [INFO] [stdout] 509 | | | fb: [XC2BitstreamFB; 24], [INFO] [stdout] 510 | | | iobs: [[XC2MCLargeIOB; 24]; 10], [INFO] [stdout] 511 | | | global_nets: XC2GlobalNets, [INFO] [stdout] ... | | [INFO] [stdout] 524 | | | ovoltage: [bool; 4], [INFO] [stdout] 525 | | | }, [INFO] [stdout] | | |_____- the second-largest variant contains at least 25515 bytes [INFO] [stdout] 526 | | / XC2C512 { [INFO] [stdout] 527 | | | fb: [XC2BitstreamFB; 32], [INFO] [stdout] 528 | | | iobs: [[XC2MCLargeIOB; 27]; 10], [INFO] [stdout] 529 | | | global_nets: XC2GlobalNets, [INFO] [stdout] ... | | [INFO] [stdout] 542 | | | ovoltage: [bool; 4], [INFO] [stdout] 543 | | | } [INFO] [stdout] | | |_____- the largest variant contains at least 33661 bytes [INFO] [stdout] 544 | | } [INFO] [stdout] | |___^ the entire enum is at least 33662 bytes [INFO] [stdout] | [INFO] [stdout] note: boxing a variant would require the type no longer be `Copy` [INFO] [stdout] --> src/bitstream.rs:401:10 [INFO] [stdout] | [INFO] [stdout] 401 | pub enum XC2BitstreamBits { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] help: consider boxing the large fields or introducing indirection in some other way to reduce the total size of the enum [INFO] [stdout] --> src/bitstream.rs:526:5 [INFO] [stdout] | [INFO] [stdout] 526 | / XC2C512 { [INFO] [stdout] 527 | | fb: [XC2BitstreamFB; 32], [INFO] [stdout] 528 | | iobs: [[XC2MCLargeIOB; 27]; 10], [INFO] [stdout] 529 | | global_nets: XC2GlobalNets, [INFO] [stdout] ... | [INFO] [stdout] 542 | | ovoltage: [bool; 4], [INFO] [stdout] 543 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#large_enum_variant [INFO] [stdout] = note: `#[warn(clippy::large_enum_variant)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is used to index `ZIA_MAP_32` [INFO] [stdout] --> src/zia.rs:9197:22 [INFO] [stdout] | [INFO] [stdout] 9197 | for i in 0..ZIA_MAP_32[row as usize].len() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 9197 - for i in 0..ZIA_MAP_32[row as usize].len() { [INFO] [stdout] 9197 + for (i, ) in ZIA_MAP_32.iter().enumerate().take(ZIA_MAP_32[row as usize].len()) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is used to index `ZIA_MAP_64` [INFO] [stdout] --> src/zia.rs:9252:22 [INFO] [stdout] | [INFO] [stdout] 9252 | for i in 0..ZIA_MAP_64[row as usize].len() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 9252 - for i in 0..ZIA_MAP_64[row as usize].len() { [INFO] [stdout] 9252 + for (i, ) in ZIA_MAP_64.iter().enumerate().take(ZIA_MAP_64[row as usize].len()) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is used to index `ZIA_MAP_128` [INFO] [stdout] --> src/zia.rs:9323:22 [INFO] [stdout] | [INFO] [stdout] 9323 | for i in 0..ZIA_MAP_128[row as usize].len() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 9323 - for i in 0..ZIA_MAP_128[row as usize].len() { [INFO] [stdout] 9323 + for (i, ) in ZIA_MAP_128.iter().enumerate().take(ZIA_MAP_128[row as usize].len()) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is used to index `ZIA_MAP_256` [INFO] [stdout] --> src/zia.rs:9422:22 [INFO] [stdout] | [INFO] [stdout] 9422 | for i in 0..ZIA_MAP_256[row as usize].len() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 9422 - for i in 0..ZIA_MAP_256[row as usize].len() { [INFO] [stdout] 9422 + for (i, ) in ZIA_MAP_256.iter().enumerate().take(ZIA_MAP_256[row as usize].len()) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is used to index `ZIA_MAP_384` [INFO] [stdout] --> src/zia.rs:9561:22 [INFO] [stdout] | [INFO] [stdout] 9561 | for i in 0..ZIA_MAP_384[row as usize].len() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 9561 - for i in 0..ZIA_MAP_384[row as usize].len() { [INFO] [stdout] 9561 + for (i, ) in ZIA_MAP_384.iter().enumerate().take(ZIA_MAP_384[row as usize].len()) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you don't need to add `&` to all patterns [INFO] [stdout] --> src/bitstream.rs:549:9 [INFO] [stdout] | [INFO] [stdout] 549 | / match self { [INFO] [stdout] 550 | | &XC2BitstreamBits::XC2C32{..} => XC2Device::XC2C32, [INFO] [stdout] 551 | | &XC2BitstreamBits::XC2C32A{..} => XC2Device::XC2C32A, [INFO] [stdout] 552 | | &XC2BitstreamBits::XC2C64{..} => XC2Device::XC2C64, [INFO] [stdout] ... | [INFO] [stdout] 557 | | &XC2BitstreamBits::XC2C512{..} => XC2Device::XC2C512, [INFO] [stdout] 558 | | } [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stdout] = note: `#[warn(clippy::match_ref_pats)]` on by default [INFO] [stdout] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stdout] | [INFO] [stdout] 549 ~ match *self { [INFO] [stdout] 550 ~ XC2BitstreamBits::XC2C32{..} => XC2Device::XC2C32, [INFO] [stdout] 551 ~ XC2BitstreamBits::XC2C32A{..} => XC2Device::XC2C32A, [INFO] [stdout] 552 ~ XC2BitstreamBits::XC2C64{..} => XC2Device::XC2C64, [INFO] [stdout] 553 ~ XC2BitstreamBits::XC2C64A{..} => XC2Device::XC2C64A, [INFO] [stdout] 554 ~ XC2BitstreamBits::XC2C128{..} => XC2Device::XC2C128, [INFO] [stdout] 555 ~ XC2BitstreamBits::XC2C256{..} => XC2Device::XC2C256, [INFO] [stdout] 556 ~ XC2BitstreamBits::XC2C384{..} => XC2Device::XC2C384, [INFO] [stdout] 557 ~ XC2BitstreamBits::XC2C512{..} => XC2Device::XC2C512, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you don't need to add `&` to all patterns [INFO] [stdout] --> src/bitstream.rs:563:9 [INFO] [stdout] | [INFO] [stdout] 563 | / match self { [INFO] [stdout] 564 | | &XC2BitstreamBits::XC2C32{ref fb, ..} => fb, [INFO] [stdout] 565 | | &XC2BitstreamBits::XC2C32A{ref fb, ..} => fb, [INFO] [stdout] 566 | | &XC2BitstreamBits::XC2C64{ref fb, ..} => fb, [INFO] [stdout] ... | [INFO] [stdout] 571 | | &XC2BitstreamBits::XC2C512{ref fb, ..} => fb, [INFO] [stdout] 572 | | } [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stdout] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stdout] | [INFO] [stdout] 563 ~ match *self { [INFO] [stdout] 564 ~ XC2BitstreamBits::XC2C32{ref fb, ..} => fb, [INFO] [stdout] 565 ~ XC2BitstreamBits::XC2C32A{ref fb, ..} => fb, [INFO] [stdout] 566 ~ XC2BitstreamBits::XC2C64{ref fb, ..} => fb, [INFO] [stdout] 567 ~ XC2BitstreamBits::XC2C64A{ref fb, ..} => fb, [INFO] [stdout] 568 ~ XC2BitstreamBits::XC2C128{ref fb, ..} => fb, [INFO] [stdout] 569 ~ XC2BitstreamBits::XC2C256{ref fb, ..} => fb, [INFO] [stdout] 570 ~ XC2BitstreamBits::XC2C384{ref fb, ..} => fb, [INFO] [stdout] 571 ~ XC2BitstreamBits::XC2C512{ref fb, ..} => fb, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a struct pattern where every field's pattern takes a reference [INFO] [stdout] --> src/bitstream.rs:564:13 [INFO] [stdout] | [INFO] [stdout] 564 | &XC2BitstreamBits::XC2C32{ref fb, ..} => fb, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] = note: `#[warn(clippy::needless_borrowed_reference)]` on by default [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 564 - &XC2BitstreamBits::XC2C32{ref fb, ..} => fb, [INFO] [stdout] 564 + XC2BitstreamBits::XC2C32{fb, ..} => fb, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a struct pattern where every field's pattern takes a reference [INFO] [stdout] --> src/bitstream.rs:565:13 [INFO] [stdout] | [INFO] [stdout] 565 | &XC2BitstreamBits::XC2C32A{ref fb, ..} => fb, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 565 - &XC2BitstreamBits::XC2C32A{ref fb, ..} => fb, [INFO] [stdout] 565 + XC2BitstreamBits::XC2C32A{fb, ..} => fb, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a struct pattern where every field's pattern takes a reference [INFO] [stdout] --> src/bitstream.rs:566:13 [INFO] [stdout] | [INFO] [stdout] 566 | &XC2BitstreamBits::XC2C64{ref fb, ..} => fb, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 566 - &XC2BitstreamBits::XC2C64{ref fb, ..} => fb, [INFO] [stdout] 566 + XC2BitstreamBits::XC2C64{fb, ..} => fb, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a struct pattern where every field's pattern takes a reference [INFO] [stdout] --> src/bitstream.rs:567:13 [INFO] [stdout] | [INFO] [stdout] 567 | &XC2BitstreamBits::XC2C64A{ref fb, ..} => fb, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 567 - &XC2BitstreamBits::XC2C64A{ref fb, ..} => fb, [INFO] [stdout] 567 + XC2BitstreamBits::XC2C64A{fb, ..} => fb, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a struct pattern where every field's pattern takes a reference [INFO] [stdout] --> src/bitstream.rs:568:13 [INFO] [stdout] | [INFO] [stdout] 568 | &XC2BitstreamBits::XC2C128{ref fb, ..} => fb, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 568 - &XC2BitstreamBits::XC2C128{ref fb, ..} => fb, [INFO] [stdout] 568 + XC2BitstreamBits::XC2C128{fb, ..} => fb, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a struct pattern where every field's pattern takes a reference [INFO] [stdout] --> src/bitstream.rs:569:13 [INFO] [stdout] | [INFO] [stdout] 569 | &XC2BitstreamBits::XC2C256{ref fb, ..} => fb, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 569 - &XC2BitstreamBits::XC2C256{ref fb, ..} => fb, [INFO] [stdout] 569 + XC2BitstreamBits::XC2C256{fb, ..} => fb, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a struct pattern where every field's pattern takes a reference [INFO] [stdout] --> src/bitstream.rs:570:13 [INFO] [stdout] | [INFO] [stdout] 570 | &XC2BitstreamBits::XC2C384{ref fb, ..} => fb, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 570 - &XC2BitstreamBits::XC2C384{ref fb, ..} => fb, [INFO] [stdout] 570 + XC2BitstreamBits::XC2C384{fb, ..} => fb, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a struct pattern where every field's pattern takes a reference [INFO] [stdout] --> src/bitstream.rs:571:13 [INFO] [stdout] | [INFO] [stdout] 571 | &XC2BitstreamBits::XC2C512{ref fb, ..} => fb, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 571 - &XC2BitstreamBits::XC2C512{ref fb, ..} => fb, [INFO] [stdout] 571 + XC2BitstreamBits::XC2C512{fb, ..} => fb, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you don't need to add `&` to all patterns [INFO] [stdout] --> src/bitstream.rs:577:9 [INFO] [stdout] | [INFO] [stdout] 577 | / match self { [INFO] [stdout] 578 | | &mut XC2BitstreamBits::XC2C32{ref mut fb, ..} => fb, [INFO] [stdout] 579 | | &mut XC2BitstreamBits::XC2C32A{ref mut fb, ..} => fb, [INFO] [stdout] 580 | | &mut XC2BitstreamBits::XC2C64{ref mut fb, ..} => fb, [INFO] [stdout] ... | [INFO] [stdout] 585 | | &mut XC2BitstreamBits::XC2C512{ref mut fb, ..} => fb, [INFO] [stdout] 586 | | } [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stdout] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stdout] | [INFO] [stdout] 577 ~ match *self { [INFO] [stdout] 578 ~ XC2BitstreamBits::XC2C32{ref mut fb, ..} => fb, [INFO] [stdout] 579 ~ XC2BitstreamBits::XC2C32A{ref mut fb, ..} => fb, [INFO] [stdout] 580 ~ XC2BitstreamBits::XC2C64{ref mut fb, ..} => fb, [INFO] [stdout] 581 ~ XC2BitstreamBits::XC2C64A{ref mut fb, ..} => fb, [INFO] [stdout] 582 ~ XC2BitstreamBits::XC2C128{ref mut fb, ..} => fb, [INFO] [stdout] 583 ~ XC2BitstreamBits::XC2C256{ref mut fb, ..} => fb, [INFO] [stdout] 584 ~ XC2BitstreamBits::XC2C384{ref mut fb, ..} => fb, [INFO] [stdout] 585 ~ XC2BitstreamBits::XC2C512{ref mut fb, ..} => fb, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you don't need to add `&` to all patterns [INFO] [stdout] --> src/bitstream.rs:591:9 [INFO] [stdout] | [INFO] [stdout] 591 | / match self { [INFO] [stdout] 592 | | &XC2BitstreamBits::XC2C32{ref iobs, ..} => Some(&iobs[i]), [INFO] [stdout] 593 | | &XC2BitstreamBits::XC2C32A{ref iobs, ..} => Some(&iobs[i]), [INFO] [stdout] 594 | | &XC2BitstreamBits::XC2C64{ref iobs, ..} => Some(&iobs[i / 32][i % 32]), [INFO] [stdout] 595 | | &XC2BitstreamBits::XC2C64A{ref iobs, ..} => Some(&iobs[i / 32][i % 32]), [INFO] [stdout] 596 | | _ => None, [INFO] [stdout] 597 | | } [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stdout] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stdout] | [INFO] [stdout] 591 ~ match *self { [INFO] [stdout] 592 ~ XC2BitstreamBits::XC2C32{ref iobs, ..} => Some(&iobs[i]), [INFO] [stdout] 593 ~ XC2BitstreamBits::XC2C32A{ref iobs, ..} => Some(&iobs[i]), [INFO] [stdout] 594 ~ XC2BitstreamBits::XC2C64{ref iobs, ..} => Some(&iobs[i / 32][i % 32]), [INFO] [stdout] 595 ~ XC2BitstreamBits::XC2C64A{ref iobs, ..} => Some(&iobs[i / 32][i % 32]), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a struct pattern where every field's pattern takes a reference [INFO] [stdout] --> src/bitstream.rs:592:13 [INFO] [stdout] | [INFO] [stdout] 592 | &XC2BitstreamBits::XC2C32{ref iobs, ..} => Some(&iobs[i]), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 592 - &XC2BitstreamBits::XC2C32{ref iobs, ..} => Some(&iobs[i]), [INFO] [stdout] 592 + XC2BitstreamBits::XC2C32{iobs, ..} => Some(&iobs[i]), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a struct pattern where every field's pattern takes a reference [INFO] [stdout] --> src/bitstream.rs:593:13 [INFO] [stdout] | [INFO] [stdout] 593 | &XC2BitstreamBits::XC2C32A{ref iobs, ..} => Some(&iobs[i]), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 593 - &XC2BitstreamBits::XC2C32A{ref iobs, ..} => Some(&iobs[i]), [INFO] [stdout] 593 + XC2BitstreamBits::XC2C32A{iobs, ..} => Some(&iobs[i]), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a struct pattern where every field's pattern takes a reference [INFO] [stdout] --> src/bitstream.rs:594:13 [INFO] [stdout] | [INFO] [stdout] 594 | &XC2BitstreamBits::XC2C64{ref iobs, ..} => Some(&iobs[i / 32][i % 32]), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 594 - &XC2BitstreamBits::XC2C64{ref iobs, ..} => Some(&iobs[i / 32][i % 32]), [INFO] [stdout] 594 + XC2BitstreamBits::XC2C64{iobs, ..} => Some(&iobs[i / 32][i % 32]), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a struct pattern where every field's pattern takes a reference [INFO] [stdout] --> src/bitstream.rs:595:13 [INFO] [stdout] | [INFO] [stdout] 595 | &XC2BitstreamBits::XC2C64A{ref iobs, ..} => Some(&iobs[i / 32][i % 32]), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 595 - &XC2BitstreamBits::XC2C64A{ref iobs, ..} => Some(&iobs[i / 32][i % 32]), [INFO] [stdout] 595 + XC2BitstreamBits::XC2C64A{iobs, ..} => Some(&iobs[i / 32][i % 32]), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you don't need to add `&` to all patterns [INFO] [stdout] --> src/bitstream.rs:602:9 [INFO] [stdout] | [INFO] [stdout] 602 | / match self { [INFO] [stdout] 603 | | &mut XC2BitstreamBits::XC2C32{ref mut iobs, ..} => Some(&mut iobs[i]), [INFO] [stdout] 604 | | &mut XC2BitstreamBits::XC2C32A{ref mut iobs, ..} => Some(&mut iobs[i]), [INFO] [stdout] 605 | | &mut XC2BitstreamBits::XC2C64{ref mut iobs, ..} => Some(&mut iobs[i / 32][i % 32]), [INFO] [stdout] 606 | | &mut XC2BitstreamBits::XC2C64A{ref mut iobs, ..} => Some(&mut iobs[i / 32][i % 32]), [INFO] [stdout] 607 | | _ => None, [INFO] [stdout] 608 | | } [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stdout] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stdout] | [INFO] [stdout] 602 ~ match *self { [INFO] [stdout] 603 ~ XC2BitstreamBits::XC2C32{ref mut iobs, ..} => Some(&mut iobs[i]), [INFO] [stdout] 604 ~ XC2BitstreamBits::XC2C32A{ref mut iobs, ..} => Some(&mut iobs[i]), [INFO] [stdout] 605 ~ XC2BitstreamBits::XC2C64{ref mut iobs, ..} => Some(&mut iobs[i / 32][i % 32]), [INFO] [stdout] 606 ~ XC2BitstreamBits::XC2C64A{ref mut iobs, ..} => Some(&mut iobs[i / 32][i % 32]), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you don't need to add `&` to all patterns [INFO] [stdout] --> src/bitstream.rs:613:9 [INFO] [stdout] | [INFO] [stdout] 613 | / match self { [INFO] [stdout] 614 | | &XC2BitstreamBits::XC2C128{ref iobs, ..} => Some(&iobs[i / 25][i % 25]), [INFO] [stdout] 615 | | &XC2BitstreamBits::XC2C256{ref iobs, ..} => Some(&iobs[i / 23][i % 23]), [INFO] [stdout] 616 | | &XC2BitstreamBits::XC2C384{ref iobs, ..} => Some(&iobs[i / 24][i % 24]), [INFO] [stdout] 617 | | &XC2BitstreamBits::XC2C512{ref iobs, ..} => Some(&iobs[i / 27][i % 27]), [INFO] [stdout] 618 | | _ => None, [INFO] [stdout] 619 | | } [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stdout] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stdout] | [INFO] [stdout] 613 ~ match *self { [INFO] [stdout] 614 ~ XC2BitstreamBits::XC2C128{ref iobs, ..} => Some(&iobs[i / 25][i % 25]), [INFO] [stdout] 615 ~ XC2BitstreamBits::XC2C256{ref iobs, ..} => Some(&iobs[i / 23][i % 23]), [INFO] [stdout] 616 ~ XC2BitstreamBits::XC2C384{ref iobs, ..} => Some(&iobs[i / 24][i % 24]), [INFO] [stdout] 617 ~ XC2BitstreamBits::XC2C512{ref iobs, ..} => Some(&iobs[i / 27][i % 27]), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a struct pattern where every field's pattern takes a reference [INFO] [stdout] --> src/bitstream.rs:614:13 [INFO] [stdout] | [INFO] [stdout] 614 | &XC2BitstreamBits::XC2C128{ref iobs, ..} => Some(&iobs[i / 25][i % 25]), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 614 - &XC2BitstreamBits::XC2C128{ref iobs, ..} => Some(&iobs[i / 25][i % 25]), [INFO] [stdout] 614 + XC2BitstreamBits::XC2C128{iobs, ..} => Some(&iobs[i / 25][i % 25]), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a struct pattern where every field's pattern takes a reference [INFO] [stdout] --> src/bitstream.rs:615:13 [INFO] [stdout] | [INFO] [stdout] 615 | &XC2BitstreamBits::XC2C256{ref iobs, ..} => Some(&iobs[i / 23][i % 23]), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 615 - &XC2BitstreamBits::XC2C256{ref iobs, ..} => Some(&iobs[i / 23][i % 23]), [INFO] [stdout] 615 + XC2BitstreamBits::XC2C256{iobs, ..} => Some(&iobs[i / 23][i % 23]), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a struct pattern where every field's pattern takes a reference [INFO] [stdout] --> src/bitstream.rs:616:13 [INFO] [stdout] | [INFO] [stdout] 616 | &XC2BitstreamBits::XC2C384{ref iobs, ..} => Some(&iobs[i / 24][i % 24]), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 616 - &XC2BitstreamBits::XC2C384{ref iobs, ..} => Some(&iobs[i / 24][i % 24]), [INFO] [stdout] 616 + XC2BitstreamBits::XC2C384{iobs, ..} => Some(&iobs[i / 24][i % 24]), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a struct pattern where every field's pattern takes a reference [INFO] [stdout] --> src/bitstream.rs:617:13 [INFO] [stdout] | [INFO] [stdout] 617 | &XC2BitstreamBits::XC2C512{ref iobs, ..} => Some(&iobs[i / 27][i % 27]), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 617 - &XC2BitstreamBits::XC2C512{ref iobs, ..} => Some(&iobs[i / 27][i % 27]), [INFO] [stdout] 617 + XC2BitstreamBits::XC2C512{iobs, ..} => Some(&iobs[i / 27][i % 27]), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you don't need to add `&` to all patterns [INFO] [stdout] --> src/bitstream.rs:624:9 [INFO] [stdout] | [INFO] [stdout] 624 | / match self { [INFO] [stdout] 625 | | &mut XC2BitstreamBits::XC2C128{ref mut iobs, ..} => Some(&mut iobs[i / 25][i % 25]), [INFO] [stdout] 626 | | &mut XC2BitstreamBits::XC2C256{ref mut iobs, ..} => Some(&mut iobs[i / 23][i % 23]), [INFO] [stdout] 627 | | &mut XC2BitstreamBits::XC2C384{ref mut iobs, ..} => Some(&mut iobs[i / 24][i % 24]), [INFO] [stdout] 628 | | &mut XC2BitstreamBits::XC2C512{ref mut iobs, ..} => Some(&mut iobs[i / 27][i % 27]), [INFO] [stdout] 629 | | _ => None, [INFO] [stdout] 630 | | } [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stdout] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stdout] | [INFO] [stdout] 624 ~ match *self { [INFO] [stdout] 625 ~ XC2BitstreamBits::XC2C128{ref mut iobs, ..} => Some(&mut iobs[i / 25][i % 25]), [INFO] [stdout] 626 ~ XC2BitstreamBits::XC2C256{ref mut iobs, ..} => Some(&mut iobs[i / 23][i % 23]), [INFO] [stdout] 627 ~ XC2BitstreamBits::XC2C384{ref mut iobs, ..} => Some(&mut iobs[i / 24][i % 24]), [INFO] [stdout] 628 ~ XC2BitstreamBits::XC2C512{ref mut iobs, ..} => Some(&mut iobs[i / 27][i % 27]), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you don't need to add `&` to all patterns [INFO] [stdout] --> src/bitstream.rs:635:9 [INFO] [stdout] | [INFO] [stdout] 635 | / match self { [INFO] [stdout] 636 | | &XC2BitstreamBits::XC2C32{ref global_nets, ..} => global_nets, [INFO] [stdout] 637 | | &XC2BitstreamBits::XC2C32A{ref global_nets, ..} => global_nets, [INFO] [stdout] 638 | | &XC2BitstreamBits::XC2C64{ref global_nets, ..} => global_nets, [INFO] [stdout] ... | [INFO] [stdout] 643 | | &XC2BitstreamBits::XC2C512{ref global_nets, ..} => global_nets, [INFO] [stdout] 644 | | } [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stdout] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stdout] | [INFO] [stdout] 635 ~ match *self { [INFO] [stdout] 636 ~ XC2BitstreamBits::XC2C32{ref global_nets, ..} => global_nets, [INFO] [stdout] 637 ~ XC2BitstreamBits::XC2C32A{ref global_nets, ..} => global_nets, [INFO] [stdout] 638 ~ XC2BitstreamBits::XC2C64{ref global_nets, ..} => global_nets, [INFO] [stdout] 639 ~ XC2BitstreamBits::XC2C64A{ref global_nets, ..} => global_nets, [INFO] [stdout] 640 ~ XC2BitstreamBits::XC2C128{ref global_nets, ..} => global_nets, [INFO] [stdout] 641 ~ XC2BitstreamBits::XC2C256{ref global_nets, ..} => global_nets, [INFO] [stdout] 642 ~ XC2BitstreamBits::XC2C384{ref global_nets, ..} => global_nets, [INFO] [stdout] 643 ~ XC2BitstreamBits::XC2C512{ref global_nets, ..} => global_nets, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a struct pattern where every field's pattern takes a reference [INFO] [stdout] --> src/bitstream.rs:636:13 [INFO] [stdout] | [INFO] [stdout] 636 | &XC2BitstreamBits::XC2C32{ref global_nets, ..} => global_nets, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 636 - &XC2BitstreamBits::XC2C32{ref global_nets, ..} => global_nets, [INFO] [stdout] 636 + XC2BitstreamBits::XC2C32{global_nets, ..} => global_nets, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a struct pattern where every field's pattern takes a reference [INFO] [stdout] --> src/bitstream.rs:637:13 [INFO] [stdout] | [INFO] [stdout] 637 | &XC2BitstreamBits::XC2C32A{ref global_nets, ..} => global_nets, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 637 - &XC2BitstreamBits::XC2C32A{ref global_nets, ..} => global_nets, [INFO] [stdout] 637 + XC2BitstreamBits::XC2C32A{global_nets, ..} => global_nets, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a struct pattern where every field's pattern takes a reference [INFO] [stdout] --> src/bitstream.rs:638:13 [INFO] [stdout] | [INFO] [stdout] 638 | &XC2BitstreamBits::XC2C64{ref global_nets, ..} => global_nets, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 638 - &XC2BitstreamBits::XC2C64{ref global_nets, ..} => global_nets, [INFO] [stdout] 638 + XC2BitstreamBits::XC2C64{global_nets, ..} => global_nets, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a struct pattern where every field's pattern takes a reference [INFO] [stdout] --> src/bitstream.rs:639:13 [INFO] [stdout] | [INFO] [stdout] 639 | &XC2BitstreamBits::XC2C64A{ref global_nets, ..} => global_nets, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 639 - &XC2BitstreamBits::XC2C64A{ref global_nets, ..} => global_nets, [INFO] [stdout] 639 + XC2BitstreamBits::XC2C64A{global_nets, ..} => global_nets, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a struct pattern where every field's pattern takes a reference [INFO] [stdout] --> src/bitstream.rs:640:13 [INFO] [stdout] | [INFO] [stdout] 640 | &XC2BitstreamBits::XC2C128{ref global_nets, ..} => global_nets, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 640 - &XC2BitstreamBits::XC2C128{ref global_nets, ..} => global_nets, [INFO] [stdout] 640 + XC2BitstreamBits::XC2C128{global_nets, ..} => global_nets, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a struct pattern where every field's pattern takes a reference [INFO] [stdout] --> src/bitstream.rs:641:13 [INFO] [stdout] | [INFO] [stdout] 641 | &XC2BitstreamBits::XC2C256{ref global_nets, ..} => global_nets, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 641 - &XC2BitstreamBits::XC2C256{ref global_nets, ..} => global_nets, [INFO] [stdout] 641 + XC2BitstreamBits::XC2C256{global_nets, ..} => global_nets, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a struct pattern where every field's pattern takes a reference [INFO] [stdout] --> src/bitstream.rs:642:13 [INFO] [stdout] | [INFO] [stdout] 642 | &XC2BitstreamBits::XC2C384{ref global_nets, ..} => global_nets, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 642 - &XC2BitstreamBits::XC2C384{ref global_nets, ..} => global_nets, [INFO] [stdout] 642 + XC2BitstreamBits::XC2C384{global_nets, ..} => global_nets, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a struct pattern where every field's pattern takes a reference [INFO] [stdout] --> src/bitstream.rs:643:13 [INFO] [stdout] | [INFO] [stdout] 643 | &XC2BitstreamBits::XC2C512{ref global_nets, ..} => global_nets, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 643 - &XC2BitstreamBits::XC2C512{ref global_nets, ..} => global_nets, [INFO] [stdout] 643 + XC2BitstreamBits::XC2C512{global_nets, ..} => global_nets, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you don't need to add `&` to all patterns [INFO] [stdout] --> src/bitstream.rs:649:9 [INFO] [stdout] | [INFO] [stdout] 649 | / match self { [INFO] [stdout] 650 | | &mut XC2BitstreamBits::XC2C32{ref mut global_nets, ..} => global_nets, [INFO] [stdout] 651 | | &mut XC2BitstreamBits::XC2C32A{ref mut global_nets, ..} => global_nets, [INFO] [stdout] 652 | | &mut XC2BitstreamBits::XC2C64{ref mut global_nets, ..} => global_nets, [INFO] [stdout] ... | [INFO] [stdout] 657 | | &mut XC2BitstreamBits::XC2C512{ref mut global_nets, ..} => global_nets, [INFO] [stdout] 658 | | } [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stdout] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stdout] | [INFO] [stdout] 649 ~ match *self { [INFO] [stdout] 650 ~ XC2BitstreamBits::XC2C32{ref mut global_nets, ..} => global_nets, [INFO] [stdout] 651 ~ XC2BitstreamBits::XC2C32A{ref mut global_nets, ..} => global_nets, [INFO] [stdout] 652 ~ XC2BitstreamBits::XC2C64{ref mut global_nets, ..} => global_nets, [INFO] [stdout] 653 ~ XC2BitstreamBits::XC2C64A{ref mut global_nets, ..} => global_nets, [INFO] [stdout] 654 ~ XC2BitstreamBits::XC2C128{ref mut global_nets, ..} => global_nets, [INFO] [stdout] 655 ~ XC2BitstreamBits::XC2C256{ref mut global_nets, ..} => global_nets, [INFO] [stdout] 656 ~ XC2BitstreamBits::XC2C384{ref mut global_nets, ..} => global_nets, [INFO] [stdout] 657 ~ XC2BitstreamBits::XC2C512{ref mut global_nets, ..} => global_nets, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you don't need to add `&` to all patterns [INFO] [stdout] --> src/bitstream.rs:662:9 [INFO] [stdout] | [INFO] [stdout] 662 | / match self { [INFO] [stdout] 663 | | &XC2BitstreamBits::XC2C32{..} => None, [INFO] [stdout] 664 | | &XC2BitstreamBits::XC2C32A{..} => None, [INFO] [stdout] 665 | | &XC2BitstreamBits::XC2C64{..} => None, [INFO] [stdout] ... | [INFO] [stdout] 670 | | &XC2BitstreamBits::XC2C512{ref clock_div, ..} => Some(clock_div), [INFO] [stdout] 671 | | } [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stdout] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stdout] | [INFO] [stdout] 662 ~ match *self { [INFO] [stdout] 663 ~ XC2BitstreamBits::XC2C32{..} => None, [INFO] [stdout] 664 ~ XC2BitstreamBits::XC2C32A{..} => None, [INFO] [stdout] 665 ~ XC2BitstreamBits::XC2C64{..} => None, [INFO] [stdout] 666 ~ XC2BitstreamBits::XC2C64A{..} => None, [INFO] [stdout] 667 ~ XC2BitstreamBits::XC2C128{ref clock_div, ..} => Some(clock_div), [INFO] [stdout] 668 ~ XC2BitstreamBits::XC2C256{ref clock_div, ..} => Some(clock_div), [INFO] [stdout] 669 ~ XC2BitstreamBits::XC2C384{ref clock_div, ..} => Some(clock_div), [INFO] [stdout] 670 ~ XC2BitstreamBits::XC2C512{ref clock_div, ..} => Some(clock_div), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a struct pattern where every field's pattern takes a reference [INFO] [stdout] --> src/bitstream.rs:667:13 [INFO] [stdout] | [INFO] [stdout] 667 | &XC2BitstreamBits::XC2C128{ref clock_div, ..} => Some(clock_div), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 667 - &XC2BitstreamBits::XC2C128{ref clock_div, ..} => Some(clock_div), [INFO] [stdout] 667 + XC2BitstreamBits::XC2C128{clock_div, ..} => Some(clock_div), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a struct pattern where every field's pattern takes a reference [INFO] [stdout] --> src/bitstream.rs:668:13 [INFO] [stdout] | [INFO] [stdout] 668 | &XC2BitstreamBits::XC2C256{ref clock_div, ..} => Some(clock_div), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 668 - &XC2BitstreamBits::XC2C256{ref clock_div, ..} => Some(clock_div), [INFO] [stdout] 668 + XC2BitstreamBits::XC2C256{clock_div, ..} => Some(clock_div), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a struct pattern where every field's pattern takes a reference [INFO] [stdout] --> src/bitstream.rs:669:13 [INFO] [stdout] | [INFO] [stdout] 669 | &XC2BitstreamBits::XC2C384{ref clock_div, ..} => Some(clock_div), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 669 - &XC2BitstreamBits::XC2C384{ref clock_div, ..} => Some(clock_div), [INFO] [stdout] 669 + XC2BitstreamBits::XC2C384{clock_div, ..} => Some(clock_div), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a struct pattern where every field's pattern takes a reference [INFO] [stdout] --> src/bitstream.rs:670:13 [INFO] [stdout] | [INFO] [stdout] 670 | &XC2BitstreamBits::XC2C512{ref clock_div, ..} => Some(clock_div), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 670 - &XC2BitstreamBits::XC2C512{ref clock_div, ..} => Some(clock_div), [INFO] [stdout] 670 + XC2BitstreamBits::XC2C512{clock_div, ..} => Some(clock_div), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a struct pattern where every field's pattern takes a reference [INFO] [stdout] --> src/bitstream.rs:730:13 [INFO] [stdout] | [INFO] [stdout] 730 | &XC2BitstreamBits::XC2C128 {ref ivoltage, ref ovoltage, ref data_gate, ref use_vref, ..} => { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 730 - &XC2BitstreamBits::XC2C128 {ref ivoltage, ref ovoltage, ref data_gate, ref use_vref, ..} => { [INFO] [stdout] 730 + XC2BitstreamBits::XC2C128 {ivoltage, ovoltage, data_gate, use_vref, ..} => { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a struct pattern where every field's pattern takes a reference [INFO] [stdout] --> src/bitstream.rs:740:13 [INFO] [stdout] | [INFO] [stdout] 740 | &XC2BitstreamBits::XC2C256 {ref ivoltage, ref ovoltage, ref data_gate, ref use_vref, ..} => { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 740 - &XC2BitstreamBits::XC2C256 {ref ivoltage, ref ovoltage, ref data_gate, ref use_vref, ..} => { [INFO] [stdout] 740 + XC2BitstreamBits::XC2C256 {ivoltage, ovoltage, data_gate, use_vref, ..} => { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a struct pattern where every field's pattern takes a reference [INFO] [stdout] --> src/bitstream.rs:750:13 [INFO] [stdout] | [INFO] [stdout] 750 | &XC2BitstreamBits::XC2C384 {ref ivoltage, ref ovoltage, ref data_gate, ref use_vref, ..} => { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 750 - &XC2BitstreamBits::XC2C384 {ref ivoltage, ref ovoltage, ref data_gate, ref use_vref, ..} => { [INFO] [stdout] 750 + XC2BitstreamBits::XC2C384 {ivoltage, ovoltage, data_gate, use_vref, ..} => { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a struct pattern where every field's pattern takes a reference [INFO] [stdout] --> src/bitstream.rs:764:13 [INFO] [stdout] | [INFO] [stdout] 764 | &XC2BitstreamBits::XC2C512 {ref ivoltage, ref ovoltage, ref data_gate, ref use_vref, ..} => { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 764 - &XC2BitstreamBits::XC2C512 {ref ivoltage, ref ovoltage, ref data_gate, ref use_vref, ..} => { [INFO] [stdout] 764 + XC2BitstreamBits::XC2C512 {ivoltage, ovoltage, data_gate, use_vref, ..} => { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you don't need to add `&` to all patterns [INFO] [stdout] --> src/bitstream.rs:781:9 [INFO] [stdout] | [INFO] [stdout] 781 | / match self { [INFO] [stdout] 782 | | &XC2BitstreamBits::XC2C32A {ref ivoltage, ref ovoltage, ..} => { [INFO] [stdout] 783 | | fuse_array.set(131, 25, !ivoltage[0]); [INFO] [stdout] 784 | | fuse_array.set(132, 25, !ovoltage[0]); [INFO] [stdout] ... | [INFO] [stdout] 794 | | _ => {} [INFO] [stdout] 795 | | } [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stdout] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stdout] | [INFO] [stdout] 781 ~ match *self { [INFO] [stdout] 782 ~ XC2BitstreamBits::XC2C32A {ref ivoltage, ref ovoltage, ..} => { [INFO] [stdout] 783 | fuse_array.set(131, 25, !ivoltage[0]); [INFO] [stdout] ... [INFO] [stdout] 787 | }, [INFO] [stdout] 788 ~ XC2BitstreamBits::XC2C64A {ref ivoltage, ref ovoltage, ..} => { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a struct pattern where every field's pattern takes a reference [INFO] [stdout] --> src/bitstream.rs:782:13 [INFO] [stdout] | [INFO] [stdout] 782 | &XC2BitstreamBits::XC2C32A {ref ivoltage, ref ovoltage, ..} => { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 782 - &XC2BitstreamBits::XC2C32A {ref ivoltage, ref ovoltage, ..} => { [INFO] [stdout] 782 + XC2BitstreamBits::XC2C32A {ivoltage, ovoltage, ..} => { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a struct pattern where every field's pattern takes a reference [INFO] [stdout] --> src/bitstream.rs:788:13 [INFO] [stdout] | [INFO] [stdout] 788 | &XC2BitstreamBits::XC2C64A {ref ivoltage, ref ovoltage, ..} => { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 788 - &XC2BitstreamBits::XC2C64A {ref ivoltage, ref ovoltage, ..} => { [INFO] [stdout] 788 + XC2BitstreamBits::XC2C64A {ivoltage, ovoltage, ..} => { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `write!()` with a format string that ends in a single newline [INFO] [stdout] --> src/bitstream.rs:830:9 [INFO] [stdout] | [INFO] [stdout] 830 | write!(writer, "device type: {}\n", self.device_type())?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stdout] help: use `writeln!` instead [INFO] [stdout] | [INFO] [stdout] 830 - write!(writer, "device type: {}\n", self.device_type())?; [INFO] [stdout] 830 + writeln!(writer, "device type: {}", self.device_type())?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `write!()` with a format string that ends in a single newline [INFO] [stdout] --> src/bitstream.rs:836:17 [INFO] [stdout] | [INFO] [stdout] 836 | write!(writer, "output voltage range: {}\n", if *ovoltage {"high"} else {"low"})?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stdout] help: use `writeln!` instead [INFO] [stdout] | [INFO] [stdout] 836 - write!(writer, "output voltage range: {}\n", if *ovoltage {"high"} else {"low"})?; [INFO] [stdout] 836 + writeln!(writer, "output voltage range: {}", if *ovoltage {"high"} else {"low"})?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `write!()` with a format string that ends in a single newline [INFO] [stdout] --> src/bitstream.rs:837:17 [INFO] [stdout] | [INFO] [stdout] 837 | write!(writer, "input voltage range: {}\n", if *ivoltage {"high"} else {"low"})?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stdout] help: use `writeln!` instead [INFO] [stdout] | [INFO] [stdout] 837 - write!(writer, "input voltage range: {}\n", if *ivoltage {"high"} else {"low"})?; [INFO] [stdout] 837 + writeln!(writer, "input voltage range: {}", if *ivoltage {"high"} else {"low"})?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `write!()` with a format string that ends in a single newline [INFO] [stdout] --> src/bitstream.rs:841:17 [INFO] [stdout] | [INFO] [stdout] 841 | write!(writer, "legacy output voltage range: {}\n", if *legacy_ovoltage {"high"} else {"low"})?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stdout] help: use `writeln!` instead [INFO] [stdout] | [INFO] [stdout] 841 - write!(writer, "legacy output voltage range: {}\n", if *legacy_ovoltage {"high"} else {"low"})?; [INFO] [stdout] 841 + writeln!(writer, "legacy output voltage range: {}", if *legacy_ovoltage {"high"} else {"low"})?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `write!()` with a format string that ends in a single newline [INFO] [stdout] --> src/bitstream.rs:842:17 [INFO] [stdout] | [INFO] [stdout] 842 | write!(writer, "legacy input voltage range: {}\n", if *legacy_ivoltage {"high"} else {"low"})?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stdout] help: use `writeln!` instead [INFO] [stdout] | [INFO] [stdout] 842 - write!(writer, "legacy input voltage range: {}\n", if *legacy_ivoltage {"high"} else {"low"})?; [INFO] [stdout] 842 + writeln!(writer, "legacy input voltage range: {}", if *legacy_ivoltage {"high"} else {"low"})?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `write!()` with a format string that ends in a single newline [INFO] [stdout] --> src/bitstream.rs:843:17 [INFO] [stdout] | [INFO] [stdout] 843 | write!(writer, "bank 0 output voltage range: {}\n", if ovoltage[0] {"high"} else {"low"})?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stdout] help: use `writeln!` instead [INFO] [stdout] | [INFO] [stdout] 843 - write!(writer, "bank 0 output voltage range: {}\n", if ovoltage[0] {"high"} else {"low"})?; [INFO] [stdout] 843 + writeln!(writer, "bank 0 output voltage range: {}", if ovoltage[0] {"high"} else {"low"})?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `write!()` with a format string that ends in a single newline [INFO] [stdout] --> src/bitstream.rs:844:17 [INFO] [stdout] | [INFO] [stdout] 844 | write!(writer, "bank 1 output voltage range: {}\n", if ovoltage[1] {"high"} else {"low"})?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stdout] help: use `writeln!` instead [INFO] [stdout] | [INFO] [stdout] 844 - write!(writer, "bank 1 output voltage range: {}\n", if ovoltage[1] {"high"} else {"low"})?; [INFO] [stdout] 844 + writeln!(writer, "bank 1 output voltage range: {}", if ovoltage[1] {"high"} else {"low"})?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `write!()` with a format string that ends in a single newline [INFO] [stdout] --> src/bitstream.rs:845:17 [INFO] [stdout] | [INFO] [stdout] 845 | write!(writer, "bank 0 input voltage range: {}\n", if ivoltage[0] {"high"} else {"low"})?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stdout] help: use `writeln!` instead [INFO] [stdout] | [INFO] [stdout] 845 - write!(writer, "bank 0 input voltage range: {}\n", if ivoltage[0] {"high"} else {"low"})?; [INFO] [stdout] 845 + writeln!(writer, "bank 0 input voltage range: {}", if ivoltage[0] {"high"} else {"low"})?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `write!()` with a format string that ends in a single newline [INFO] [stdout] --> src/bitstream.rs:846:17 [INFO] [stdout] | [INFO] [stdout] 846 | write!(writer, "bank 1 input voltage range: {}\n", if ivoltage[1] {"high"} else {"low"})?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stdout] help: use `writeln!` instead [INFO] [stdout] | [INFO] [stdout] 846 - write!(writer, "bank 1 input voltage range: {}\n", if ivoltage[1] {"high"} else {"low"})?; [INFO] [stdout] 846 + writeln!(writer, "bank 1 input voltage range: {}", if ivoltage[1] {"high"} else {"low"})?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `write!()` with a format string that ends in a single newline [INFO] [stdout] --> src/bitstream.rs:850:17 [INFO] [stdout] | [INFO] [stdout] 850 | write!(writer, "bank 0 output voltage range: {}\n", if ovoltage[0] {"high"} else {"low"})?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stdout] help: use `writeln!` instead [INFO] [stdout] | [INFO] [stdout] 850 - write!(writer, "bank 0 output voltage range: {}\n", if ovoltage[0] {"high"} else {"low"})?; [INFO] [stdout] 850 + writeln!(writer, "bank 0 output voltage range: {}", if ovoltage[0] {"high"} else {"low"})?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `write!()` with a format string that ends in a single newline [INFO] [stdout] --> src/bitstream.rs:851:17 [INFO] [stdout] | [INFO] [stdout] 851 | write!(writer, "bank 1 output voltage range: {}\n", if ovoltage[1] {"high"} else {"low"})?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stdout] help: use `writeln!` instead [INFO] [stdout] | [INFO] [stdout] 851 - write!(writer, "bank 1 output voltage range: {}\n", if ovoltage[1] {"high"} else {"low"})?; [INFO] [stdout] 851 + writeln!(writer, "bank 1 output voltage range: {}", if ovoltage[1] {"high"} else {"low"})?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `write!()` with a format string that ends in a single newline [INFO] [stdout] --> src/bitstream.rs:852:17 [INFO] [stdout] | [INFO] [stdout] 852 | write!(writer, "bank 0 input voltage range: {}\n", if ivoltage[0] {"high"} else {"low"})?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stdout] help: use `writeln!` instead [INFO] [stdout] | [INFO] [stdout] 852 - write!(writer, "bank 0 input voltage range: {}\n", if ivoltage[0] {"high"} else {"low"})?; [INFO] [stdout] 852 + writeln!(writer, "bank 0 input voltage range: {}", if ivoltage[0] {"high"} else {"low"})?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `write!()` with a format string that ends in a single newline [INFO] [stdout] --> src/bitstream.rs:853:17 [INFO] [stdout] | [INFO] [stdout] 853 | write!(writer, "bank 1 input voltage range: {}\n", if ivoltage[1] {"high"} else {"low"})?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stdout] help: use `writeln!` instead [INFO] [stdout] | [INFO] [stdout] 853 - write!(writer, "bank 1 input voltage range: {}\n", if ivoltage[1] {"high"} else {"low"})?; [INFO] [stdout] 853 + writeln!(writer, "bank 1 input voltage range: {}", if ivoltage[1] {"high"} else {"low"})?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `write!()` with a format string that ends in a single newline [INFO] [stdout] --> src/bitstream.rs:854:17 [INFO] [stdout] | [INFO] [stdout] 854 | write!(writer, "DataGate used: {}\n", if *data_gate {"yes"} else {"no"})?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stdout] help: use `writeln!` instead [INFO] [stdout] | [INFO] [stdout] 854 - write!(writer, "DataGate used: {}\n", if *data_gate {"yes"} else {"no"})?; [INFO] [stdout] 854 + writeln!(writer, "DataGate used: {}", if *data_gate {"yes"} else {"no"})?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `write!()` with a format string that ends in a single newline [INFO] [stdout] --> src/bitstream.rs:855:17 [INFO] [stdout] | [INFO] [stdout] 855 | write!(writer, "VREF used: {}\n", if *use_vref {"yes"} else {"no"})?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stdout] help: use `writeln!` instead [INFO] [stdout] | [INFO] [stdout] 855 - write!(writer, "VREF used: {}\n", if *use_vref {"yes"} else {"no"})?; [INFO] [stdout] 855 + writeln!(writer, "VREF used: {}", if *use_vref {"yes"} else {"no"})?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `write!()` with a format string that ends in a single newline [INFO] [stdout] --> src/bitstream.rs:859:17 [INFO] [stdout] | [INFO] [stdout] 859 | write!(writer, "bank 0 output voltage range: {}\n", if ovoltage[0] {"high"} else {"low"})?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stdout] help: use `writeln!` instead [INFO] [stdout] | [INFO] [stdout] 859 - write!(writer, "bank 0 output voltage range: {}\n", if ovoltage[0] {"high"} else {"low"})?; [INFO] [stdout] 859 + writeln!(writer, "bank 0 output voltage range: {}", if ovoltage[0] {"high"} else {"low"})?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `write!()` with a format string that ends in a single newline [INFO] [stdout] --> src/bitstream.rs:860:17 [INFO] [stdout] | [INFO] [stdout] 860 | write!(writer, "bank 1 output voltage range: {}\n", if ovoltage[1] {"high"} else {"low"})?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stdout] help: use `writeln!` instead [INFO] [stdout] | [INFO] [stdout] 860 - write!(writer, "bank 1 output voltage range: {}\n", if ovoltage[1] {"high"} else {"low"})?; [INFO] [stdout] 860 + writeln!(writer, "bank 1 output voltage range: {}", if ovoltage[1] {"high"} else {"low"})?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `write!()` with a format string that ends in a single newline [INFO] [stdout] --> src/bitstream.rs:861:17 [INFO] [stdout] | [INFO] [stdout] 861 | write!(writer, "bank 2 output voltage range: {}\n", if ovoltage[2] {"high"} else {"low"})?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stdout] help: use `writeln!` instead [INFO] [stdout] | [INFO] [stdout] 861 - write!(writer, "bank 2 output voltage range: {}\n", if ovoltage[2] {"high"} else {"low"})?; [INFO] [stdout] 861 + writeln!(writer, "bank 2 output voltage range: {}", if ovoltage[2] {"high"} else {"low"})?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `write!()` with a format string that ends in a single newline [INFO] [stdout] --> src/bitstream.rs:862:17 [INFO] [stdout] | [INFO] [stdout] 862 | write!(writer, "bank 3 output voltage range: {}\n", if ovoltage[3] {"high"} else {"low"})?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stdout] help: use `writeln!` instead [INFO] [stdout] | [INFO] [stdout] 862 - write!(writer, "bank 3 output voltage range: {}\n", if ovoltage[3] {"high"} else {"low"})?; [INFO] [stdout] 862 + writeln!(writer, "bank 3 output voltage range: {}", if ovoltage[3] {"high"} else {"low"})?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `write!()` with a format string that ends in a single newline [INFO] [stdout] --> src/bitstream.rs:863:17 [INFO] [stdout] | [INFO] [stdout] 863 | write!(writer, "bank 0 input voltage range: {}\n", if ivoltage[0] {"high"} else {"low"})?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stdout] help: use `writeln!` instead [INFO] [stdout] | [INFO] [stdout] 863 - write!(writer, "bank 0 input voltage range: {}\n", if ivoltage[0] {"high"} else {"low"})?; [INFO] [stdout] 863 + writeln!(writer, "bank 0 input voltage range: {}", if ivoltage[0] {"high"} else {"low"})?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `write!()` with a format string that ends in a single newline [INFO] [stdout] --> src/bitstream.rs:864:17 [INFO] [stdout] | [INFO] [stdout] 864 | write!(writer, "bank 1 input voltage range: {}\n", if ivoltage[1] {"high"} else {"low"})?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stdout] help: use `writeln!` instead [INFO] [stdout] | [INFO] [stdout] 864 - write!(writer, "bank 1 input voltage range: {}\n", if ivoltage[1] {"high"} else {"low"})?; [INFO] [stdout] 864 + writeln!(writer, "bank 1 input voltage range: {}", if ivoltage[1] {"high"} else {"low"})?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `write!()` with a format string that ends in a single newline [INFO] [stdout] --> src/bitstream.rs:865:17 [INFO] [stdout] | [INFO] [stdout] 865 | write!(writer, "bank 2 input voltage range: {}\n", if ivoltage[2] {"high"} else {"low"})?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stdout] help: use `writeln!` instead [INFO] [stdout] | [INFO] [stdout] 865 - write!(writer, "bank 2 input voltage range: {}\n", if ivoltage[2] {"high"} else {"low"})?; [INFO] [stdout] 865 + writeln!(writer, "bank 2 input voltage range: {}", if ivoltage[2] {"high"} else {"low"})?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `write!()` with a format string that ends in a single newline [INFO] [stdout] --> src/bitstream.rs:866:17 [INFO] [stdout] | [INFO] [stdout] 866 | write!(writer, "bank 3 input voltage range: {}\n", if ivoltage[3] {"high"} else {"low"})?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stdout] help: use `writeln!` instead [INFO] [stdout] | [INFO] [stdout] 866 - write!(writer, "bank 3 input voltage range: {}\n", if ivoltage[3] {"high"} else {"low"})?; [INFO] [stdout] 866 + writeln!(writer, "bank 3 input voltage range: {}", if ivoltage[3] {"high"} else {"low"})?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `write!()` with a format string that ends in a single newline [INFO] [stdout] --> src/bitstream.rs:867:17 [INFO] [stdout] | [INFO] [stdout] 867 | write!(writer, "DataGate used: {}\n", if *data_gate {"yes"} else {"no"})?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stdout] help: use `writeln!` instead [INFO] [stdout] | [INFO] [stdout] 867 - write!(writer, "DataGate used: {}\n", if *data_gate {"yes"} else {"no"})?; [INFO] [stdout] 867 + writeln!(writer, "DataGate used: {}", if *data_gate {"yes"} else {"no"})?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `write!()` with a format string that ends in a single newline [INFO] [stdout] --> src/bitstream.rs:868:17 [INFO] [stdout] | [INFO] [stdout] 868 | write!(writer, "VREF used: {}\n", if *use_vref {"yes"} else {"no"})?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stdout] help: use `writeln!` instead [INFO] [stdout] | [INFO] [stdout] 868 - write!(writer, "VREF used: {}\n", if *use_vref {"yes"} else {"no"})?; [INFO] [stdout] 868 + writeln!(writer, "VREF used: {}", if *use_vref {"yes"} else {"no"})?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `iob` after checking its variant with `is_some` [INFO] [stdout] --> src/bitstream.rs:937:35 [INFO] [stdout] | [INFO] [stdout] 936 | if iob.is_some() { [INFO] [stdout] | ---------------- help: try: `if let Some() = iob` [INFO] [stdout] 937 | let iob = iob.unwrap() as usize; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] = note: `#[warn(clippy::unnecessary_unwrap)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/bitstream.rs:951:15 [INFO] [stdout] | [INFO] [stdout] 951 | jed.f[gck_fuse_idx(self.device_type()) + 0] = self.get_global_nets().gck_enable[0]; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider reducing it to: `gck_fuse_idx(self.device_type())` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] = note: `#[warn(clippy::identity_op)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/bitstream.rs:971:15 [INFO] [stdout] | [INFO] [stdout] 971 | jed.f[gsr_fuse_idx(self.device_type()) + 0] = self.get_global_nets().gsr_invert; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider reducing it to: `gsr_fuse_idx(self.device_type())` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/bitstream.rs:976:15 [INFO] [stdout] | [INFO] [stdout] 976 | jed.f[gts_fuse_idx(self.device_type()) + 0] = self.get_global_nets().gts_invert[0]; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider reducing it to: `gts_fuse_idx(self.device_type())` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a struct pattern where every field's pattern takes a reference [INFO] [stdout] --> src/bitstream.rs:1010:13 [INFO] [stdout] | [INFO] [stdout] 1010 | &XC2BitstreamBits::XC2C128 {ref ivoltage, ref ovoltage, ref data_gate, ref use_vref, ..} => { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 1010 - &XC2BitstreamBits::XC2C128 {ref ivoltage, ref ovoltage, ref data_gate, ref use_vref, ..} => { [INFO] [stdout] 1010 + XC2BitstreamBits::XC2C128 {ivoltage, ovoltage, data_gate, use_vref, ..} => { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a struct pattern where every field's pattern takes a reference [INFO] [stdout] --> src/bitstream.rs:1024:13 [INFO] [stdout] | [INFO] [stdout] 1024 | &XC2BitstreamBits::XC2C256 {ref ivoltage, ref ovoltage, ref data_gate, ref use_vref, ..} => { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 1024 - &XC2BitstreamBits::XC2C256 {ref ivoltage, ref ovoltage, ref data_gate, ref use_vref, ..} => { [INFO] [stdout] 1024 + XC2BitstreamBits::XC2C256 {ivoltage, ovoltage, data_gate, use_vref, ..} => { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a struct pattern where every field's pattern takes a reference [INFO] [stdout] --> src/bitstream.rs:1038:13 [INFO] [stdout] | [INFO] [stdout] 1038 | &XC2BitstreamBits::XC2C384 {ref ivoltage, ref ovoltage, ref data_gate, ref use_vref, ..} => { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 1038 - &XC2BitstreamBits::XC2C384 {ref ivoltage, ref ovoltage, ref data_gate, ref use_vref, ..} => { [INFO] [stdout] 1038 + XC2BitstreamBits::XC2C384 {ivoltage, ovoltage, data_gate, use_vref, ..} => { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a struct pattern where every field's pattern takes a reference [INFO] [stdout] --> src/bitstream.rs:1057:13 [INFO] [stdout] | [INFO] [stdout] 1057 | &XC2BitstreamBits::XC2C512 {ref ivoltage, ref ovoltage, ref data_gate, ref use_vref, ..} => { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 1057 - &XC2BitstreamBits::XC2C512 {ref ivoltage, ref ovoltage, ref data_gate, ref use_vref, ..} => { [INFO] [stdout] 1057 + XC2BitstreamBits::XC2C512 {ivoltage, ovoltage, data_gate, use_vref, ..} => { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you don't need to add `&` to all patterns [INFO] [stdout] --> src/bitstream.rs:1079:9 [INFO] [stdout] | [INFO] [stdout] 1079 | / match self { [INFO] [stdout] 1080 | | &XC2BitstreamBits::XC2C32A {ref ivoltage, ref ovoltage, ..} => { [INFO] [stdout] 1081 | | linebreaks.add(12274); [INFO] [stdout] 1082 | | jed.f[12274] = !ivoltage[0]; [INFO] [stdout] ... | [INFO] [stdout] 1100 | | _ => {} [INFO] [stdout] 1101 | | } [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stdout] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stdout] | [INFO] [stdout] 1079 ~ match *self { [INFO] [stdout] 1080 ~ XC2BitstreamBits::XC2C32A {ref ivoltage, ref ovoltage, ..} => { [INFO] [stdout] 1081 | linebreaks.add(12274); [INFO] [stdout] ... [INFO] [stdout] 1089 | }, [INFO] [stdout] 1090 ~ XC2BitstreamBits::XC2C64A {ref ivoltage, ref ovoltage, ..} => { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a struct pattern where every field's pattern takes a reference [INFO] [stdout] --> src/bitstream.rs:1080:13 [INFO] [stdout] | [INFO] [stdout] 1080 | &XC2BitstreamBits::XC2C32A {ref ivoltage, ref ovoltage, ..} => { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 1080 - &XC2BitstreamBits::XC2C32A {ref ivoltage, ref ovoltage, ..} => { [INFO] [stdout] 1080 + XC2BitstreamBits::XC2C32A {ivoltage, ovoltage, ..} => { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a struct pattern where every field's pattern takes a reference [INFO] [stdout] --> src/bitstream.rs:1090:13 [INFO] [stdout] | [INFO] [stdout] 1090 | &XC2BitstreamBits::XC2C64A {ref ivoltage, ref ovoltage, ..} => { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 1090 - &XC2BitstreamBits::XC2C64A {ref ivoltage, ref ovoltage, ..} => { [INFO] [stdout] 1090 + XC2BitstreamBits::XC2C64A {ivoltage, ovoltage, ..} => { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is used to index `fb` [INFO] [stdout] --> src/bitstream.rs:1109:14 [INFO] [stdout] | [INFO] [stdout] 1109 | for i in 0..fb.len() { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] = note: `#[warn(clippy::needless_range_loop)]` on by default [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 1109 - for i in 0..fb.len() { [INFO] [stdout] 1109 + for (i, ) in fb.iter_mut().enumerate() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `iob` after checking its variant with `is_some` [INFO] [stdout] --> src/bitstream.rs:1148:22 [INFO] [stdout] | [INFO] [stdout] 1146 | if iob.is_some() { [INFO] [stdout] | ---------------- help: try: `if let Some() = iob` [INFO] [stdout] 1147 | let res = XC2MCLargeIOB::from_jed(fuses, iob_fuse)?; [INFO] [stdout] 1148 | iobs[iob.unwrap() as usize] = res; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is used to index `fb` [INFO] [stdout] --> src/bitstream.rs:1134:14 [INFO] [stdout] | [INFO] [stdout] 1134 | for i in 0..fb.len() { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 1134 - for i in 0..fb.len() { [INFO] [stdout] 1134 + for (i, ) in fb.iter_mut().enumerate() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is used to index `fb` [INFO] [stdout] --> src/bitstream.rs:1404:14 [INFO] [stdout] | [INFO] [stdout] 1404 | for i in 0..fb.len() { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 1404 - for i in 0..fb.len() { [INFO] [stdout] 1404 + for (i, ) in fb.iter_mut().enumerate() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is used to index `iobs` [INFO] [stdout] --> src/bitstream.rs:1408:14 [INFO] [stdout] | [INFO] [stdout] 1408 | for i in 0..iobs.len() { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 1408 - for i in 0..iobs.len() { [INFO] [stdout] 1408 + for (i, ) in iobs.iter_mut().enumerate() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is used to index `fb` [INFO] [stdout] --> src/bitstream.rs:1419:14 [INFO] [stdout] | [INFO] [stdout] 1419 | for i in 0..fb.len() { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 1419 - for i in 0..fb.len() { [INFO] [stdout] 1419 + for (i, ) in fb.iter_mut().enumerate() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is used to index `iobs` [INFO] [stdout] --> src/bitstream.rs:1423:14 [INFO] [stdout] | [INFO] [stdout] 1423 | for i in 0..iobs.len() { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 1423 - for i in 0..iobs.len() { [INFO] [stdout] 1423 + for (i, ) in iobs.iter_mut().enumerate() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is used to index `ZIA_MAP_512` [INFO] [stdout] --> src/zia.rs:9738:22 [INFO] [stdout] | [INFO] [stdout] 9738 | for i in 0..ZIA_MAP_512[row as usize].len() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 9738 - for i in 0..ZIA_MAP_512[row as usize].len() { [INFO] [stdout] 9738 + for (i, ) in ZIA_MAP_512.iter().enumerate().take(ZIA_MAP_512[row as usize].len()) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/crbit.rs:77:16 [INFO] [stdout] | [INFO] [stdout] 77 | if l.len() == 0 { [INFO] [stdout] | ^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `l.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: stripping a prefix manually [INFO] [stdout] --> src/crbit.rs:83:37 [INFO] [stdout] | [INFO] [stdout] 83 | dev_name_str = Some(l["// DEVICE ".len()..].to_owned()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: the prefix was tested here [INFO] [stdout] --> src/crbit.rs:82:13 [INFO] [stdout] | [INFO] [stdout] 82 | if l.starts_with("// DEVICE ") { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_strip [INFO] [stdout] = note: `#[warn(clippy::manual_strip)]` on by default [INFO] [stdout] help: try using the `strip_prefix` method [INFO] [stdout] | [INFO] [stdout] 82 ~ if let Some() = l.strip_prefix("// DEVICE ") { [INFO] [stdout] 83 ~ dev_name_str = Some(.to_owned()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `write!()` with a format string that ends in a single newline [INFO] [stdout] --> src/crbit.rs:123:9 [INFO] [stdout] | [INFO] [stdout] 123 | write!(writer, "// crbit native bitstream file written by xc2bit\n")?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stdout] help: use `writeln!` instead [INFO] [stdout] | [INFO] [stdout] 123 - write!(writer, "// crbit native bitstream file written by xc2bit\n")?; [INFO] [stdout] 123 + writeln!(writer, "// crbit native bitstream file written by xc2bit")?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `write!()` with a format string that ends in a single newline [INFO] [stdout] --> src/crbit.rs:135:13 [INFO] [stdout] | [INFO] [stdout] 135 | write!(writer, "\n")?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stdout] help: use `writeln!` instead [INFO] [stdout] | [INFO] [stdout] 135 - write!(writer, "\n")?; [INFO] [stdout] 135 + writeln!(writer)?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `write!()` with a format string that ends in a single newline [INFO] [stdout] --> src/crbit.rs:137:9 [INFO] [stdout] | [INFO] [stdout] 137 | write!(writer, "\n")?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stdout] help: use `writeln!` instead [INFO] [stdout] | [INFO] [stdout] 137 - write!(writer, "\n")?; [INFO] [stdout] 137 + writeln!(writer)?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you don't need to add `&` to all patterns [INFO] [stdout] --> src/errors.rs:56:9 [INFO] [stdout] | [INFO] [stdout] 56 | / match self { [INFO] [stdout] 57 | | &XC2BitError::JedParseError(ref err) => Some(err), [INFO] [stdout] 58 | | &XC2BitError::BadDeviceName(_) => None, [INFO] [stdout] 59 | | &XC2BitError::WrongFuseCount => None, [INFO] [stdout] 60 | | &XC2BitError::UnsupportedOeConfiguration(_) => None, [INFO] [stdout] 61 | | &XC2BitError::UnsupportedZIAConfiguration(_) => None, [INFO] [stdout] 62 | | } [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stdout] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stdout] | [INFO] [stdout] 56 ~ match *self { [INFO] [stdout] 57 ~ XC2BitError::JedParseError(ref err) => Some(err), [INFO] [stdout] 58 ~ XC2BitError::BadDeviceName(_) => None, [INFO] [stdout] 59 ~ XC2BitError::WrongFuseCount => None, [INFO] [stdout] 60 ~ XC2BitError::UnsupportedOeConfiguration(_) => None, [INFO] [stdout] 61 ~ XC2BitError::UnsupportedZIAConfiguration(_) => None, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a tuple pattern where every element takes a reference [INFO] [stdout] --> src/errors.rs:57:13 [INFO] [stdout] | [INFO] [stdout] 57 | &XC2BitError::JedParseError(ref err) => Some(err), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 57 - &XC2BitError::JedParseError(ref err) => Some(err), [INFO] [stdout] 57 + XC2BitError::JedParseError(err) => Some(err), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you don't need to add `&` to all patterns [INFO] [stdout] --> src/errors.rs:68:9 [INFO] [stdout] | [INFO] [stdout] 68 | / match self { [INFO] [stdout] 69 | | &XC2BitError::JedParseError(err) => { [INFO] [stdout] 70 | | write!(f, ".jed parsing failed: {}", err) [INFO] [stdout] 71 | | }, [INFO] [stdout] ... | [INFO] [stdout] 89 | | }, [INFO] [stdout] 90 | | } [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stdout] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stdout] | [INFO] [stdout] 68 ~ match *self { [INFO] [stdout] 69 ~ XC2BitError::JedParseError(err) => { [INFO] [stdout] 70 | write!(f, ".jed parsing failed: {}", err) [INFO] [stdout] 71 | }, [INFO] [stdout] 72 ~ XC2BitError::BadDeviceName(ref devname) => { [INFO] [stdout] 73 | write!(f, "device name \"{}\" is invalid/unsupported", devname) [INFO] [stdout] 74 | }, [INFO] [stdout] 75 ~ XC2BitError::WrongFuseCount => { [INFO] [stdout] 76 | write!(f, "wrong number of fuses") [INFO] [stdout] 77 | }, [INFO] [stdout] 78 ~ XC2BitError::UnsupportedOeConfiguration(bits) => { [INFO] [stdout] 79 | write!(f, "unknown Oe field value {}{}{}{}", [INFO] [stdout] ... [INFO] [stdout] 82 | }, [INFO] [stdout] 83 ~ XC2BitError::UnsupportedZIAConfiguration(ref bits) => { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a tuple pattern where every element takes a reference [INFO] [stdout] --> src/errors.rs:72:13 [INFO] [stdout] | [INFO] [stdout] 72 | &XC2BitError::BadDeviceName(ref devname) => { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 72 - &XC2BitError::BadDeviceName(ref devname) => { [INFO] [stdout] 72 + XC2BitError::BadDeviceName(devname) => { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a tuple pattern where every element takes a reference [INFO] [stdout] --> src/errors.rs:83:13 [INFO] [stdout] | [INFO] [stdout] 83 | &XC2BitError::UnsupportedZIAConfiguration(ref bits) => { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 83 - &XC2BitError::UnsupportedZIAConfiguration(ref bits) => { [INFO] [stdout] 83 + XC2BitError::UnsupportedZIAConfiguration(bits) => { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `write!()` with a format string that ends in a single newline [INFO] [stdout] --> src/fb.rs:148:9 [INFO] [stdout] | [INFO] [stdout] 148 | write!(writer, "\n")?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stdout] help: use `writeln!` instead [INFO] [stdout] | [INFO] [stdout] 148 - write!(writer, "\n")?; [INFO] [stdout] 148 + writeln!(writer)?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `write!()` with a format string that ends in a single newline [INFO] [stdout] --> src/fb.rs:149:9 [INFO] [stdout] | [INFO] [stdout] 149 | write!(writer, "ZIA inputs for FB{}\n", fb + 1)?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stdout] help: use `writeln!` instead [INFO] [stdout] | [INFO] [stdout] 149 - write!(writer, "ZIA inputs for FB{}\n", fb + 1)?; [INFO] [stdout] 149 + writeln!(writer, "ZIA inputs for FB{}", fb + 1)?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `write!()` with a format string that ends in a single newline [INFO] [stdout] --> src/fb.rs:153:38 [INFO] [stdout] | [INFO] [stdout] 153 | XC2ZIAInput::Zero => write!(writer, "0\n")?, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stdout] help: use `writeln!` instead [INFO] [stdout] | [INFO] [stdout] 153 - XC2ZIAInput::Zero => write!(writer, "0\n")?, [INFO] [stdout] 153 + XC2ZIAInput::Zero => writeln!(writer, "0")?, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `write!()` with a format string that ends in a single newline [INFO] [stdout] --> src/fb.rs:154:37 [INFO] [stdout] | [INFO] [stdout] 154 | XC2ZIAInput::One => write!(writer, "1\n")?, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stdout] help: use `writeln!` instead [INFO] [stdout] | [INFO] [stdout] 154 - XC2ZIAInput::One => write!(writer, "1\n")?, [INFO] [stdout] 154 + XC2ZIAInput::One => writeln!(writer, "1")?, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `write!()` with a format string that ends in a single newline [INFO] [stdout] --> src/fb.rs:156:21 [INFO] [stdout] | [INFO] [stdout] 156 | write!(writer, "FB{}_{} FF\n", fb + 1, mc + 1)?, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stdout] help: use `writeln!` instead [INFO] [stdout] | [INFO] [stdout] 156 - write!(writer, "FB{}_{} FF\n", fb + 1, mc + 1)?, [INFO] [stdout] 156 + writeln!(writer, "FB{}_{} FF", fb + 1, mc + 1)?, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `write!()` with a format string that ends in a single newline [INFO] [stdout] --> src/fb.rs:159:21 [INFO] [stdout] | [INFO] [stdout] 159 | write!(writer, "FB{}_{} pad\n", fb + 1, mc + 1)?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stdout] help: use `writeln!` instead [INFO] [stdout] | [INFO] [stdout] 159 - write!(writer, "FB{}_{} pad\n", fb + 1, mc + 1)?; [INFO] [stdout] 159 + writeln!(writer, "FB{}_{} pad", fb + 1, mc + 1)?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `write!()` with a format string that ends in a single newline [INFO] [stdout] --> src/fb.rs:161:48 [INFO] [stdout] | [INFO] [stdout] 161 | XC2ZIAInput::DedicatedInput => write!(writer, "dedicated input\n")?, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stdout] help: use `writeln!` instead [INFO] [stdout] | [INFO] [stdout] 161 - XC2ZIAInput::DedicatedInput => write!(writer, "dedicated input\n")?, [INFO] [stdout] 161 + XC2ZIAInput::DedicatedInput => writeln!(writer, "dedicated input")?, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `write!()` with a format string that ends in a single newline [INFO] [stdout] --> src/fb.rs:165:9 [INFO] [stdout] | [INFO] [stdout] 165 | write!(writer, "\n")?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stdout] help: use `writeln!` instead [INFO] [stdout] | [INFO] [stdout] 165 - write!(writer, "\n")?; [INFO] [stdout] 165 + writeln!(writer)?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `write!()` with a format string that ends in a single newline [INFO] [stdout] --> src/fb.rs:166:9 [INFO] [stdout] | [INFO] [stdout] 166 | write!(writer, "AND terms for FB{}\n", fb + 1)?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stdout] help: use `writeln!` instead [INFO] [stdout] | [INFO] [stdout] 166 - write!(writer, "AND terms for FB{}\n", fb + 1)?; [INFO] [stdout] 166 + writeln!(writer, "AND terms for FB{}", fb + 1)?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `write!()` with a format string that ends in a single newline [INFO] [stdout] --> src/fb.rs:167:9 [INFO] [stdout] | [INFO] [stdout] 167 | / write!(writer, " | 0| ~0| 1| ~1| 2| ~2| 3| ~3| 4| ~4| 5| ~5| 6| ~6| 7| ~7| 8| ~8| 9| ~9| 10|~10| \ [INFO] [stdout] 168 | | 11|~11| 12|~12| 13|~13| 14|~14| 15|~15| 16|~16| 17|~17| 18|~18| 19|~19| 20|~20| \ [INFO] [stdout] 169 | | 21|~21| 22|~22| 23|~23| 24|~24| 25|~25| 26|~26| 27|~27| 28|~28| 29|~29| 30|~30| \ [INFO] [stdout] 170 | | 31|~31| 32|~32| 33|~33| 34|~34| 35|~35| 36|~36| 37|~37| 38|~38| 39|~39\ [INFO] [stdout] 171 | | \n")?; [INFO] [stdout] | |_________________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stdout] help: use `writeln!` instead [INFO] [stdout] | [INFO] [stdout] 167 ~ writeln!(writer, " | 0| ~0| 1| ~1| 2| ~2| 3| ~3| 4| ~4| 5| ~5| 6| ~6| 7| ~7| 8| ~8| 9| ~9| 10|~10| \ [INFO] [stdout] 168 | 11|~11| 12|~12| 13|~13| 14|~14| 15|~15| 16|~16| 17|~17| 18|~18| 19|~19| 20|~20| \ [INFO] [stdout] 169 | 21|~21| 22|~22| 23|~23| 24|~24| 25|~25| 26|~26| 27|~27| 28|~28| 29|~29| 30|~30| \ [INFO] [stdout] 170 | 31|~31| 32|~32| 33|~33| 34|~34| 35|~35| 36|~36| 37|~37| 38|~38| 39|~39\ [INFO] [stdout] 171 ~ ")?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `write!()` with a format string that ends in a single newline [INFO] [stdout] --> src/fb.rs:187:13 [INFO] [stdout] | [INFO] [stdout] 187 | write!(writer, "\n")?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stdout] help: use `writeln!` instead [INFO] [stdout] | [INFO] [stdout] 187 - write!(writer, "\n")?; [INFO] [stdout] 187 + writeln!(writer)?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `write!()` with a format string that ends in a single newline [INFO] [stdout] --> src/fb.rs:190:9 [INFO] [stdout] | [INFO] [stdout] 190 | write!(writer, "\n")?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stdout] help: use `writeln!` instead [INFO] [stdout] | [INFO] [stdout] 190 - write!(writer, "\n")?; [INFO] [stdout] 190 + writeln!(writer)?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `write!()` with a format string that ends in a single newline [INFO] [stdout] --> src/fb.rs:191:9 [INFO] [stdout] | [INFO] [stdout] 191 | write!(writer, "OR terms for FB{}\n", fb + 1)?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stdout] help: use `writeln!` instead [INFO] [stdout] | [INFO] [stdout] 191 - write!(writer, "OR terms for FB{}\n", fb + 1)?; [INFO] [stdout] 191 + writeln!(writer, "OR terms for FB{}", fb + 1)?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `write!()` with a format string that ends in a single newline [INFO] [stdout] --> src/fb.rs:192:9 [INFO] [stdout] | [INFO] [stdout] 192 | / write!(writer, " | 0| 1| 2| 3| 4| 5| 6| 7| 8| 9|10|11|12|13|14|15|16|17|18|19|20|\ [INFO] [stdout] 193 | | 21|22|23|24|25|26|27|28|29|30|31|32|33|34|35|36|37|38|39|40|\ [INFO] [stdout] 194 | | 41|42|43|44|45|46|47|48|49|50|51|52|53|54|55\n")?; [INFO] [stdout] | |_______________________________________________________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stdout] help: use `writeln!` instead [INFO] [stdout] | [INFO] [stdout] 192 ~ writeln!(writer, " | 0| 1| 2| 3| 4| 5| 6| 7| 8| 9|10|11|12|13|14|15|16|17|18|19|20|\ [INFO] [stdout] 193 | 21|22|23|24|25|26|27|28|29|30|31|32|33|34|35|36|37|38|39|40|\ [INFO] [stdout] 194 ~ 41|42|43|44|45|46|47|48|49|50|51|52|53|54|55")?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `write!()` with a format string that ends in a single newline [INFO] [stdout] --> src/fb.rs:204:13 [INFO] [stdout] | [INFO] [stdout] 204 | write!(writer, "\n")?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stdout] help: use `writeln!` instead [INFO] [stdout] | [INFO] [stdout] 204 - write!(writer, "\n")?; [INFO] [stdout] 204 + writeln!(writer)?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/fb.rs:285:44 [INFO] [stdout] | [INFO] [stdout] 285 | ... fuse_array.set(x + term_idx * 2 + 0, out_y, !self.get_andterm(term_idx).get_b(input_idx)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: consider reducing it to: `(x + term_idx * 2)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/fb.rs:290:44 [INFO] [stdout] | [INFO] [stdout] 290 | ... fuse_array.set(x - term_idx * 2 - 0, out_y, !self.get_andterm(term_idx).get_b(input_idx)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: consider reducing it to: `(x - term_idx * 2)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `term_idx` is used to index `AND_BLOCK_TYPE2_P2L_MAP` [INFO] [stdout] --> src/fb.rs:297:33 [INFO] [stdout] | [INFO] [stdout] 297 | for term_idx in 0..ANDTERMS_PER_FB { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 297 - for term_idx in 0..ANDTERMS_PER_FB { [INFO] [stdout] 297 + for (term_idx, ) in AND_BLOCK_TYPE2_P2L_MAP.iter().enumerate().take(ANDTERMS_PER_FB) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/fb.rs:305:44 [INFO] [stdout] | [INFO] [stdout] 305 | ... fuse_array.set(x + term_idx * 2 + 0, y + input_idx, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: consider reducing it to: `(x + term_idx * 2)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/fb.rs:312:44 [INFO] [stdout] | [INFO] [stdout] 312 | ... fuse_array.set(x - term_idx * 2 - 0, y + input_idx, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: consider reducing it to: `(x - term_idx * 2)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/fb.rs:432:67 [INFO] [stdout] | [INFO] [stdout] 432 | ... .set_b(input_idx, !fuse_array.get(x + term_idx * 2 + 0, out_y)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: consider reducing it to: `(x + term_idx * 2)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/fb.rs:439:67 [INFO] [stdout] | [INFO] [stdout] 439 | ... .set_b(input_idx, !fuse_array.get(x - term_idx * 2 - 0, out_y)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: consider reducing it to: `(x - term_idx * 2)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `term_idx` is used to index `AND_BLOCK_TYPE2_P2L_MAP` [INFO] [stdout] --> src/fb.rs:446:33 [INFO] [stdout] | [INFO] [stdout] 446 | for term_idx in 0..ANDTERMS_PER_FB { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 446 - for term_idx in 0..ANDTERMS_PER_FB { [INFO] [stdout] 446 + for (term_idx, ) in AND_BLOCK_TYPE2_P2L_MAP.iter().enumerate().take(ANDTERMS_PER_FB) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/fb.rs:455:49 [INFO] [stdout] | [INFO] [stdout] 455 | ... !fuse_array.get(x + term_idx * 2 + 0, y + input_idx)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: consider reducing it to: `(x + term_idx * 2)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/fb.rs:462:49 [INFO] [stdout] | [INFO] [stdout] 462 | ... !fuse_array.get(x - term_idx * 2 - 0, y + input_idx)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: consider reducing it to: `(x - term_idx * 2)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `j` is only used to index `zia_choice_bits` [INFO] [stdout] --> src/fb.rs:546:30 [INFO] [stdout] | [INFO] [stdout] 546 | for j in 0..zia_choice_bits.len() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator [INFO] [stdout] | [INFO] [stdout] 546 - for j in 0..zia_choice_bits.len() { [INFO] [stdout] 546 + for in &zia_choice_bits { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `j` is only used to index `zia_choice_bits` [INFO] [stdout] --> src/fb.rs:555:30 [INFO] [stdout] | [INFO] [stdout] 555 | for j in 0..zia_choice_bits.len() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator [INFO] [stdout] | [INFO] [stdout] 555 - for j in 0..zia_choice_bits.len() { [INFO] [stdout] 555 + for in &zia_choice_bits { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `j` is only used to index `zia_choice_bits` [INFO] [stdout] --> src/fb.rs:564:30 [INFO] [stdout] | [INFO] [stdout] 564 | for j in 0..zia_choice_bits.len() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator [INFO] [stdout] | [INFO] [stdout] 564 - for j in 0..zia_choice_bits.len() { [INFO] [stdout] 564 + for in &zia_choice_bits { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `j` is only used to index `zia_choice_bits` [INFO] [stdout] --> src/fb.rs:573:30 [INFO] [stdout] | [INFO] [stdout] 573 | for j in 0..zia_choice_bits.len() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator [INFO] [stdout] | [INFO] [stdout] 573 - for j in 0..zia_choice_bits.len() { [INFO] [stdout] 573 + for in &zia_choice_bits { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `j` is only used to index `zia_choice_bits` [INFO] [stdout] --> src/fb.rs:582:30 [INFO] [stdout] | [INFO] [stdout] 582 | for j in 0..zia_choice_bits.len() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator [INFO] [stdout] | [INFO] [stdout] 582 - for j in 0..zia_choice_bits.len() { [INFO] [stdout] 582 + for in &zia_choice_bits { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `j` is only used to index `zia_choice_bits` [INFO] [stdout] --> src/fb.rs:591:30 [INFO] [stdout] | [INFO] [stdout] 591 | for j in 0..zia_choice_bits.len() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator [INFO] [stdout] | [INFO] [stdout] 591 - for j in 0..zia_choice_bits.len() { [INFO] [stdout] 591 + for in &zia_choice_bits { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/fb.rs:605:23 [INFO] [stdout] | [INFO] [stdout] 605 | jed.f[and_fuse_base + j * 2 + 0] = !self.get_andterm(i).get(j); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider reducing it to: `(and_fuse_base + j * 2)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: match expression looks like `matches!` macro [INFO] [stdout] --> src/fb.rs:631:32 [INFO] [stdout] | [INFO] [stdout] 631 | let device_is_large = match device { [INFO] [stdout] | ________________________________^ [INFO] [stdout] 632 | | XC2Device::XC2C32 | XC2Device::XC2C32A | XC2Device::XC2C64 | XC2Device::XC2C64A => false, [INFO] [stdout] 633 | | _ => true, [INFO] [stdout] 634 | | }; [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_like_matches_macro [INFO] [stdout] = note: `#[warn(clippy::match_like_matches_macro)]` on by default [INFO] [stdout] help: use `matches!` directly [INFO] [stdout] | [INFO] [stdout] 631 - let device_is_large = match device { [INFO] [stdout] 632 - XC2Device::XC2C32 | XC2Device::XC2C32A | XC2Device::XC2C64 | XC2Device::XC2C64A => false, [INFO] [stdout] 633 - _ => true, [INFO] [stdout] 634 - }; [INFO] [stdout] 631 + let device_is_large = !matches!(device, XC2Device::XC2C32 | XC2Device::XC2C32A | XC2Device::XC2C64 | XC2Device::XC2C64A); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of `.is_multiple_of()` [INFO] [stdout] --> src/fusemap_physical.rs:164:8 [INFO] [stdout] | [INFO] [stdout] 164 | if fb % 2 == 0 { [INFO] [stdout] | ^^^^^^^^^^^ help: replace with: `fb.is_multiple_of(2)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_is_multiple_of [INFO] [stdout] = note: `#[warn(clippy::manual_is_multiple_of)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/fusemap_physical.rs:230:5 [INFO] [stdout] | [INFO] [stdout] 230 | / (((usize, usize), (usize, usize)), ((usize, usize), (usize, usize)), [INFO] [stdout] 231 | | ((usize, usize), (usize, usize)), ((usize, usize), (usize, usize))) { [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: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/fusemap_physical.rs:262:8 [INFO] [stdout] | [INFO] [stdout] 262 | -> ((usize, usize), (usize, usize), (usize, usize), (usize, usize), (usize, usize)) { [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] [INFO] [stdout] [INFO] [stdout] warning: using `write!()` with a format string that ends in a single newline [INFO] [stdout] --> src/globalbits.rs:77:9 [INFO] [stdout] | [INFO] [stdout] 77 | write!(writer, "\n")?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stdout] help: use `writeln!` instead [INFO] [stdout] | [INFO] [stdout] 77 - write!(writer, "\n")?; [INFO] [stdout] 77 + writeln!(writer)?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `write!()` with a format string that ends in a single newline [INFO] [stdout] --> src/globalbits.rs:78:9 [INFO] [stdout] | [INFO] [stdout] 78 | write!(writer, "GCK0 {}\n", if self.gck_enable[0] {"enabled"} else {"disabled"})?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stdout] help: use `writeln!` instead [INFO] [stdout] | [INFO] [stdout] 78 - write!(writer, "GCK0 {}\n", if self.gck_enable[0] {"enabled"} else {"disabled"})?; [INFO] [stdout] 78 + writeln!(writer, "GCK0 {}", if self.gck_enable[0] {"enabled"} else {"disabled"})?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `write!()` with a format string that ends in a single newline [INFO] [stdout] --> src/globalbits.rs:79:9 [INFO] [stdout] | [INFO] [stdout] 79 | write!(writer, "GCK1 {}\n", if self.gck_enable[1] {"enabled"} else {"disabled"})?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stdout] help: use `writeln!` instead [INFO] [stdout] | [INFO] [stdout] 79 - write!(writer, "GCK1 {}\n", if self.gck_enable[1] {"enabled"} else {"disabled"})?; [INFO] [stdout] 79 + writeln!(writer, "GCK1 {}", if self.gck_enable[1] {"enabled"} else {"disabled"})?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `write!()` with a format string that ends in a single newline [INFO] [stdout] --> src/globalbits.rs:80:9 [INFO] [stdout] | [INFO] [stdout] 80 | write!(writer, "GCK2 {}\n", if self.gck_enable[2] {"enabled"} else {"disabled"})?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stdout] help: use `writeln!` instead [INFO] [stdout] | [INFO] [stdout] 80 - write!(writer, "GCK2 {}\n", if self.gck_enable[2] {"enabled"} else {"disabled"})?; [INFO] [stdout] 80 + writeln!(writer, "GCK2 {}", if self.gck_enable[2] {"enabled"} else {"disabled"})?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `write!()` with a format string that ends in a single newline [INFO] [stdout] --> src/globalbits.rs:82:9 [INFO] [stdout] | [INFO] [stdout] 82 | / write!(writer, "GSR {}, active {}\n", [INFO] [stdout] 83 | | if self.gsr_enable {"enabled"} else {"disabled"}, [INFO] [stdout] 84 | | if self.gsr_invert {"high"} else {"low"})?; [INFO] [stdout] | |_____________________________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stdout] help: use `writeln!` instead [INFO] [stdout] | [INFO] [stdout] 82 - write!(writer, "GSR {}, active {}\n", [INFO] [stdout] 82 + writeln!(writer, "GSR {}, active {}", [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `write!()` with a format string that ends in a single newline [INFO] [stdout] --> src/globalbits.rs:86:9 [INFO] [stdout] | [INFO] [stdout] 86 | / write!(writer, "GTS0 {}, acts as {}\n", [INFO] [stdout] 87 | | if self.gts_enable[0] {"enabled"} else {"disabled"}, [INFO] [stdout] 88 | | if self.gts_invert[0] {"!T"} else {"T"})?; [INFO] [stdout] | |____________________________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stdout] help: use `writeln!` instead [INFO] [stdout] | [INFO] [stdout] 86 - write!(writer, "GTS0 {}, acts as {}\n", [INFO] [stdout] 86 + writeln!(writer, "GTS0 {}, acts as {}", [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `write!()` with a format string that ends in a single newline [INFO] [stdout] --> src/globalbits.rs:89:9 [INFO] [stdout] | [INFO] [stdout] 89 | / write!(writer, "GTS1 {}, acts as {}\n", [INFO] [stdout] 90 | | if self.gts_enable[1] {"enabled"} else {"disabled"}, [INFO] [stdout] 91 | | if self.gts_invert[1] {"!T"} else {"T"})?; [INFO] [stdout] | |____________________________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stdout] help: use `writeln!` instead [INFO] [stdout] | [INFO] [stdout] 89 - write!(writer, "GTS1 {}, acts as {}\n", [INFO] [stdout] 89 + writeln!(writer, "GTS1 {}, acts as {}", [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `write!()` with a format string that ends in a single newline [INFO] [stdout] --> src/globalbits.rs:92:9 [INFO] [stdout] | [INFO] [stdout] 92 | / write!(writer, "GTS2 {}, acts as {}\n", [INFO] [stdout] 93 | | if self.gts_enable[2] {"enabled"} else {"disabled"}, [INFO] [stdout] 94 | | if self.gts_invert[2] {"!T"} else {"T"})?; [INFO] [stdout] | |____________________________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stdout] help: use `writeln!` instead [INFO] [stdout] | [INFO] [stdout] 92 - write!(writer, "GTS2 {}, acts as {}\n", [INFO] [stdout] 92 + writeln!(writer, "GTS2 {}, acts as {}", [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `write!()` with a format string that ends in a single newline [INFO] [stdout] --> src/globalbits.rs:95:9 [INFO] [stdout] | [INFO] [stdout] 95 | / write!(writer, "GTS3 {}, acts as {}\n", [INFO] [stdout] 96 | | if self.gts_enable[3] {"enabled"} else {"disabled"}, [INFO] [stdout] 97 | | if self.gts_invert[3] {"!T"} else {"T"})?; [INFO] [stdout] | |____________________________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stdout] help: use `writeln!` instead [INFO] [stdout] | [INFO] [stdout] 95 - write!(writer, "GTS3 {}, acts as {}\n", [INFO] [stdout] 95 + writeln!(writer, "GTS3 {}, acts as {}", [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `write!()` with a format string that ends in a single newline [INFO] [stdout] --> src/globalbits.rs:99:9 [INFO] [stdout] | [INFO] [stdout] 99 | write!(writer, "global termination is {}\n", if self.global_pu {"pull-up"} else {"bus hold"})?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stdout] help: use `writeln!` instead [INFO] [stdout] | [INFO] [stdout] 99 - write!(writer, "global termination is {}\n", if self.global_pu {"pull-up"} else {"bus hold"})?; [INFO] [stdout] 99 + writeln!(writer, "global termination is {}", if self.global_pu {"pull-up"} else {"bus hold"})?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/globalbits.rs:135:23 [INFO] [stdout] | [INFO] [stdout] 135 | fuses[gck_fuse_idx(device) + 0], [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: consider reducing it to: `gck_fuse_idx(device)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/globalbits.rs:140:31 [INFO] [stdout] | [INFO] [stdout] 140 | gsr_invert: fuses[gsr_fuse_idx(device) + 0], [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: consider reducing it to: `gsr_fuse_idx(device)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/globalbits.rs:148:23 [INFO] [stdout] | [INFO] [stdout] 148 | fuses[gts_fuse_idx(device) + 0], [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: consider reducing it to: `gts_fuse_idx(device)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `write!()` with a format string that ends in a single newline [INFO] [stdout] --> src/globalbits.rs:231:9 [INFO] [stdout] | [INFO] [stdout] 231 | write!(writer, "\n")?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stdout] help: use `writeln!` instead [INFO] [stdout] | [INFO] [stdout] 231 - write!(writer, "\n")?; [INFO] [stdout] 231 + writeln!(writer)?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `write!()` with a format string that ends in a single newline [INFO] [stdout] --> src/globalbits.rs:232:9 [INFO] [stdout] | [INFO] [stdout] 232 | write!(writer, "GCK2 clock divider {}\n", if self.enabled {"enabled"} else {"disabled"})?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stdout] help: use `writeln!` instead [INFO] [stdout] | [INFO] [stdout] 232 - write!(writer, "GCK2 clock divider {}\n", if self.enabled {"enabled"} else {"disabled"})?; [INFO] [stdout] 232 + writeln!(writer, "GCK2 clock divider {}", if self.enabled {"enabled"} else {"disabled"})?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `write!()` with a format string that ends in a single newline [INFO] [stdout] --> src/globalbits.rs:233:9 [INFO] [stdout] | [INFO] [stdout] 233 | write!(writer, "clock divider delay {}\n", if self.delay {"enabled"} else {"disabled"})?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stdout] help: use `writeln!` instead [INFO] [stdout] | [INFO] [stdout] 233 - write!(writer, "clock divider delay {}\n", if self.delay {"enabled"} else {"disabled"})?; [INFO] [stdout] 233 + writeln!(writer, "clock divider delay {}", if self.delay {"enabled"} else {"disabled"})?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `write!()` with a format string that ends in a single newline [INFO] [stdout] --> src/globalbits.rs:235:9 [INFO] [stdout] | [INFO] [stdout] 235 | / write!(writer, "clock division ratio: {}\n", match self.div_ratio { [INFO] [stdout] 236 | | XC2ClockDivRatio::Div2 => "2", [INFO] [stdout] 237 | | XC2ClockDivRatio::Div4 => "4", [INFO] [stdout] 238 | | XC2ClockDivRatio::Div6 => "6", [INFO] [stdout] ... | [INFO] [stdout] 243 | | XC2ClockDivRatio::Div16 => "16", [INFO] [stdout] 244 | | })?; [INFO] [stdout] | |__________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stdout] help: use `writeln!` instead [INFO] [stdout] | [INFO] [stdout] 235 - write!(writer, "clock division ratio: {}\n", match self.div_ratio { [INFO] [stdout] 235 + writeln!(writer, "clock division ratio: {}", match self.div_ratio { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `next_item` after checking its variant with `is_none` [INFO] [stdout] --> src/util.rs:73:32 [INFO] [stdout] | [INFO] [stdout] 70 | if next_item.is_none() { [INFO] [stdout] | ---------------------- help: try: `if let Some() = next_item` [INFO] [stdout] ... [INFO] [stdout] 73 | let (&k, &v) = next_item.unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/lib.rs:131:20 [INFO] [stdout] | [INFO] [stdout] 131 | File::open(&jed_path).expect("failed to open jed file") [INFO] [stdout] | ^^^^^^^^^ help: change this to: `jed_path` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] = note: `#[warn(clippy::needless_borrows_for_generic_args)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/bitstream.rs:41:10 [INFO] [stdout] | [INFO] [stdout] 41 | #[derive(Serialize)] [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `XC2Bitstream` is not local [INFO] [stdout] | `Serialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_XC2Bitstream` [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: `#[warn(non_local_definitions)]` on by default [INFO] [stdout] = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/bitstream.rs:400:51 [INFO] [stdout] | [INFO] [stdout] 400 | #[derive(Copy, Clone, Eq, PartialEq, Hash, Debug, Serialize, Deserialize)] [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `XC2BitstreamBits` is not local [INFO] [stdout] | `Serialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_XC2BitstreamBits` [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/bitstream.rs:400:62 [INFO] [stdout] | [INFO] [stdout] 400 | #[derive(Copy, Clone, Eq, PartialEq, Hash, Debug, Serialize, Deserialize)] [INFO] [stdout] | -^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `XC2BitstreamBits` is not local [INFO] [stdout] | `Deserialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_XC2BitstreamBits` [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/fb.rs:39:51 [INFO] [stdout] | [INFO] [stdout] 39 | #[derive(Copy, Clone, Eq, PartialEq, Hash, Debug, Serialize, Deserialize)] [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `XC2BitstreamFB` is not local [INFO] [stdout] | `Serialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_XC2BitstreamFB` [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/fb.rs:39:62 [INFO] [stdout] | [INFO] [stdout] 39 | #[derive(Copy, Clone, Eq, PartialEq, Hash, Debug, Serialize, Deserialize)] [INFO] [stdout] | -^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `XC2BitstreamFB` is not local [INFO] [stdout] | `Deserialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_XC2BitstreamFB` [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/globalbits.rs:38:51 [INFO] [stdout] | [INFO] [stdout] 38 | #[derive(Copy, Clone, Eq, PartialEq, Hash, Debug, Serialize, Deserialize)] [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `XC2GlobalNets` is not local [INFO] [stdout] | `Serialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_XC2GlobalNets` [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/globalbits.rs:38:62 [INFO] [stdout] | [INFO] [stdout] 38 | #[derive(Copy, Clone, Eq, PartialEq, Hash, Debug, Serialize, Deserialize)] [INFO] [stdout] | -^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `XC2GlobalNets` is not local [INFO] [stdout] | `Deserialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_XC2GlobalNets` [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/globalbits.rs:195:51 [INFO] [stdout] | [INFO] [stdout] 195 | #[derive(Copy, Clone, Eq, PartialEq, Hash, Debug, Serialize, Deserialize)] [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `XC2ClockDivRatio` is not local [INFO] [stdout] | `Serialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_XC2ClockDivRatio` [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/globalbits.rs:195:62 [INFO] [stdout] | [INFO] [stdout] 195 | #[derive(Copy, Clone, Eq, PartialEq, Hash, Debug, Serialize, Deserialize)] [INFO] [stdout] | -^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `XC2ClockDivRatio` is not local [INFO] [stdout] | `Deserialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_XC2ClockDivRatio` [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/globalbits.rs:218:51 [INFO] [stdout] | [INFO] [stdout] 218 | #[derive(Copy, Clone, Eq, PartialEq, Hash, Debug, Serialize, Deserialize)] [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `XC2ClockDiv` is not local [INFO] [stdout] | `Serialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_XC2ClockDiv` [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/globalbits.rs:218:62 [INFO] [stdout] | [INFO] [stdout] 218 | #[derive(Copy, Clone, Eq, PartialEq, Hash, Debug, Serialize, Deserialize)] [INFO] [stdout] | -^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `XC2ClockDiv` is not local [INFO] [stdout] | `Deserialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_XC2ClockDiv` [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/iob.rs:41:51 [INFO] [stdout] | [INFO] [stdout] 41 | #[derive(Copy, Clone, Eq, PartialEq, Hash, Debug, Serialize, Deserialize)] [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `XC2IOBZIAMode` is not local [INFO] [stdout] | `Serialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_XC2IOBZIAMode` [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/iob.rs:41:62 [INFO] [stdout] | [INFO] [stdout] 41 | #[derive(Copy, Clone, Eq, PartialEq, Hash, Debug, Serialize, Deserialize)] [INFO] [stdout] | -^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `XC2IOBZIAMode` is not local [INFO] [stdout] | `Deserialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_XC2IOBZIAMode` [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/iob.rs:53:51 [INFO] [stdout] | [INFO] [stdout] 53 | #[derive(Copy, Clone, Eq, PartialEq, Hash, Debug, Serialize, Deserialize)] [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `XC2IOBOBufMode` is not local [INFO] [stdout] | `Serialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_XC2IOBOBufMode` [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/iob.rs:53:62 [INFO] [stdout] | [INFO] [stdout] 53 | #[derive(Copy, Clone, Eq, PartialEq, Hash, Debug, Serialize, Deserialize)] [INFO] [stdout] | -^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `XC2IOBOBufMode` is not local [INFO] [stdout] | `Deserialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_XC2IOBOBufMode` [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/iob.rs:81:51 [INFO] [stdout] | [INFO] [stdout] 81 | #[derive(Copy, Clone, Eq, PartialEq, Hash, Debug, Serialize, Deserialize)] [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `XC2MCSmallIOB` is not local [INFO] [stdout] | `Serialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_XC2MCSmallIOB` [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/iob.rs:81:62 [INFO] [stdout] | [INFO] [stdout] 81 | #[derive(Copy, Clone, Eq, PartialEq, Hash, Debug, Serialize, Deserialize)] [INFO] [stdout] | -^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `XC2MCSmallIOB` is not local [INFO] [stdout] | `Deserialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_XC2MCSmallIOB` [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/iob.rs:234:51 [INFO] [stdout] | [INFO] [stdout] 234 | #[derive(Copy, Clone, Eq, PartialEq, Hash, Debug, Serialize, Deserialize)] [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `XC2IOBIbufMode` is not local [INFO] [stdout] | `Serialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_XC2IOBIbufMode` [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/iob.rs:234:62 [INFO] [stdout] | [INFO] [stdout] 234 | #[derive(Copy, Clone, Eq, PartialEq, Hash, Debug, Serialize, Deserialize)] [INFO] [stdout] | -^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `XC2IOBIbufMode` is not local [INFO] [stdout] | `Deserialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_XC2IOBIbufMode` [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/iob.rs:252:51 [INFO] [stdout] | [INFO] [stdout] 252 | #[derive(Copy, Clone, Eq, PartialEq, Hash, Debug, Serialize, Deserialize)] [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `XC2MCLargeIOB` is not local [INFO] [stdout] | `Serialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_XC2MCLargeIOB` [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/iob.rs:252:62 [INFO] [stdout] | [INFO] [stdout] 252 | #[derive(Copy, Clone, Eq, PartialEq, Hash, Debug, Serialize, Deserialize)] [INFO] [stdout] | -^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `XC2MCLargeIOB` is not local [INFO] [stdout] | `Deserialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_XC2MCLargeIOB` [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/iob.rs:412:51 [INFO] [stdout] | [INFO] [stdout] 412 | #[derive(Copy, Clone, Eq, PartialEq, Hash, Debug, Serialize, Deserialize)] [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `XC2ExtraIBuf` is not local [INFO] [stdout] | `Serialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_XC2ExtraIBuf` [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/iob.rs:412:62 [INFO] [stdout] | [INFO] [stdout] 412 | #[derive(Copy, Clone, Eq, PartialEq, Hash, Debug, Serialize, Deserialize)] [INFO] [stdout] | -^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `XC2ExtraIBuf` is not local [INFO] [stdout] | `Deserialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_XC2ExtraIBuf` [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/mc.rs:39:51 [INFO] [stdout] | [INFO] [stdout] 39 | #[derive(Copy, Clone, Eq, PartialEq, Hash, Debug, Serialize, Deserialize)] [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `XC2MCRegClkSrc` is not local [INFO] [stdout] | `Serialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_XC2MCRegClkSrc` [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/mc.rs:39:62 [INFO] [stdout] | [INFO] [stdout] 39 | #[derive(Copy, Clone, Eq, PartialEq, Hash, Debug, Serialize, Deserialize)] [INFO] [stdout] | -^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `XC2MCRegClkSrc` is not local [INFO] [stdout] | `Deserialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_XC2MCRegClkSrc` [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/mc.rs:55:51 [INFO] [stdout] | [INFO] [stdout] 55 | #[derive(Copy, Clone, Eq, PartialEq, Hash, Debug, Serialize, Deserialize)] [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `XC2MCRegResetSrc` is not local [INFO] [stdout] | `Serialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_XC2MCRegResetSrc` [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/mc.rs:55:62 [INFO] [stdout] | [INFO] [stdout] 55 | #[derive(Copy, Clone, Eq, PartialEq, Hash, Debug, Serialize, Deserialize)] [INFO] [stdout] | -^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `XC2MCRegResetSrc` is not local [INFO] [stdout] | `Deserialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_XC2MCRegResetSrc` [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `write!()` with a format string that ends in a single newline [INFO] [stdout] --> src/iob.rs:144:9 [INFO] [stdout] | [INFO] [stdout] 144 | write!(writer, "\n")?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stdout] help: use `writeln!` instead [INFO] [stdout] | [INFO] [stdout] 144 - write!(writer, "\n")?; [INFO] [stdout] 144 + writeln!(writer)?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/mc.rs:69:51 [INFO] [stdout] | [INFO] [stdout] 69 | #[derive(Copy, Clone, Eq, PartialEq, Hash, Debug, Serialize, Deserialize)] [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `XC2MCRegSetSrc` is not local [INFO] [stdout] | `Serialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_XC2MCRegSetSrc` [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/mc.rs:69:62 [INFO] [stdout] | [INFO] [stdout] 69 | #[derive(Copy, Clone, Eq, PartialEq, Hash, Debug, Serialize, Deserialize)] [INFO] [stdout] | -^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `XC2MCRegSetSrc` is not local [INFO] [stdout] | `Deserialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_XC2MCRegSetSrc` [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `write!()` with a format string that ends in a single newline [INFO] [stdout] --> src/iob.rs:146:9 [INFO] [stdout] | [INFO] [stdout] 146 | write!(writer, "I/O configuration for FB{}_{}\n", fb + 1, mc + 1)?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stdout] help: use `writeln!` instead [INFO] [stdout] | [INFO] [stdout] 146 - write!(writer, "I/O configuration for FB{}_{}\n", fb + 1, mc + 1)?; [INFO] [stdout] 146 + writeln!(writer, "I/O configuration for FB{}_{}", fb + 1, mc + 1)?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/mc.rs:83:51 [INFO] [stdout] | [INFO] [stdout] 83 | #[derive(Copy, Clone, Eq, PartialEq, Hash, Debug, Serialize, Deserialize)] [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `XC2MCRegMode` is not local [INFO] [stdout] | `Serialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_XC2MCRegMode` [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `write!()` with a format string that ends in a single newline [INFO] [stdout] --> src/iob.rs:147:9 [INFO] [stdout] | [INFO] [stdout] 147 | / write!(writer, "output mode: {}\n", match self.obuf_mode { [INFO] [stdout] 148 | | XC2IOBOBufMode::Disabled => "disabled", [INFO] [stdout] 149 | | XC2IOBOBufMode::PushPull => "push-pull", [INFO] [stdout] 150 | | XC2IOBOBufMode::OpenDrain => "open-drain", [INFO] [stdout] ... | [INFO] [stdout] 157 | | XC2IOBOBufMode::CGND => "CGND", [INFO] [stdout] 158 | | })?; [INFO] [stdout] | |__________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stdout] help: use `writeln!` instead [INFO] [stdout] | [INFO] [stdout] 147 - write!(writer, "output mode: {}\n", match self.obuf_mode { [INFO] [stdout] 147 + writeln!(writer, "output mode: {}", match self.obuf_mode { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/mc.rs:83:62 [INFO] [stdout] | [INFO] [stdout] 83 | #[derive(Copy, Clone, Eq, PartialEq, Hash, Debug, Serialize, Deserialize)] [INFO] [stdout] | -^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `XC2MCRegMode` is not local [INFO] [stdout] | `Deserialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_XC2MCRegMode` [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `write!()` with a format string that ends in a single newline [INFO] [stdout] --> src/iob.rs:159:9 [INFO] [stdout] | [INFO] [stdout] 159 | write!(writer, "output comes from {}\n", if self.obuf_uses_ff {"FF"} else {"XOR gate"})?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stdout] help: use `writeln!` instead [INFO] [stdout] | [INFO] [stdout] 159 - write!(writer, "output comes from {}\n", if self.obuf_uses_ff {"FF"} else {"XOR gate"})?; [INFO] [stdout] 159 + writeln!(writer, "output comes from {}", if self.obuf_uses_ff {"FF"} else {"XOR gate"})?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/mc.rs:102:51 [INFO] [stdout] | [INFO] [stdout] 102 | #[derive(Copy, Clone, Eq, PartialEq, Hash, Debug, Serialize, Deserialize)] [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `XC2MCFeedbackMode` is not local [INFO] [stdout] | `Serialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_XC2MCFeedbackMode` [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/mc.rs:102:62 [INFO] [stdout] | [INFO] [stdout] 102 | #[derive(Copy, Clone, Eq, PartialEq, Hash, Debug, Serialize, Deserialize)] [INFO] [stdout] | -^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `XC2MCFeedbackMode` is not local [INFO] [stdout] | `Deserialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_XC2MCFeedbackMode` [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/mc.rs:115:51 [INFO] [stdout] | [INFO] [stdout] 115 | #[derive(Copy, Clone, Eq, PartialEq, Hash, Debug, Serialize, Deserialize)] [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `XC2MCXorMode` is not local [INFO] [stdout] | `Serialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_XC2MCXorMode` [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `write!()` with a format string that ends in a single newline [INFO] [stdout] --> src/iob.rs:160:9 [INFO] [stdout] | [INFO] [stdout] 160 | write!(writer, "slew rate: {}\n", if self.slew_is_fast {"fast"} else {"slow"})?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stdout] help: use `writeln!` instead [INFO] [stdout] | [INFO] [stdout] 160 - write!(writer, "slew rate: {}\n", if self.slew_is_fast {"fast"} else {"slow"})?; [INFO] [stdout] 160 + writeln!(writer, "slew rate: {}", if self.slew_is_fast {"fast"} else {"slow"})?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/mc.rs:115:62 [INFO] [stdout] | [INFO] [stdout] 115 | #[derive(Copy, Clone, Eq, PartialEq, Hash, Debug, Serialize, Deserialize)] [INFO] [stdout] | -^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `XC2MCXorMode` is not local [INFO] [stdout] | `Deserialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_XC2MCXorMode` [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `write!()` with a format string that ends in a single newline [INFO] [stdout] --> src/iob.rs:161:9 [INFO] [stdout] | [INFO] [stdout] 161 | / write!(writer, "ZIA driven from: {}\n", match self.zia_mode { [INFO] [stdout] 162 | | XC2IOBZIAMode::Disabled => "disabled", [INFO] [stdout] 163 | | XC2IOBZIAMode::PAD => "input pad", [INFO] [stdout] 164 | | XC2IOBZIAMode::REG => "register", [INFO] [stdout] 165 | | })?; [INFO] [stdout] | |__________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stdout] help: use `writeln!` instead [INFO] [stdout] | [INFO] [stdout] 161 - write!(writer, "ZIA driven from: {}\n", match self.zia_mode { [INFO] [stdout] 161 + writeln!(writer, "ZIA driven from: {}", match self.zia_mode { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/mc.rs:133:51 [INFO] [stdout] | [INFO] [stdout] 133 | #[derive(Copy, Clone, Eq, PartialEq, Hash, Debug, Serialize, Deserialize)] [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `XC2Macrocell` is not local [INFO] [stdout] | `Serialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_XC2Macrocell` [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `write!()` with a format string that ends in a single newline [INFO] [stdout] --> src/iob.rs:166:9 [INFO] [stdout] | [INFO] [stdout] 166 | write!(writer, "Schmitt trigger input: {}\n", if self.schmitt_trigger {"yes"} else {"no"})?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stdout] help: use `writeln!` instead [INFO] [stdout] | [INFO] [stdout] 166 - write!(writer, "Schmitt trigger input: {}\n", if self.schmitt_trigger {"yes"} else {"no"})?; [INFO] [stdout] 166 + writeln!(writer, "Schmitt trigger input: {}", if self.schmitt_trigger {"yes"} else {"no"})?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/mc.rs:133:62 [INFO] [stdout] | [INFO] [stdout] 133 | #[derive(Copy, Clone, Eq, PartialEq, Hash, Debug, Serialize, Deserialize)] [INFO] [stdout] | -^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `XC2Macrocell` is not local [INFO] [stdout] | `Deserialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_XC2Macrocell` [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `write!()` with a format string that ends in a single newline [INFO] [stdout] --> src/iob.rs:167:9 [INFO] [stdout] | [INFO] [stdout] 167 | write!(writer, "termination: {}\n", if self.termination_enabled {"yes"} else {"no"})?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stdout] help: use `writeln!` instead [INFO] [stdout] | [INFO] [stdout] 167 - write!(writer, "termination: {}\n", if self.termination_enabled {"yes"} else {"no"})?; [INFO] [stdout] 167 + writeln!(writer, "termination: {}", if self.termination_enabled {"yes"} else {"no"})?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/partdb.rs:31:45 [INFO] [stdout] | [INFO] [stdout] 31 | #[derive(Copy, Clone, Eq, PartialEq, Debug, Serialize, Deserialize)] [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `XC2Device` is not local [INFO] [stdout] | `Serialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_XC2Device` [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/partdb.rs:31:56 [INFO] [stdout] | [INFO] [stdout] 31 | #[derive(Copy, Clone, Eq, PartialEq, Debug, Serialize, Deserialize)] [INFO] [stdout] | -^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `XC2Device` is not local [INFO] [stdout] | `Deserialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_XC2Device` [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/partdb.rs:92:45 [INFO] [stdout] | [INFO] [stdout] 92 | #[derive(Copy, Clone, Eq, PartialEq, Debug, Serialize, Deserialize)] [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `XC2Speed` is not local [INFO] [stdout] | `Serialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_XC2Speed` [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/partdb.rs:92:56 [INFO] [stdout] | [INFO] [stdout] 92 | #[derive(Copy, Clone, Eq, PartialEq, Debug, Serialize, Deserialize)] [INFO] [stdout] | -^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `XC2Speed` is not local [INFO] [stdout] | `Deserialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_XC2Speed` [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/partdb.rs:114:45 [INFO] [stdout] | [INFO] [stdout] 114 | #[derive(Copy, Clone, Eq, PartialEq, Debug, Serialize, Deserialize)] [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `XC2Package` is not local [INFO] [stdout] | `Serialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_XC2Package` [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/partdb.rs:114:56 [INFO] [stdout] | [INFO] [stdout] 114 | #[derive(Copy, Clone, Eq, PartialEq, Debug, Serialize, Deserialize)] [INFO] [stdout] | -^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `XC2Package` is not local [INFO] [stdout] | `Deserialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_XC2Package` [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/partdb.rs:235:45 [INFO] [stdout] | [INFO] [stdout] 235 | #[derive(Copy, Clone, Eq, PartialEq, Debug, Serialize, Deserialize)] [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `XC2DeviceSpeedPackage` is not local [INFO] [stdout] | `Serialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_XC2DeviceSpeedPackage` [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/partdb.rs:235:56 [INFO] [stdout] | [INFO] [stdout] 235 | #[derive(Copy, Clone, Eq, PartialEq, Debug, Serialize, Deserialize)] [INFO] [stdout] | -^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `XC2DeviceSpeedPackage` is not local [INFO] [stdout] | `Deserialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_XC2DeviceSpeedPackage` [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/pla.rs:32:51 [INFO] [stdout] | [INFO] [stdout] 32 | #[derive(Copy, Clone, Eq, PartialEq, Hash, Debug, Serialize, Deserialize)] [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `XC2PLAAndTerm` is not local [INFO] [stdout] | `Serialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_XC2PLAAndTerm` [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/pla.rs:32:62 [INFO] [stdout] | [INFO] [stdout] 32 | #[derive(Copy, Clone, Eq, PartialEq, Hash, Debug, Serialize, Deserialize)] [INFO] [stdout] | -^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `XC2PLAAndTerm` is not local [INFO] [stdout] | `Deserialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_XC2PLAAndTerm` [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/pla.rs:106:51 [INFO] [stdout] | [INFO] [stdout] 106 | #[derive(Copy, Clone, Eq, PartialEq, Hash, Debug, Serialize, Deserialize)] [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `XC2PLAOrTerm` is not local [INFO] [stdout] | `Serialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_XC2PLAOrTerm` [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/pla.rs:106:62 [INFO] [stdout] | [INFO] [stdout] 106 | #[derive(Copy, Clone, Eq, PartialEq, Hash, Debug, Serialize, Deserialize)] [INFO] [stdout] | -^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `XC2PLAOrTerm` is not local [INFO] [stdout] | `Deserialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_XC2PLAOrTerm` [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/zia.rs:33:51 [INFO] [stdout] | [INFO] [stdout] 33 | #[derive(Copy, Clone, Eq, PartialEq, Debug, Hash, Serialize, Deserialize)] [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `XC2ZIAInput` is not local [INFO] [stdout] | `Serialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_XC2ZIAInput` [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/zia.rs:33:62 [INFO] [stdout] | [INFO] [stdout] 33 | #[derive(Copy, Clone, Eq, PartialEq, Debug, Hash, Serialize, Deserialize)] [INFO] [stdout] | -^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `XC2ZIAInput` is not local [INFO] [stdout] | `Deserialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_XC2ZIAInput` [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/util.rs:48:17 [INFO] [stdout] | [INFO] [stdout] 48 | pub fn iter(&self) -> LinebreakSetIter { [INFO] [stdout] | ^^^^^ ^^^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 48 | pub fn iter(&self) -> LinebreakSetIter<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `write!()` with a format string that ends in a single newline [INFO] [stdout] --> src/iob.rs:320:9 [INFO] [stdout] | [INFO] [stdout] 320 | write!(writer, "\n")?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stdout] help: use `writeln!` instead [INFO] [stdout] | [INFO] [stdout] 320 - write!(writer, "\n")?; [INFO] [stdout] 320 + writeln!(writer)?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `write!()` with a format string that ends in a single newline [INFO] [stdout] --> src/iob.rs:322:9 [INFO] [stdout] | [INFO] [stdout] 322 | write!(writer, "I/O configuration for FB{}_{}\n", fb + 1, mc + 1)?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stdout] help: use `writeln!` instead [INFO] [stdout] | [INFO] [stdout] 322 - write!(writer, "I/O configuration for FB{}_{}\n", fb + 1, mc + 1)?; [INFO] [stdout] 322 + writeln!(writer, "I/O configuration for FB{}_{}", fb + 1, mc + 1)?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `write!()` with a format string that ends in a single newline [INFO] [stdout] --> src/iob.rs:323:9 [INFO] [stdout] | [INFO] [stdout] 323 | / write!(writer, "output mode: {}\n", match self.obuf_mode { [INFO] [stdout] 324 | | XC2IOBOBufMode::Disabled => "disabled", [INFO] [stdout] 325 | | XC2IOBOBufMode::PushPull => "push-pull", [INFO] [stdout] 326 | | XC2IOBOBufMode::OpenDrain => "open-drain", [INFO] [stdout] ... | [INFO] [stdout] 333 | | XC2IOBOBufMode::CGND => "CGND", [INFO] [stdout] 334 | | })?; [INFO] [stdout] | |__________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stdout] help: use `writeln!` instead [INFO] [stdout] | [INFO] [stdout] 323 - write!(writer, "output mode: {}\n", match self.obuf_mode { [INFO] [stdout] 323 + writeln!(writer, "output mode: {}", match self.obuf_mode { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `write!()` with a format string that ends in a single newline [INFO] [stdout] --> src/iob.rs:335:9 [INFO] [stdout] | [INFO] [stdout] 335 | / write!(writer, "input mode: {}\n", match self.ibuf_mode { [INFO] [stdout] 336 | | XC2IOBIbufMode::NoVrefNoSt => "no VREF, no Schmitt trigger", [INFO] [stdout] 337 | | XC2IOBIbufMode::NoVrefSt => "no VREF, Schmitt trigger", [INFO] [stdout] 338 | | XC2IOBIbufMode::UsesVref => "uses VREF (HSTL/SSTL)", [INFO] [stdout] 339 | | XC2IOBIbufMode::IsVref => "is a VREF pin", [INFO] [stdout] 340 | | })?; [INFO] [stdout] | |__________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stdout] help: use `writeln!` instead [INFO] [stdout] | [INFO] [stdout] 335 - write!(writer, "input mode: {}\n", match self.ibuf_mode { [INFO] [stdout] 335 + writeln!(writer, "input mode: {}", match self.ibuf_mode { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `write!()` with a format string that ends in a single newline [INFO] [stdout] --> src/iob.rs:341:9 [INFO] [stdout] | [INFO] [stdout] 341 | write!(writer, "output comes from {}\n", if self.obuf_uses_ff {"FF"} else {"XOR gate"})?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stdout] help: use `writeln!` instead [INFO] [stdout] | [INFO] [stdout] 341 - write!(writer, "output comes from {}\n", if self.obuf_uses_ff {"FF"} else {"XOR gate"})?; [INFO] [stdout] 341 + writeln!(writer, "output comes from {}", if self.obuf_uses_ff {"FF"} else {"XOR gate"})?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `write!()` with a format string that ends in a single newline [INFO] [stdout] --> src/iob.rs:342:9 [INFO] [stdout] | [INFO] [stdout] 342 | write!(writer, "slew rate: {}\n", if self.slew_is_fast {"fast"} else {"slow"})?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stdout] help: use `writeln!` instead [INFO] [stdout] | [INFO] [stdout] 342 - write!(writer, "slew rate: {}\n", if self.slew_is_fast {"fast"} else {"slow"})?; [INFO] [stdout] 342 + writeln!(writer, "slew rate: {}", if self.slew_is_fast {"fast"} else {"slow"})?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `write!()` with a format string that ends in a single newline [INFO] [stdout] --> src/iob.rs:343:9 [INFO] [stdout] | [INFO] [stdout] 343 | / write!(writer, "ZIA driven from: {}\n", match self.zia_mode { [INFO] [stdout] 344 | | XC2IOBZIAMode::Disabled => "disabled", [INFO] [stdout] 345 | | XC2IOBZIAMode::PAD => "input pad", [INFO] [stdout] 346 | | XC2IOBZIAMode::REG => "register", [INFO] [stdout] 347 | | })?; [INFO] [stdout] | |__________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stdout] help: use `writeln!` instead [INFO] [stdout] | [INFO] [stdout] 343 - write!(writer, "ZIA driven from: {}\n", match self.zia_mode { [INFO] [stdout] 343 + writeln!(writer, "ZIA driven from: {}", match self.zia_mode { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `write!()` with a format string that ends in a single newline [INFO] [stdout] --> src/iob.rs:348:9 [INFO] [stdout] | [INFO] [stdout] 348 | write!(writer, "termination: {}\n", if self.termination_enabled {"yes"} else {"no"})?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stdout] help: use `writeln!` instead [INFO] [stdout] | [INFO] [stdout] 348 - write!(writer, "termination: {}\n", if self.termination_enabled {"yes"} else {"no"})?; [INFO] [stdout] 348 + writeln!(writer, "termination: {}", if self.termination_enabled {"yes"} else {"no"})?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `write!()` with a format string that ends in a single newline [INFO] [stdout] --> src/iob.rs:349:9 [INFO] [stdout] | [INFO] [stdout] 349 | write!(writer, "DataGate used: {}\n", if self.uses_data_gate {"yes"} else {"no"})?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stdout] help: use `writeln!` instead [INFO] [stdout] | [INFO] [stdout] 349 - write!(writer, "DataGate used: {}\n", if self.uses_data_gate {"yes"} else {"no"})?; [INFO] [stdout] 349 + writeln!(writer, "DataGate used: {}", if self.uses_data_gate {"yes"} else {"no"})?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `write!()` with a format string that ends in a single newline [INFO] [stdout] --> src/iob.rs:440:9 [INFO] [stdout] | [INFO] [stdout] 440 | write!(writer, "\n")?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stdout] help: use `writeln!` instead [INFO] [stdout] | [INFO] [stdout] 440 - write!(writer, "\n")?; [INFO] [stdout] 440 + writeln!(writer)?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `write!()` with a format string that ends in a single newline [INFO] [stdout] --> src/iob.rs:441:9 [INFO] [stdout] | [INFO] [stdout] 441 | write!(writer, "I/O configuration for input-only pin\n")?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stdout] help: use `writeln!` instead [INFO] [stdout] | [INFO] [stdout] 441 - write!(writer, "I/O configuration for input-only pin\n")?; [INFO] [stdout] 441 + writeln!(writer, "I/O configuration for input-only pin")?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `write!()` with a format string that ends in a single newline [INFO] [stdout] --> src/iob.rs:442:9 [INFO] [stdout] | [INFO] [stdout] 442 | write!(writer, "Schmitt trigger input: {}\n", if self.schmitt_trigger {"yes"} else {"no"})?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stdout] help: use `writeln!` instead [INFO] [stdout] | [INFO] [stdout] 442 - write!(writer, "Schmitt trigger input: {}\n", if self.schmitt_trigger {"yes"} else {"no"})?; [INFO] [stdout] 442 + writeln!(writer, "Schmitt trigger input: {}", if self.schmitt_trigger {"yes"} else {"no"})?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `write!()` with a format string that ends in a single newline [INFO] [stdout] --> src/iob.rs:443:9 [INFO] [stdout] | [INFO] [stdout] 443 | write!(writer, "termination: {}\n", if self.termination_enabled {"yes"} else {"no"})?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stdout] help: use `writeln!` instead [INFO] [stdout] | [INFO] [stdout] 443 - write!(writer, "termination: {}\n", if self.termination_enabled {"yes"} else {"no"})?; [INFO] [stdout] 443 + writeln!(writer, "termination: {}", if self.termination_enabled {"yes"} else {"no"})?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/iob.rs:469:37 [INFO] [stdout] | [INFO] [stdout] 469 | 0..= 5 => Some((0, iob - 0 + 0)), [INFO] [stdout] | ^^^^^^^^^^^^^ help: consider reducing it to: `(iob - 0)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/iob.rs:469:37 [INFO] [stdout] | [INFO] [stdout] 469 | 0..= 5 => Some((0, iob - 0 + 0)), [INFO] [stdout] | ^^^^^^^^ help: consider reducing it to: `iob` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/iob.rs:471:37 [INFO] [stdout] | [INFO] [stdout] 471 | 12..=17 => Some((1, iob - 12 + 0)), [INFO] [stdout] | ^^^^^^^^^^^^^ help: consider reducing it to: `(iob - 12)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/iob.rs:474:37 [INFO] [stdout] | [INFO] [stdout] 474 | 24..=30 => Some((2, iob - 24 + 0)), [INFO] [stdout] | ^^^^^^^^^^^^^ help: consider reducing it to: `(iob - 24)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/iob.rs:476:37 [INFO] [stdout] | [INFO] [stdout] 476 | 37..=43 => Some((3, iob - 37 + 0)), [INFO] [stdout] | ^^^^^^^^^^^^^ help: consider reducing it to: `(iob - 37)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/iob.rs:478:37 [INFO] [stdout] | [INFO] [stdout] 478 | 50..=56 => Some((4, iob - 50 + 0)), [INFO] [stdout] | ^^^^^^^^^^^^^ help: consider reducing it to: `(iob - 50)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/iob.rs:481:37 [INFO] [stdout] | [INFO] [stdout] 481 | 63..=68 => Some((5, iob - 63 + 0)), [INFO] [stdout] | ^^^^^^^^^^^^^ help: consider reducing it to: `(iob - 63)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/iob.rs:484:37 [INFO] [stdout] | [INFO] [stdout] 484 | 75..=81 => Some((6, iob - 75 + 0)), [INFO] [stdout] | ^^^^^^^^^^^^^ help: consider reducing it to: `(iob - 75)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/iob.rs:487:37 [INFO] [stdout] | [INFO] [stdout] 487 | 88..=93 => Some((7, iob - 88 + 0)), [INFO] [stdout] | ^^^^^^^^^^^^^ help: consider reducing it to: `(iob - 88)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/iob.rs:495:40 [INFO] [stdout] | [INFO] [stdout] 495 | 0..= 5 => Some(( 0, iob - 0 + 0)), [INFO] [stdout] | ^^^^^^^^^^^^^^ help: consider reducing it to: `(iob - 0)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/iob.rs:495:40 [INFO] [stdout] | [INFO] [stdout] 495 | 0..= 5 => Some(( 0, iob - 0 + 0)), [INFO] [stdout] | ^^^^^^^^^ help: consider reducing it to: `iob` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/iob.rs:497:40 [INFO] [stdout] | [INFO] [stdout] 497 | 11..= 16 => Some(( 1, iob - 11 + 0)), [INFO] [stdout] | ^^^^^^^^^^^^^^ help: consider reducing it to: `(iob - 11)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/iob.rs:499:40 [INFO] [stdout] | [INFO] [stdout] 499 | 22..= 27 => Some(( 2, iob - 22 + 0)), [INFO] [stdout] | ^^^^^^^^^^^^^^ help: consider reducing it to: `(iob - 22)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/iob.rs:501:40 [INFO] [stdout] | [INFO] [stdout] 501 | 33..= 38 => Some(( 3, iob - 33 + 0)), [INFO] [stdout] | ^^^^^^^^^^^^^^ help: consider reducing it to: `(iob - 33)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/iob.rs:503:40 [INFO] [stdout] | [INFO] [stdout] 503 | 44..= 49 => Some(( 4, iob - 44 + 0)), [INFO] [stdout] | ^^^^^^^^^^^^^^ help: consider reducing it to: `(iob - 44)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/iob.rs:505:40 [INFO] [stdout] | [INFO] [stdout] 505 | 55..= 60 => Some(( 5, iob - 55 + 0)), [INFO] [stdout] | ^^^^^^^^^^^^^^ help: consider reducing it to: `(iob - 55)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/iob.rs:508:40 [INFO] [stdout] | [INFO] [stdout] 508 | 66..= 71 => Some(( 6, iob - 66 + 0)), [INFO] [stdout] | ^^^^^^^^^^^^^^ help: consider reducing it to: `(iob - 66)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/iob.rs:510:40 [INFO] [stdout] | [INFO] [stdout] 510 | 78..= 83 => Some(( 7, iob - 78 + 0)), [INFO] [stdout] | ^^^^^^^^^^^^^^ help: consider reducing it to: `(iob - 78)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/iob.rs:512:40 [INFO] [stdout] | [INFO] [stdout] 512 | 90..= 95 => Some(( 8, iob - 90 + 0)), [INFO] [stdout] | ^^^^^^^^^^^^^^ help: consider reducing it to: `(iob - 90)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/iob.rs:514:40 [INFO] [stdout] | [INFO] [stdout] 514 | 102..=107 => Some(( 9, iob - 102 + 0)), [INFO] [stdout] | ^^^^^^^^^^^^^^ help: consider reducing it to: `(iob - 102)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/iob.rs:516:40 [INFO] [stdout] | [INFO] [stdout] 516 | 114..=119 => Some((10, iob - 114 + 0)), [INFO] [stdout] | ^^^^^^^^^^^^^^ help: consider reducing it to: `(iob - 114)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/iob.rs:518:40 [INFO] [stdout] | [INFO] [stdout] 518 | 126..=131 => Some((11, iob - 126 + 0)), [INFO] [stdout] | ^^^^^^^^^^^^^^ help: consider reducing it to: `(iob - 126)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/iob.rs:521:40 [INFO] [stdout] | [INFO] [stdout] 521 | 138..=143 => Some((12, iob - 138 + 0)), [INFO] [stdout] | ^^^^^^^^^^^^^^ help: consider reducing it to: `(iob - 138)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/iob.rs:523:40 [INFO] [stdout] | [INFO] [stdout] 523 | 149..=154 => Some((13, iob - 149 + 0)), [INFO] [stdout] | ^^^^^^^^^^^^^^ help: consider reducing it to: `(iob - 149)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/iob.rs:525:40 [INFO] [stdout] | [INFO] [stdout] 525 | 160..=165 => Some((14, iob - 160 + 0)), [INFO] [stdout] | ^^^^^^^^^^^^^^ help: consider reducing it to: `(iob - 160)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/iob.rs:527:40 [INFO] [stdout] | [INFO] [stdout] 527 | 172..=177 => Some((15, iob - 172 + 0)), [INFO] [stdout] | ^^^^^^^^^^^^^^ help: consider reducing it to: `(iob - 172)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/iob.rs:541:21 [INFO] [stdout] | [INFO] [stdout] 541 | mc = mc + 6; [INFO] [stdout] | ^^^^^^^^^^^ help: replace it with: `mc += 6` [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: this operation has no effect [INFO] [stdout] --> src/iob.rs:550:40 [INFO] [stdout] | [INFO] [stdout] 550 | 0..= 3 => Some(( 0, iob - 0 + 0)), [INFO] [stdout] | ^^^^^^^^^^^^^^ help: consider reducing it to: `(iob - 0)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/iob.rs:550:40 [INFO] [stdout] | [INFO] [stdout] 550 | 0..= 3 => Some(( 0, iob - 0 + 0)), [INFO] [stdout] | ^^^^^^^^^ help: consider reducing it to: `iob` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/iob.rs:552:40 [INFO] [stdout] | [INFO] [stdout] 552 | 8..= 11 => Some(( 1, iob - 8 + 0)), [INFO] [stdout] | ^^^^^^^^^^^^^^ help: consider reducing it to: `(iob - 8)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/iob.rs:555:40 [INFO] [stdout] | [INFO] [stdout] 555 | 16..= 20 => Some(( 2, iob - 16 + 0)), [INFO] [stdout] | ^^^^^^^^^^^^^^ help: consider reducing it to: `(iob - 16)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/iob.rs:558:40 [INFO] [stdout] | [INFO] [stdout] 558 | 25..= 28 => Some(( 3, iob - 25 + 0)), [INFO] [stdout] | ^^^^^^^^^^^^^^ help: consider reducing it to: `(iob - 25)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/iob.rs:561:40 [INFO] [stdout] | [INFO] [stdout] 561 | 33..= 37 => Some(( 4, iob - 33 + 0)), [INFO] [stdout] | ^^^^^^^^^^^^^^ help: consider reducing it to: `(iob - 33)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/iob.rs:564:40 [INFO] [stdout] | [INFO] [stdout] 564 | 42..= 45 => Some(( 5, iob - 42 + 0)), [INFO] [stdout] | ^^^^^^^^^^^^^^ help: consider reducing it to: `(iob - 42)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/iob.rs:567:40 [INFO] [stdout] | [INFO] [stdout] 567 | 50..= 54 => Some(( 6, iob - 50 + 0)), [INFO] [stdout] | ^^^^^^^^^^^^^^ help: consider reducing it to: `(iob - 50)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/iob.rs:570:40 [INFO] [stdout] | [INFO] [stdout] 570 | 59..= 62 => Some(( 7, iob - 59 + 0)), [INFO] [stdout] | ^^^^^^^^^^^^^^ help: consider reducing it to: `(iob - 59)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/iob.rs:572:40 [INFO] [stdout] | [INFO] [stdout] 572 | 67..= 70 => Some(( 8, iob - 67 + 0)), [INFO] [stdout] | ^^^^^^^^^^^^^^ help: consider reducing it to: `(iob - 67)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/iob.rs:574:40 [INFO] [stdout] | [INFO] [stdout] 574 | 75..= 78 => Some(( 9, iob - 75 + 0)), [INFO] [stdout] | ^^^^^^^^^^^^^^ help: consider reducing it to: `(iob - 75)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/iob.rs:576:40 [INFO] [stdout] | [INFO] [stdout] 576 | 83..= 86 => Some((10, iob - 83 + 0)), [INFO] [stdout] | ^^^^^^^^^^^^^^ help: consider reducing it to: `(iob - 83)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/iob.rs:579:40 [INFO] [stdout] | [INFO] [stdout] 579 | 91..= 95 => Some((11, iob - 91 + 0)), [INFO] [stdout] | ^^^^^^^^^^^^^^ help: consider reducing it to: `(iob - 91)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/iob.rs:582:40 [INFO] [stdout] | [INFO] [stdout] 582 | 100..=103 => Some((12, iob - 100 + 0)), [INFO] [stdout] | ^^^^^^^^^^^^^^ help: consider reducing it to: `(iob - 100)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/iob.rs:585:40 [INFO] [stdout] | [INFO] [stdout] 585 | 108..=112 => Some((13, iob - 108 + 0)), [INFO] [stdout] | ^^^^^^^^^^^^^^ help: consider reducing it to: `(iob - 108)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/iob.rs:588:40 [INFO] [stdout] | [INFO] [stdout] 588 | 117..=120 => Some((14, iob - 117 + 0)), [INFO] [stdout] | ^^^^^^^^^^^^^^ help: consider reducing it to: `(iob - 117)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/iob.rs:591:40 [INFO] [stdout] | [INFO] [stdout] 591 | 125..=129 => Some((15, iob - 125 + 0)), [INFO] [stdout] | ^^^^^^^^^^^^^^ help: consider reducing it to: `(iob - 125)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/iob.rs:593:40 [INFO] [stdout] | [INFO] [stdout] 593 | 134..=138 => Some((16, iob - 134 + 0)), [INFO] [stdout] | ^^^^^^^^^^^^^^ help: consider reducing it to: `(iob - 134)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/iob.rs:596:40 [INFO] [stdout] | [INFO] [stdout] 596 | 143..=146 => Some((17, iob - 143 + 0)), [INFO] [stdout] | ^^^^^^^^^^^^^^ help: consider reducing it to: `(iob - 143)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/iob.rs:599:40 [INFO] [stdout] | [INFO] [stdout] 599 | 151..=155 => Some((18, iob - 151 + 0)), [INFO] [stdout] | ^^^^^^^^^^^^^^ help: consider reducing it to: `(iob - 151)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/iob.rs:602:40 [INFO] [stdout] | [INFO] [stdout] 602 | 160..=163 => Some((19, iob - 160 + 0)), [INFO] [stdout] | ^^^^^^^^^^^^^^ help: consider reducing it to: `(iob - 160)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/iob.rs:605:40 [INFO] [stdout] | [INFO] [stdout] 605 | 168..=172 => Some((20, iob - 168 + 0)), [INFO] [stdout] | ^^^^^^^^^^^^^^ help: consider reducing it to: `(iob - 168)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/iob.rs:608:40 [INFO] [stdout] | [INFO] [stdout] 608 | 177..=180 => Some((21, iob - 177 + 0)), [INFO] [stdout] | ^^^^^^^^^^^^^^ help: consider reducing it to: `(iob - 177)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/iob.rs:611:40 [INFO] [stdout] | [INFO] [stdout] 611 | 185..=189 => Some((22, iob - 185 + 0)), [INFO] [stdout] | ^^^^^^^^^^^^^^ help: consider reducing it to: `(iob - 185)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/iob.rs:614:40 [INFO] [stdout] | [INFO] [stdout] 614 | 194..=197 => Some((23, iob - 194 + 0)), [INFO] [stdout] | ^^^^^^^^^^^^^^ help: consider reducing it to: `(iob - 194)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/iob.rs:616:40 [INFO] [stdout] | [INFO] [stdout] 616 | 202..=205 => Some((24, iob - 202 + 0)), [INFO] [stdout] | ^^^^^^^^^^^^^^ help: consider reducing it to: `(iob - 202)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/iob.rs:619:40 [INFO] [stdout] | [INFO] [stdout] 619 | 210..=214 => Some((25, iob - 210 + 0)), [INFO] [stdout] | ^^^^^^^^^^^^^^ help: consider reducing it to: `(iob - 210)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/iob.rs:622:40 [INFO] [stdout] | [INFO] [stdout] 622 | 219..=222 => Some((26, iob - 219 + 0)), [INFO] [stdout] | ^^^^^^^^^^^^^^ help: consider reducing it to: `(iob - 219)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/iob.rs:625:40 [INFO] [stdout] | [INFO] [stdout] 625 | 227..=231 => Some((27, iob - 227 + 0)), [INFO] [stdout] | ^^^^^^^^^^^^^^ help: consider reducing it to: `(iob - 227)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/iob.rs:628:40 [INFO] [stdout] | [INFO] [stdout] 628 | 236..=239 => Some((28, iob - 236 + 0)), [INFO] [stdout] | ^^^^^^^^^^^^^^ help: consider reducing it to: `(iob - 236)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/iob.rs:631:40 [INFO] [stdout] | [INFO] [stdout] 631 | 244..=248 => Some((29, iob - 244 + 0)), [INFO] [stdout] | ^^^^^^^^^^^^^^ help: consider reducing it to: `(iob - 244)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/iob.rs:634:40 [INFO] [stdout] | [INFO] [stdout] 634 | 253..=256 => Some((30, iob - 253 + 0)), [INFO] [stdout] | ^^^^^^^^^^^^^^ help: consider reducing it to: `(iob - 253)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/iob.rs:637:40 [INFO] [stdout] | [INFO] [stdout] 637 | 261..=265 => Some((31, iob - 261 + 0)), [INFO] [stdout] | ^^^^^^^^^^^^^^ help: consider reducing it to: `(iob - 261)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/iob.rs:666:37 [INFO] [stdout] | [INFO] [stdout] 666 | 0..=5 => Some(0 + mc), [INFO] [stdout] | ^^^^^^ help: consider reducing it to: `mc` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/iob.rs:716:37 [INFO] [stdout] | [INFO] [stdout] 716 | 0..=5 => Some(0 + mc), [INFO] [stdout] | ^^^^^^ help: consider reducing it to: `mc` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/iob.rs:813:37 [INFO] [stdout] | [INFO] [stdout] 813 | 0..=3 => Some(0 + mc), [INFO] [stdout] | ^^^^^^ help: consider reducing it to: `mc` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `write!()` with a format string that ends in a single newline [INFO] [stdout] --> src/mc.rs:272:9 [INFO] [stdout] | [INFO] [stdout] 272 | write!(writer, "\n")?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stdout] help: use `writeln!` instead [INFO] [stdout] | [INFO] [stdout] 272 - write!(writer, "\n")?; [INFO] [stdout] 272 + writeln!(writer)?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `write!()` with a format string that ends in a single newline [INFO] [stdout] --> src/mc.rs:273:9 [INFO] [stdout] | [INFO] [stdout] 273 | write!(writer, "FF configuration for FB{}_{}\n", fb + 1, mc + 1)?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stdout] help: use `writeln!` instead [INFO] [stdout] | [INFO] [stdout] 273 - write!(writer, "FF configuration for FB{}_{}\n", fb + 1, mc + 1)?; [INFO] [stdout] 273 + writeln!(writer, "FF configuration for FB{}_{}", fb + 1, mc + 1)?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `write!()` with a format string that ends in a single newline [INFO] [stdout] --> src/mc.rs:274:9 [INFO] [stdout] | [INFO] [stdout] 274 | / write!(writer, "FF mode: {}\n", match self.reg_mode { [INFO] [stdout] 275 | | XC2MCRegMode::DFF => "D flip-flop", [INFO] [stdout] 276 | | XC2MCRegMode::LATCH => "transparent latch", [INFO] [stdout] 277 | | XC2MCRegMode::TFF => "T flip-flop", [INFO] [stdout] 278 | | XC2MCRegMode::DFFCE => "D flip-flop with clock-enable", [INFO] [stdout] 279 | | })?; [INFO] [stdout] | |__________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stdout] help: use `writeln!` instead [INFO] [stdout] | [INFO] [stdout] 274 - write!(writer, "FF mode: {}\n", match self.reg_mode { [INFO] [stdout] 274 + writeln!(writer, "FF mode: {}", match self.reg_mode { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `write!()` with a format string that ends in a single newline [INFO] [stdout] --> src/mc.rs:280:9 [INFO] [stdout] | [INFO] [stdout] 280 | write!(writer, "initial state: {}\n", if self.init_state {1} else {0})?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stdout] help: use `writeln!` instead [INFO] [stdout] | [INFO] [stdout] 280 - write!(writer, "initial state: {}\n", if self.init_state {1} else {0})?; [INFO] [stdout] 280 + writeln!(writer, "initial state: {}", if self.init_state {1} else {0})?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `write!()` with a format string that ends in a single newline [INFO] [stdout] --> src/mc.rs:281:9 [INFO] [stdout] | [INFO] [stdout] 281 | write!(writer, "{}-edge triggered\n", if self.clk_invert_pol {"falling"} else {"rising"})?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stdout] help: use `writeln!` instead [INFO] [stdout] | [INFO] [stdout] 281 - write!(writer, "{}-edge triggered\n", if self.clk_invert_pol {"falling"} else {"rising"})?; [INFO] [stdout] 281 + writeln!(writer, "{}-edge triggered", if self.clk_invert_pol {"falling"} else {"rising"})?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `write!()` with a format string that ends in a single newline [INFO] [stdout] --> src/mc.rs:282:9 [INFO] [stdout] | [INFO] [stdout] 282 | write!(writer, "DDR: {}\n", if self.is_ddr {"yes"} else {"no"})?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stdout] help: use `writeln!` instead [INFO] [stdout] | [INFO] [stdout] 282 - write!(writer, "DDR: {}\n", if self.is_ddr {"yes"} else {"no"})?; [INFO] [stdout] 282 + writeln!(writer, "DDR: {}", if self.is_ddr {"yes"} else {"no"})?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `write!()` with a format string that ends in a single newline [INFO] [stdout] --> src/mc.rs:283:9 [INFO] [stdout] | [INFO] [stdout] 283 | / write!(writer, "clock source: {}\n", match self.clk_src { [INFO] [stdout] 284 | | XC2MCRegClkSrc::GCK0 => "GCK0", [INFO] [stdout] 285 | | XC2MCRegClkSrc::GCK1 => "GCK1", [INFO] [stdout] 286 | | XC2MCRegClkSrc::GCK2 => "GCK2", [INFO] [stdout] 287 | | XC2MCRegClkSrc::PTC => "PTC", [INFO] [stdout] 288 | | XC2MCRegClkSrc::CTC => "CTC", [INFO] [stdout] 289 | | })?; [INFO] [stdout] | |__________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stdout] help: use `writeln!` instead [INFO] [stdout] | [INFO] [stdout] 283 - write!(writer, "clock source: {}\n", match self.clk_src { [INFO] [stdout] 283 + writeln!(writer, "clock source: {}", match self.clk_src { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `write!()` with a format string that ends in a single newline [INFO] [stdout] --> src/mc.rs:290:9 [INFO] [stdout] | [INFO] [stdout] 290 | / write!(writer, "set source: {}\n", match self.s_src { [INFO] [stdout] 291 | | XC2MCRegSetSrc::Disabled => "disabled", [INFO] [stdout] 292 | | XC2MCRegSetSrc::PTA => "PTA", [INFO] [stdout] 293 | | XC2MCRegSetSrc::GSR => "GSR", [INFO] [stdout] 294 | | XC2MCRegSetSrc::CTS => "CTS", [INFO] [stdout] 295 | | })?; [INFO] [stdout] | |__________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stdout] help: use `writeln!` instead [INFO] [stdout] | [INFO] [stdout] 290 - write!(writer, "set source: {}\n", match self.s_src { [INFO] [stdout] 290 + writeln!(writer, "set source: {}", match self.s_src { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `write!()` with a format string that ends in a single newline [INFO] [stdout] --> src/mc.rs:296:9 [INFO] [stdout] | [INFO] [stdout] 296 | / write!(writer, "reset source: {}\n", match self.r_src { [INFO] [stdout] 297 | | XC2MCRegResetSrc::Disabled => "disabled", [INFO] [stdout] 298 | | XC2MCRegResetSrc::PTA => "PTA", [INFO] [stdout] 299 | | XC2MCRegResetSrc::GSR => "GSR", [INFO] [stdout] 300 | | XC2MCRegResetSrc::CTR => "CTR", [INFO] [stdout] 301 | | })?; [INFO] [stdout] | |__________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stdout] help: use `writeln!` instead [INFO] [stdout] | [INFO] [stdout] 296 - write!(writer, "reset source: {}\n", match self.r_src { [INFO] [stdout] 296 + writeln!(writer, "reset source: {}", match self.r_src { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `write!()` with a format string that ends in a single newline [INFO] [stdout] --> src/mc.rs:302:9 [INFO] [stdout] | [INFO] [stdout] 302 | write!(writer, "using ibuf direct path: {}\n", if self.ff_in_ibuf {"yes"} else {"no"})?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stdout] help: use `writeln!` instead [INFO] [stdout] | [INFO] [stdout] 302 - write!(writer, "using ibuf direct path: {}\n", if self.ff_in_ibuf {"yes"} else {"no"})?; [INFO] [stdout] 302 + writeln!(writer, "using ibuf direct path: {}", if self.ff_in_ibuf {"yes"} else {"no"})?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `write!()` with a format string that ends in a single newline [INFO] [stdout] --> src/mc.rs:303:9 [INFO] [stdout] | [INFO] [stdout] 303 | / write!(writer, "XOR gate input: {}\n", match self.xor_mode { [INFO] [stdout] 304 | | XC2MCXorMode::ZERO => "0", [INFO] [stdout] 305 | | XC2MCXorMode::ONE => "1", [INFO] [stdout] 306 | | XC2MCXorMode::PTC => "PTC", [INFO] [stdout] 307 | | XC2MCXorMode::PTCB => "~PTC", [INFO] [stdout] 308 | | })?; [INFO] [stdout] | |__________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stdout] help: use `writeln!` instead [INFO] [stdout] | [INFO] [stdout] 303 - write!(writer, "XOR gate input: {}\n", match self.xor_mode { [INFO] [stdout] 303 + writeln!(writer, "XOR gate input: {}", match self.xor_mode { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `write!()` with a format string that ends in a single newline [INFO] [stdout] --> src/mc.rs:309:9 [INFO] [stdout] | [INFO] [stdout] 309 | / write!(writer, "ZIA feedback: {}\n", match self.fb_mode { [INFO] [stdout] 310 | | XC2MCFeedbackMode::Disabled => "disabled", [INFO] [stdout] 311 | | XC2MCFeedbackMode::COMB => "combinatorial", [INFO] [stdout] 312 | | XC2MCFeedbackMode::REG => "registered", [INFO] [stdout] 313 | | })?; [INFO] [stdout] | |__________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stdout] help: use `writeln!` instead [INFO] [stdout] | [INFO] [stdout] 309 - write!(writer, "ZIA feedback: {}\n", match self.fb_mode { [INFO] [stdout] 309 + writeln!(writer, "ZIA feedback: {}", match self.fb_mode { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: match expression looks like `matches!` macro [INFO] [stdout] --> src/partdb.rs:75:9 [INFO] [stdout] | [INFO] [stdout] 75 | / match *self { [INFO] [stdout] 76 | | XC2Device::XC2C32 | XC2Device::XC2C32A | [INFO] [stdout] 77 | | XC2Device::XC2C64 | XC2Device::XC2C64A => true, [INFO] [stdout] 78 | | _ => false, [INFO] [stdout] 79 | | } [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_like_matches_macro [INFO] [stdout] help: use `matches!` directly [INFO] [stdout] | [INFO] [stdout] 75 ~ matches!(*self, XC2Device::XC2C32 | XC2Device::XC2C32A | [INFO] [stdout] 76 + XC2Device::XC2C64 | XC2Device::XC2C64A) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: match expression looks like `matches!` macro [INFO] [stdout] --> src/partdb.rs:83:9 [INFO] [stdout] | [INFO] [stdout] 83 | / match *self { [INFO] [stdout] 84 | | XC2Device::XC2C128 | XC2Device::XC2C256 | [INFO] [stdout] 85 | | XC2Device::XC2C384 | XC2Device::XC2C512 => true, [INFO] [stdout] 86 | | _ => false, [INFO] [stdout] 87 | | } [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_like_matches_macro [INFO] [stdout] help: use `matches!` directly [INFO] [stdout] | [INFO] [stdout] 83 ~ matches!(*self, XC2Device::XC2C128 | XC2Device::XC2C256 | [INFO] [stdout] 84 + XC2Device::XC2C384 | XC2Device::XC2C512) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this if-then-else expression returns a bool literal [INFO] [stdout] --> src/partdb.rs:140:17 [INFO] [stdout] | [INFO] [stdout] 140 | / if package == XC2Package::PC44 || package == XC2Package::VQ44 || package == XC2Package::CP56 { [INFO] [stdout] 141 | | true [INFO] [stdout] 142 | | } else { [INFO] [stdout] 143 | | false [INFO] [stdout] 144 | | } [INFO] [stdout] | |_________________^ help: you can reduce it to: `package == XC2Package::PC44 || package == XC2Package::VQ44 || package == XC2Package::CP56` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_bool [INFO] [stdout] = note: `#[warn(clippy::needless_bool)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this if-then-else expression returns a bool literal [INFO] [stdout] --> src/partdb.rs:151:17 [INFO] [stdout] | [INFO] [stdout] 151 | / if package == XC2Package::PC44 || package == XC2Package::VQ44 || package == XC2Package::CP56 || [INFO] [stdout] 152 | | package == XC2Package::QFG32 { [INFO] [stdout] 153 | | true [INFO] [stdout] 154 | | } else { [INFO] [stdout] 155 | | false [INFO] [stdout] 156 | | } [INFO] [stdout] | |_________________^ help: you can reduce it to: `package == XC2Package::PC44 || package == XC2Package::VQ44 || package == XC2Package::CP56 || package == XC2Package::QFG32` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_bool [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this if-then-else expression returns a bool literal [INFO] [stdout] --> src/partdb.rs:163:17 [INFO] [stdout] | [INFO] [stdout] 163 | / if package == XC2Package::PC44 || package == XC2Package::VQ44 || package == XC2Package::CP56 || [INFO] [stdout] 164 | | package == XC2Package::VQ100 { [INFO] [stdout] 165 | | true [INFO] [stdout] 166 | | } else { [INFO] [stdout] 167 | | false [INFO] [stdout] 168 | | } [INFO] [stdout] | |_________________^ help: you can reduce it to: `package == XC2Package::PC44 || package == XC2Package::VQ44 || package == XC2Package::CP56 || package == XC2Package::VQ100` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_bool [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this if-then-else expression returns a bool literal [INFO] [stdout] --> src/partdb.rs:175:17 [INFO] [stdout] | [INFO] [stdout] 175 | / if package == XC2Package::PC44 || package == XC2Package::VQ44 || package == XC2Package::CP56 || [INFO] [stdout] 176 | | package == XC2Package::VQ100 || package == XC2Package::QFG48 { [INFO] [stdout] 177 | | true [INFO] [stdout] 178 | | } else { [INFO] [stdout] 179 | | false [INFO] [stdout] 180 | | } [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_bool [INFO] [stdout] help: you can reduce it to [INFO] [stdout] | [INFO] [stdout] 175 ~ package == XC2Package::PC44 || package == XC2Package::VQ44 || package == XC2Package::CP56 || [INFO] [stdout] 176 + package == XC2Package::VQ100 || package == XC2Package::QFG48 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this if-then-else expression returns a bool literal [INFO] [stdout] --> src/partdb.rs:187:17 [INFO] [stdout] | [INFO] [stdout] 187 | / if package == XC2Package::VQ100 || package == XC2Package::CP132 || package == XC2Package::TQ144 { [INFO] [stdout] 188 | | true [INFO] [stdout] 189 | | } else { [INFO] [stdout] 190 | | false [INFO] [stdout] 191 | | } [INFO] [stdout] | |_________________^ help: you can reduce it to: `package == XC2Package::VQ100 || package == XC2Package::CP132 || package == XC2Package::TQ144` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_bool [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this if-then-else expression returns a bool literal [INFO] [stdout] --> src/partdb.rs:198:17 [INFO] [stdout] | [INFO] [stdout] 198 | / if package == XC2Package::VQ100 || package == XC2Package::CP132 || package == XC2Package::TQ144 || [INFO] [stdout] 199 | | package == XC2Package::PQ208 || package == XC2Package::FT256 { [INFO] [stdout] 200 | | true [INFO] [stdout] 201 | | } else { [INFO] [stdout] 202 | | false [INFO] [stdout] 203 | | } [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_bool [INFO] [stdout] help: you can reduce it to [INFO] [stdout] | [INFO] [stdout] 198 ~ package == XC2Package::VQ100 || package == XC2Package::CP132 || package == XC2Package::TQ144 || [INFO] [stdout] 199 + package == XC2Package::PQ208 || package == XC2Package::FT256 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this if-then-else expression returns a bool literal [INFO] [stdout] --> src/partdb.rs:210:17 [INFO] [stdout] | [INFO] [stdout] 210 | / if package == XC2Package::TQ144 || package == XC2Package::PQ208 || package == XC2Package::FT256 || [INFO] [stdout] 211 | | package == XC2Package::FG324 { [INFO] [stdout] 212 | | true [INFO] [stdout] 213 | | } else { [INFO] [stdout] 214 | | false [INFO] [stdout] 215 | | } [INFO] [stdout] | |_________________^ help: you can reduce it to: `package == XC2Package::TQ144 || package == XC2Package::PQ208 || package == XC2Package::FT256 || package == XC2Package::FG324` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_bool [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this if-then-else expression returns a bool literal [INFO] [stdout] --> src/partdb.rs:222:17 [INFO] [stdout] | [INFO] [stdout] 222 | / if package == XC2Package::PQ208 || package == XC2Package::FT256 || package == XC2Package::FG324 { [INFO] [stdout] 223 | | true [INFO] [stdout] 224 | | } else { [INFO] [stdout] 225 | | false [INFO] [stdout] 226 | | } [INFO] [stdout] | |_________________^ help: you can reduce it to: `package == XC2Package::PQ208 || package == XC2Package::FT256 || package == XC2Package::FG324` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_bool [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `from_str` can be confused for the standard trait method `std::str::FromStr::from_str` [INFO] [stdout] --> src/partdb.rs:245:5 [INFO] [stdout] | [INFO] [stdout] 245 | / pub fn from_str(part_name: &str) -> Option { [INFO] [stdout] 246 | | let dev; [INFO] [stdout] 247 | | let spd; [INFO] [stdout] 248 | | let pkg; [INFO] [stdout] ... | [INFO] [stdout] 321 | | }) [INFO] [stdout] 322 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: consider implementing the trait `std::str::FromStr` or choosing a less ambiguous method name [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#should_implement_trait [INFO] [stdout] = note: `#[warn(clippy::should_implement_trait)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/pla.rs:61:23 [INFO] [stdout] | [INFO] [stdout] 61 | if !fuses[block_idx + term_idx * INPUTS_PER_ANDTERM * 2 + i * 2 + 0] { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider reducing it to: `(block_idx + term_idx * INPUTS_PER_ANDTERM * 2 + i * 2)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item overindented [INFO] [stdout] --> src/structure.rs:129:5 [INFO] [stdout] | [INFO] [stdout] 129 | /// port name, index within port, extra data [INFO] [stdout] | ^^^ help: try using ` ` (2 spaces) [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_overindented_list_items [INFO] [stdout] = note: `#[warn(clippy::doc_overindented_list_items)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded unit return type [INFO] [stdout] --> src/structure.rs:144:64 [INFO] [stdout] | [INFO] [stdout] 144 | C: FnMut(usize, usize, &'static str, u32, (u32, u32)) -> () { [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: the loop variable `i` is used to index `orterm_wires` [INFO] [stdout] --> src/structure.rs:195:18 [INFO] [stdout] | [INFO] [stdout] 195 | for i in 0..MCS_PER_FB { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 195 - for i in 0..MCS_PER_FB { [INFO] [stdout] 195 + for (i, ) in orterm_wires.iter().enumerate().take(MCS_PER_FB) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `j` is used to index `pterm_wires` [INFO] [stdout] --> src/structure.rs:200:22 [INFO] [stdout] | [INFO] [stdout] 200 | for j in 0..ANDTERMS_PER_FB { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 200 - for j in 0..ANDTERMS_PER_FB { [INFO] [stdout] 200 + for (j, ) in pterm_wires.iter().enumerate().take(ANDTERMS_PER_FB) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `j` is used to index `gck` [INFO] [stdout] --> src/structure.rs:232:22 [INFO] [stdout] | [INFO] [stdout] 232 | for j in 0..3 { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 232 - for j in 0..3 { [INFO] [stdout] 232 + for (j, ) in gck.iter().enumerate().take(3) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `iob_idx` is used to index `to_from_iob_wires` [INFO] [stdout] --> src/structure.rs:283:20 [INFO] [stdout] | [INFO] [stdout] 283 | for iob_idx in 0..device.num_iobs() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 283 - for iob_idx in 0..device.num_iobs() { [INFO] [stdout] 283 + for (iob_idx, ) in to_from_iob_wires.iter().enumerate().take(device.num_iobs()) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is used to index `gts` [INFO] [stdout] --> src/structure.rs:296:18 [INFO] [stdout] | [INFO] [stdout] 296 | for i in 0..4 { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 296 - for i in 0..4 { [INFO] [stdout] 296 + for (i, ) in gts.iter().enumerate().take(4) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is used to index `gck` [INFO] [stdout] --> src/structure.rs:328:14 [INFO] [stdout] | [INFO] [stdout] 328 | for i in 0..3 { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 328 - for i in 0..3 { [INFO] [stdout] 328 + for (i, ) in gck.iter().enumerate().take(3) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`usize` -> `usize`) [INFO] [stdout] --> src/structure.rs:329:40 [INFO] [stdout] | [INFO] [stdout] 329 | let (fb, mc) = get_gck(device, i as usize).unwrap(); [INFO] [stdout] | ^^^^^^^^^^ help: try: `i` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] = note: `#[warn(clippy::unnecessary_cast)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is used to index `gts` [INFO] [stdout] --> src/structure.rs:334:14 [INFO] [stdout] | [INFO] [stdout] 334 | for i in 0..4 { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 334 - for i in 0..4 { [INFO] [stdout] 334 + for (i, ) in gts.iter().enumerate().take(4) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`usize` -> `usize`) [INFO] [stdout] --> src/structure.rs:335:40 [INFO] [stdout] | [INFO] [stdout] 335 | let (fb, mc) = get_gts(device, i as usize).unwrap(); [INFO] [stdout] | ^^^^^^^^^^ help: try: `i` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you don't need to add `&` to all patterns [INFO] [stdout] --> src/structure.rs:351:21 [INFO] [stdout] | [INFO] [stdout] 351 | / match zia_choice { [INFO] [stdout] 352 | | &XC2ZIAInput::Macrocell{fb: zia_fb, mc: zia_mc} => { [INFO] [stdout] 353 | | // From the XOR gate [INFO] [stdout] 354 | | connection_callback(fb_things[and_fb as usize].3[and_i as usize], [INFO] [stdout] ... | [INFO] [stdout] 379 | | _ => unreachable!(), [INFO] [stdout] 380 | | } [INFO] [stdout] | |_____________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stdout] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stdout] | [INFO] [stdout] 351 ~ match *zia_choice { [INFO] [stdout] 352 ~ XC2ZIAInput::Macrocell{fb: zia_fb, mc: zia_mc} => { [INFO] [stdout] 353 | // From the XOR gate [INFO] [stdout] ... [INFO] [stdout] 361 | }, [INFO] [stdout] 362 ~ XC2ZIAInput::IBuf{ibuf: zia_iob} => { [INFO] [stdout] 363 | let (iob_fb, iob_mc) = iob_num_to_fb_mc_num(device, zia_iob as u32).unwrap(); [INFO] [stdout] ... [INFO] [stdout] 372 | }, [INFO] [stdout] 373 ~ XC2ZIAInput::DedicatedInput => { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is used to index `ZIA_MAP_32` [INFO] [stdout] --> src/zia.rs:9197:22 [INFO] [stdout] | [INFO] [stdout] 9197 | for i in 0..ZIA_MAP_32[row as usize].len() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 9197 - for i in 0..ZIA_MAP_32[row as usize].len() { [INFO] [stdout] 9197 + for (i, ) in ZIA_MAP_32.iter().enumerate().take(ZIA_MAP_32[row as usize].len()) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is used to index `ZIA_MAP_64` [INFO] [stdout] --> src/zia.rs:9252:22 [INFO] [stdout] | [INFO] [stdout] 9252 | for i in 0..ZIA_MAP_64[row as usize].len() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 9252 - for i in 0..ZIA_MAP_64[row as usize].len() { [INFO] [stdout] 9252 + for (i, ) in ZIA_MAP_64.iter().enumerate().take(ZIA_MAP_64[row as usize].len()) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is used to index `ZIA_MAP_128` [INFO] [stdout] --> src/zia.rs:9323:22 [INFO] [stdout] | [INFO] [stdout] 9323 | for i in 0..ZIA_MAP_128[row as usize].len() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 9323 - for i in 0..ZIA_MAP_128[row as usize].len() { [INFO] [stdout] 9323 + for (i, ) in ZIA_MAP_128.iter().enumerate().take(ZIA_MAP_128[row as usize].len()) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is used to index `ZIA_MAP_256` [INFO] [stdout] --> src/zia.rs:9422:22 [INFO] [stdout] | [INFO] [stdout] 9422 | for i in 0..ZIA_MAP_256[row as usize].len() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 9422 - for i in 0..ZIA_MAP_256[row as usize].len() { [INFO] [stdout] 9422 + for (i, ) in ZIA_MAP_256.iter().enumerate().take(ZIA_MAP_256[row as usize].len()) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is used to index `ZIA_MAP_384` [INFO] [stdout] --> src/zia.rs:9561:22 [INFO] [stdout] | [INFO] [stdout] 9561 | for i in 0..ZIA_MAP_384[row as usize].len() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 9561 - for i in 0..ZIA_MAP_384[row as usize].len() { [INFO] [stdout] 9561 + for (i, ) in ZIA_MAP_384.iter().enumerate().take(ZIA_MAP_384[row as usize].len()) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is used to index `ZIA_MAP_512` [INFO] [stdout] --> src/zia.rs:9738:22 [INFO] [stdout] | [INFO] [stdout] 9738 | for i in 0..ZIA_MAP_512[row as usize].len() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 9738 - for i in 0..ZIA_MAP_512[row as usize].len() { [INFO] [stdout] 9738 + for (i, ) in ZIA_MAP_512.iter().enumerate().take(ZIA_MAP_512[row as usize].len()) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `next_item` after checking its variant with `is_none` [INFO] [stdout] --> src/util.rs:73:32 [INFO] [stdout] | [INFO] [stdout] 70 | if next_item.is_none() { [INFO] [stdout] | ---------------------- help: try: `if let Some() = next_item` [INFO] [stdout] ... [INFO] [stdout] 73 | let (&k, &v) = next_item.unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/bitstream.rs:41:10 [INFO] [stdout] | [INFO] [stdout] 41 | #[derive(Serialize)] [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `XC2Bitstream` is not local [INFO] [stdout] | `Serialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_XC2Bitstream` [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: `#[warn(non_local_definitions)]` on by default [INFO] [stdout] = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/bitstream.rs:400:51 [INFO] [stdout] | [INFO] [stdout] 400 | #[derive(Copy, Clone, Eq, PartialEq, Hash, Debug, Serialize, Deserialize)] [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `XC2BitstreamBits` is not local [INFO] [stdout] | `Serialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_XC2BitstreamBits` [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/bitstream.rs:400:62 [INFO] [stdout] | [INFO] [stdout] 400 | #[derive(Copy, Clone, Eq, PartialEq, Hash, Debug, Serialize, Deserialize)] [INFO] [stdout] | -^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `XC2BitstreamBits` is not local [INFO] [stdout] | `Deserialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_XC2BitstreamBits` [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/fb.rs:39:51 [INFO] [stdout] | [INFO] [stdout] 39 | #[derive(Copy, Clone, Eq, PartialEq, Hash, Debug, Serialize, Deserialize)] [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `XC2BitstreamFB` is not local [INFO] [stdout] | `Serialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_XC2BitstreamFB` [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/fb.rs:39:62 [INFO] [stdout] | [INFO] [stdout] 39 | #[derive(Copy, Clone, Eq, PartialEq, Hash, Debug, Serialize, Deserialize)] [INFO] [stdout] | -^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `XC2BitstreamFB` is not local [INFO] [stdout] | `Deserialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_XC2BitstreamFB` [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/globalbits.rs:38:51 [INFO] [stdout] | [INFO] [stdout] 38 | #[derive(Copy, Clone, Eq, PartialEq, Hash, Debug, Serialize, Deserialize)] [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `XC2GlobalNets` is not local [INFO] [stdout] | `Serialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_XC2GlobalNets` [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/globalbits.rs:38:62 [INFO] [stdout] | [INFO] [stdout] 38 | #[derive(Copy, Clone, Eq, PartialEq, Hash, Debug, Serialize, Deserialize)] [INFO] [stdout] | -^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `XC2GlobalNets` is not local [INFO] [stdout] | `Deserialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_XC2GlobalNets` [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/globalbits.rs:195:51 [INFO] [stdout] | [INFO] [stdout] 195 | #[derive(Copy, Clone, Eq, PartialEq, Hash, Debug, Serialize, Deserialize)] [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `XC2ClockDivRatio` is not local [INFO] [stdout] | `Serialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_XC2ClockDivRatio` [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/globalbits.rs:195:62 [INFO] [stdout] | [INFO] [stdout] 195 | #[derive(Copy, Clone, Eq, PartialEq, Hash, Debug, Serialize, Deserialize)] [INFO] [stdout] | -^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `XC2ClockDivRatio` is not local [INFO] [stdout] | `Deserialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_XC2ClockDivRatio` [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/globalbits.rs:218:51 [INFO] [stdout] | [INFO] [stdout] 218 | #[derive(Copy, Clone, Eq, PartialEq, Hash, Debug, Serialize, Deserialize)] [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `XC2ClockDiv` is not local [INFO] [stdout] | `Serialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_XC2ClockDiv` [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/globalbits.rs:218:62 [INFO] [stdout] | [INFO] [stdout] 218 | #[derive(Copy, Clone, Eq, PartialEq, Hash, Debug, Serialize, Deserialize)] [INFO] [stdout] | -^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `XC2ClockDiv` is not local [INFO] [stdout] | `Deserialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_XC2ClockDiv` [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/iob.rs:41:51 [INFO] [stdout] | [INFO] [stdout] 41 | #[derive(Copy, Clone, Eq, PartialEq, Hash, Debug, Serialize, Deserialize)] [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `XC2IOBZIAMode` is not local [INFO] [stdout] | `Serialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_XC2IOBZIAMode` [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/iob.rs:41:62 [INFO] [stdout] | [INFO] [stdout] 41 | #[derive(Copy, Clone, Eq, PartialEq, Hash, Debug, Serialize, Deserialize)] [INFO] [stdout] | -^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `XC2IOBZIAMode` is not local [INFO] [stdout] | `Deserialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_XC2IOBZIAMode` [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/iob.rs:53:51 [INFO] [stdout] | [INFO] [stdout] 53 | #[derive(Copy, Clone, Eq, PartialEq, Hash, Debug, Serialize, Deserialize)] [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `XC2IOBOBufMode` is not local [INFO] [stdout] | `Serialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_XC2IOBOBufMode` [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/iob.rs:53:62 [INFO] [stdout] | [INFO] [stdout] 53 | #[derive(Copy, Clone, Eq, PartialEq, Hash, Debug, Serialize, Deserialize)] [INFO] [stdout] | -^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `XC2IOBOBufMode` is not local [INFO] [stdout] | `Deserialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_XC2IOBOBufMode` [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/iob.rs:81:51 [INFO] [stdout] | [INFO] [stdout] 81 | #[derive(Copy, Clone, Eq, PartialEq, Hash, Debug, Serialize, Deserialize)] [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `XC2MCSmallIOB` is not local [INFO] [stdout] | `Serialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_XC2MCSmallIOB` [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/iob.rs:81:62 [INFO] [stdout] | [INFO] [stdout] 81 | #[derive(Copy, Clone, Eq, PartialEq, Hash, Debug, Serialize, Deserialize)] [INFO] [stdout] | -^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `XC2MCSmallIOB` is not local [INFO] [stdout] | `Deserialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_XC2MCSmallIOB` [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/iob.rs:234:51 [INFO] [stdout] | [INFO] [stdout] 234 | #[derive(Copy, Clone, Eq, PartialEq, Hash, Debug, Serialize, Deserialize)] [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `XC2IOBIbufMode` is not local [INFO] [stdout] | `Serialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_XC2IOBIbufMode` [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/iob.rs:234:62 [INFO] [stdout] | [INFO] [stdout] 234 | #[derive(Copy, Clone, Eq, PartialEq, Hash, Debug, Serialize, Deserialize)] [INFO] [stdout] | -^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `XC2IOBIbufMode` is not local [INFO] [stdout] | `Deserialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_XC2IOBIbufMode` [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/iob.rs:252:51 [INFO] [stdout] | [INFO] [stdout] 252 | #[derive(Copy, Clone, Eq, PartialEq, Hash, Debug, Serialize, Deserialize)] [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `XC2MCLargeIOB` is not local [INFO] [stdout] | `Serialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_XC2MCLargeIOB` [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/iob.rs:252:62 [INFO] [stdout] | [INFO] [stdout] 252 | #[derive(Copy, Clone, Eq, PartialEq, Hash, Debug, Serialize, Deserialize)] [INFO] [stdout] | -^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `XC2MCLargeIOB` is not local [INFO] [stdout] | `Deserialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_XC2MCLargeIOB` [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/iob.rs:412:51 [INFO] [stdout] | [INFO] [stdout] 412 | #[derive(Copy, Clone, Eq, PartialEq, Hash, Debug, Serialize, Deserialize)] [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `XC2ExtraIBuf` is not local [INFO] [stdout] | `Serialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_XC2ExtraIBuf` [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/iob.rs:412:62 [INFO] [stdout] | [INFO] [stdout] 412 | #[derive(Copy, Clone, Eq, PartialEq, Hash, Debug, Serialize, Deserialize)] [INFO] [stdout] | -^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `XC2ExtraIBuf` is not local [INFO] [stdout] | `Deserialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_XC2ExtraIBuf` [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/mc.rs:39:51 [INFO] [stdout] | [INFO] [stdout] 39 | #[derive(Copy, Clone, Eq, PartialEq, Hash, Debug, Serialize, Deserialize)] [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `XC2MCRegClkSrc` is not local [INFO] [stdout] | `Serialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_XC2MCRegClkSrc` [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/mc.rs:39:62 [INFO] [stdout] | [INFO] [stdout] 39 | #[derive(Copy, Clone, Eq, PartialEq, Hash, Debug, Serialize, Deserialize)] [INFO] [stdout] | -^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `XC2MCRegClkSrc` is not local [INFO] [stdout] | `Deserialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_XC2MCRegClkSrc` [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/mc.rs:55:51 [INFO] [stdout] | [INFO] [stdout] 55 | #[derive(Copy, Clone, Eq, PartialEq, Hash, Debug, Serialize, Deserialize)] [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `XC2MCRegResetSrc` is not local [INFO] [stdout] | `Serialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_XC2MCRegResetSrc` [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/mc.rs:55:62 [INFO] [stdout] | [INFO] [stdout] 55 | #[derive(Copy, Clone, Eq, PartialEq, Hash, Debug, Serialize, Deserialize)] [INFO] [stdout] | -^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `XC2MCRegResetSrc` is not local [INFO] [stdout] | `Deserialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_XC2MCRegResetSrc` [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/mc.rs:69:51 [INFO] [stdout] | [INFO] [stdout] 69 | #[derive(Copy, Clone, Eq, PartialEq, Hash, Debug, Serialize, Deserialize)] [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `XC2MCRegSetSrc` is not local [INFO] [stdout] | `Serialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_XC2MCRegSetSrc` [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/mc.rs:69:62 [INFO] [stdout] | [INFO] [stdout] 69 | #[derive(Copy, Clone, Eq, PartialEq, Hash, Debug, Serialize, Deserialize)] [INFO] [stdout] | -^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `XC2MCRegSetSrc` is not local [INFO] [stdout] | `Deserialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_XC2MCRegSetSrc` [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/mc.rs:83:51 [INFO] [stdout] | [INFO] [stdout] 83 | #[derive(Copy, Clone, Eq, PartialEq, Hash, Debug, Serialize, Deserialize)] [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `XC2MCRegMode` is not local [INFO] [stdout] | `Serialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_XC2MCRegMode` [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/mc.rs:83:62 [INFO] [stdout] | [INFO] [stdout] 83 | #[derive(Copy, Clone, Eq, PartialEq, Hash, Debug, Serialize, Deserialize)] [INFO] [stdout] | -^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `XC2MCRegMode` is not local [INFO] [stdout] | `Deserialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_XC2MCRegMode` [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/mc.rs:102:51 [INFO] [stdout] | [INFO] [stdout] 102 | #[derive(Copy, Clone, Eq, PartialEq, Hash, Debug, Serialize, Deserialize)] [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `XC2MCFeedbackMode` is not local [INFO] [stdout] | `Serialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_XC2MCFeedbackMode` [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/mc.rs:102:62 [INFO] [stdout] | [INFO] [stdout] 102 | #[derive(Copy, Clone, Eq, PartialEq, Hash, Debug, Serialize, Deserialize)] [INFO] [stdout] | -^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `XC2MCFeedbackMode` is not local [INFO] [stdout] | `Deserialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_XC2MCFeedbackMode` [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/mc.rs:115:51 [INFO] [stdout] | [INFO] [stdout] 115 | #[derive(Copy, Clone, Eq, PartialEq, Hash, Debug, Serialize, Deserialize)] [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `XC2MCXorMode` is not local [INFO] [stdout] | `Serialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_XC2MCXorMode` [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/mc.rs:115:62 [INFO] [stdout] | [INFO] [stdout] 115 | #[derive(Copy, Clone, Eq, PartialEq, Hash, Debug, Serialize, Deserialize)] [INFO] [stdout] | -^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `XC2MCXorMode` is not local [INFO] [stdout] | `Deserialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_XC2MCXorMode` [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/mc.rs:133:51 [INFO] [stdout] | [INFO] [stdout] 133 | #[derive(Copy, Clone, Eq, PartialEq, Hash, Debug, Serialize, Deserialize)] [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `XC2Macrocell` is not local [INFO] [stdout] | `Serialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_XC2Macrocell` [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/mc.rs:133:62 [INFO] [stdout] | [INFO] [stdout] 133 | #[derive(Copy, Clone, Eq, PartialEq, Hash, Debug, Serialize, Deserialize)] [INFO] [stdout] | -^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `XC2Macrocell` is not local [INFO] [stdout] | `Deserialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_XC2Macrocell` [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/partdb.rs:31:45 [INFO] [stdout] | [INFO] [stdout] 31 | #[derive(Copy, Clone, Eq, PartialEq, Debug, Serialize, Deserialize)] [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `XC2Device` is not local [INFO] [stdout] | `Serialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_XC2Device` [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/partdb.rs:31:56 [INFO] [stdout] | [INFO] [stdout] 31 | #[derive(Copy, Clone, Eq, PartialEq, Debug, Serialize, Deserialize)] [INFO] [stdout] | -^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `XC2Device` is not local [INFO] [stdout] | `Deserialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_XC2Device` [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/partdb.rs:92:45 [INFO] [stdout] | [INFO] [stdout] 92 | #[derive(Copy, Clone, Eq, PartialEq, Debug, Serialize, Deserialize)] [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `XC2Speed` is not local [INFO] [stdout] | `Serialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_XC2Speed` [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/partdb.rs:92:56 [INFO] [stdout] | [INFO] [stdout] 92 | #[derive(Copy, Clone, Eq, PartialEq, Debug, Serialize, Deserialize)] [INFO] [stdout] | -^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `XC2Speed` is not local [INFO] [stdout] | `Deserialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_XC2Speed` [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/partdb.rs:114:45 [INFO] [stdout] | [INFO] [stdout] 114 | #[derive(Copy, Clone, Eq, PartialEq, Debug, Serialize, Deserialize)] [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `XC2Package` is not local [INFO] [stdout] | `Serialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_XC2Package` [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/partdb.rs:114:56 [INFO] [stdout] | [INFO] [stdout] 114 | #[derive(Copy, Clone, Eq, PartialEq, Debug, Serialize, Deserialize)] [INFO] [stdout] | -^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `XC2Package` is not local [INFO] [stdout] | `Deserialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_XC2Package` [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/partdb.rs:235:45 [INFO] [stdout] | [INFO] [stdout] 235 | #[derive(Copy, Clone, Eq, PartialEq, Debug, Serialize, Deserialize)] [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `XC2DeviceSpeedPackage` is not local [INFO] [stdout] | `Serialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_XC2DeviceSpeedPackage` [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/partdb.rs:235:56 [INFO] [stdout] | [INFO] [stdout] 235 | #[derive(Copy, Clone, Eq, PartialEq, Debug, Serialize, Deserialize)] [INFO] [stdout] | -^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `XC2DeviceSpeedPackage` is not local [INFO] [stdout] | `Deserialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_XC2DeviceSpeedPackage` [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/pla.rs:32:51 [INFO] [stdout] | [INFO] [stdout] 32 | #[derive(Copy, Clone, Eq, PartialEq, Hash, Debug, Serialize, Deserialize)] [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `XC2PLAAndTerm` is not local [INFO] [stdout] | `Serialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_XC2PLAAndTerm` [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/pla.rs:32:62 [INFO] [stdout] | [INFO] [stdout] 32 | #[derive(Copy, Clone, Eq, PartialEq, Hash, Debug, Serialize, Deserialize)] [INFO] [stdout] | -^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `XC2PLAAndTerm` is not local [INFO] [stdout] | `Deserialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_XC2PLAAndTerm` [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/pla.rs:106:51 [INFO] [stdout] | [INFO] [stdout] 106 | #[derive(Copy, Clone, Eq, PartialEq, Hash, Debug, Serialize, Deserialize)] [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `XC2PLAOrTerm` is not local [INFO] [stdout] | `Serialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_XC2PLAOrTerm` [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/pla.rs:106:62 [INFO] [stdout] | [INFO] [stdout] 106 | #[derive(Copy, Clone, Eq, PartialEq, Hash, Debug, Serialize, Deserialize)] [INFO] [stdout] | -^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `XC2PLAOrTerm` is not local [INFO] [stdout] | `Deserialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_XC2PLAOrTerm` [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/zia.rs:33:51 [INFO] [stdout] | [INFO] [stdout] 33 | #[derive(Copy, Clone, Eq, PartialEq, Debug, Hash, Serialize, Deserialize)] [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `XC2ZIAInput` is not local [INFO] [stdout] | `Serialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_XC2ZIAInput` [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/zia.rs:33:62 [INFO] [stdout] | [INFO] [stdout] 33 | #[derive(Copy, Clone, Eq, PartialEq, Debug, Hash, Serialize, Deserialize)] [INFO] [stdout] | -^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `XC2ZIAInput` is not local [INFO] [stdout] | `Deserialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_XC2ZIAInput` [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/util.rs:48:17 [INFO] [stdout] | [INFO] [stdout] 48 | pub fn iter(&self) -> LinebreakSetIter { [INFO] [stdout] | ^^^^^ ^^^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 48 | pub fn iter(&self) -> LinebreakSetIter<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/bin/xc2jed2json.rs:493:28 [INFO] [stdout] | [INFO] [stdout] 493 | if (obuf_mode.unwrap() == XC2IOBOBufMode::PushPull && port_idx == 0) || [INFO] [stdout] | ____________________________^ [INFO] [stdout] 494 | | (obuf_mode.unwrap() == XC2IOBOBufMode::CGND && port_idx == 0) { [INFO] [stdout] | |________________________________________________________________________________________^ [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] help: try [INFO] [stdout] | [INFO] [stdout] 493 - if (obuf_mode.unwrap() == XC2IOBOBufMode::PushPull && port_idx == 0) || [INFO] [stdout] 494 - (obuf_mode.unwrap() == XC2IOBOBufMode::CGND && port_idx == 0) { [INFO] [stdout] 493 + if !(port_idx != 0 || obuf_mode.unwrap() != XC2IOBOBufMode::PushPull && obuf_mode.unwrap() != XC2IOBOBufMode::CGND) { [INFO] [stdout] | [INFO] [stdout] 493 - if (obuf_mode.unwrap() == XC2IOBOBufMode::PushPull && port_idx == 0) || [INFO] [stdout] 494 - (obuf_mode.unwrap() == XC2IOBOBufMode::CGND && port_idx == 0) { [INFO] [stdout] 493 + if (obuf_mode.unwrap() == XC2IOBOBufMode::CGND || obuf_mode.unwrap() == XC2IOBOBufMode::PushPull) && port_idx == 0 { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` can be collapsed into the outer `match` [INFO] [stdout] --> src/bin/xc2jed2json.rs:515:21 [INFO] [stdout] | [INFO] [stdout] 515 | / if port_name == "O" { [INFO] [stdout] 516 | | // This is always driven [INFO] [stdout] 517 | | should_add_wire = true; [INFO] [stdout] 518 | | } else { [INFO] [stdout] 519 | | unreachable!(); [INFO] [stdout] 520 | | } [INFO] [stdout] | |_____________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_match [INFO] [stdout] = note: `#[warn(clippy::collapsible_match)]` on by default [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 514 ~ "IBUF" [INFO] [stdout] 515 ~ if port_name == "O" => { [INFO] [stdout] 516 | // This is always driven [INFO] [stdout] 517 | should_add_wire = true; [INFO] [stdout] 518 ~ }, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you don't need to add `&` to both the expression and the patterns [INFO] [stdout] --> src/bin/xc2jed2json.rs:547:29 [INFO] [stdout] | [INFO] [stdout] 547 | / ... match &zia_choice { [INFO] [stdout] 548 | | ... &XC2ZIAInput::Macrocell{fb: zia_fb, mc: zia_mc} => { [INFO] [stdout] 549 | | ... // FIXME Hack [INFO] [stdout] 550 | | ... if bitstream.bits.get_fb()[zia_fb as usize].mcs[zia_mc as usize].fb_mode == [INFO] [stdout] ... | [INFO] [stdout] 586 | | ... _ => unreachable!(), [INFO] [stdout] 587 | | ... }; [INFO] [stdout] | |_______________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stdout] = note: `#[warn(clippy::match_ref_pats)]` on by default [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 547 ~ match zia_choice { [INFO] [stdout] 548 ~ XC2ZIAInput::Macrocell{fb: zia_fb, mc: zia_mc} => { [INFO] [stdout] 549 | // FIXME Hack [INFO] [stdout] ... [INFO] [stdout] 562 | }, [INFO] [stdout] 563 ~ XC2ZIAInput::IBuf{ibuf: zia_iob} => { [INFO] [stdout] 564 | let mut zia_mode = None; [INFO] [stdout] ... [INFO] [stdout] 581 | }, [INFO] [stdout] 582 ~ XC2ZIAInput::DedicatedInput => { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/bin/xc2jed2json.rs:493:28 [INFO] [stdout] | [INFO] [stdout] 493 | if (obuf_mode.unwrap() == XC2IOBOBufMode::PushPull && port_idx == 0) || [INFO] [stdout] | ____________________________^ [INFO] [stdout] 494 | | (obuf_mode.unwrap() == XC2IOBOBufMode::CGND && port_idx == 0) { [INFO] [stdout] | |________________________________________________________________________________________^ [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] help: try [INFO] [stdout] | [INFO] [stdout] 493 - if (obuf_mode.unwrap() == XC2IOBOBufMode::PushPull && port_idx == 0) || [INFO] [stdout] 494 - (obuf_mode.unwrap() == XC2IOBOBufMode::CGND && port_idx == 0) { [INFO] [stdout] 493 + if !(port_idx != 0 || obuf_mode.unwrap() != XC2IOBOBufMode::PushPull && obuf_mode.unwrap() != XC2IOBOBufMode::CGND) { [INFO] [stdout] | [INFO] [stdout] 493 - if (obuf_mode.unwrap() == XC2IOBOBufMode::PushPull && port_idx == 0) || [INFO] [stdout] 494 - (obuf_mode.unwrap() == XC2IOBOBufMode::CGND && port_idx == 0) { [INFO] [stdout] 493 + if (obuf_mode.unwrap() == XC2IOBOBufMode::CGND || obuf_mode.unwrap() == XC2IOBOBufMode::PushPull) && port_idx == 0 { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `BitVal` which implements the `Copy` trait [INFO] [stdout] --> src/bin/xc2jed2json.rs:598:49 [INFO] [stdout] | [INFO] [stdout] 598 | ... wire_bitval_2 = wire_bitval.clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `wire_bitval` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] = note: `#[warn(clippy::clone_on_copy)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `BitVal` which implements the `Copy` trait [INFO] [stdout] --> src/bin/xc2jed2json.rs:792:64 [INFO] [stdout] | [INFO] [stdout] 792 | connections.insert(String::from("A"), vec![out[0].clone()]); [INFO] [stdout] | ^^^^^^^^^^^^^^ help: try removing the `clone` call: `out[0]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` can be collapsed into the outer `match` [INFO] [stdout] --> src/bin/xc2jed2json.rs:515:21 [INFO] [stdout] | [INFO] [stdout] 515 | / if port_name == "O" { [INFO] [stdout] 516 | | // This is always driven [INFO] [stdout] 517 | | should_add_wire = true; [INFO] [stdout] 518 | | } else { [INFO] [stdout] 519 | | unreachable!(); [INFO] [stdout] 520 | | } [INFO] [stdout] | |_____________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_match [INFO] [stdout] = note: `#[warn(clippy::collapsible_match)]` on by default [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 514 ~ "IBUF" [INFO] [stdout] 515 ~ if port_name == "O" => { [INFO] [stdout] 516 | // This is always driven [INFO] [stdout] 517 | should_add_wire = true; [INFO] [stdout] 518 ~ }, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you don't need to add `&` to both the expression and the patterns [INFO] [stdout] --> src/bin/xc2jed2json.rs:547:29 [INFO] [stdout] | [INFO] [stdout] 547 | / ... match &zia_choice { [INFO] [stdout] 548 | | ... &XC2ZIAInput::Macrocell{fb: zia_fb, mc: zia_mc} => { [INFO] [stdout] 549 | | ... // FIXME Hack [INFO] [stdout] 550 | | ... if bitstream.bits.get_fb()[zia_fb as usize].mcs[zia_mc as usize].fb_mode == [INFO] [stdout] ... | [INFO] [stdout] 586 | | ... _ => unreachable!(), [INFO] [stdout] 587 | | ... }; [INFO] [stdout] | |_______________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stdout] = note: `#[warn(clippy::match_ref_pats)]` on by default [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 547 ~ match zia_choice { [INFO] [stdout] 548 ~ XC2ZIAInput::Macrocell{fb: zia_fb, mc: zia_mc} => { [INFO] [stdout] 549 | // FIXME Hack [INFO] [stdout] ... [INFO] [stdout] 562 | }, [INFO] [stdout] 563 ~ XC2ZIAInput::IBuf{ibuf: zia_iob} => { [INFO] [stdout] 564 | let mut zia_mode = None; [INFO] [stdout] ... [INFO] [stdout] 581 | }, [INFO] [stdout] 582 ~ XC2ZIAInput::DedicatedInput => { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `BitVal` which implements the `Copy` trait [INFO] [stdout] --> src/bin/xc2jed2json.rs:598:49 [INFO] [stdout] | [INFO] [stdout] 598 | ... wire_bitval_2 = wire_bitval.clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `wire_bitval` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] = note: `#[warn(clippy::clone_on_copy)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `BitVal` which implements the `Copy` trait [INFO] [stdout] --> src/bin/xc2jed2json.rs:792:64 [INFO] [stdout] | [INFO] [stdout] 792 | connections.insert(String::from("A"), vec![out[0].clone()]); [INFO] [stdout] | ^^^^^^^^^^^^^^ help: try removing the `clone` call: `out[0]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 17.88s [INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: syn v0.13.1 [INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1` [INFO] running `Command { std: "docker" "inspect" "7677b6353a03a66020fe9855ed04364ade2ff54fddcaffa6f7c4a98124314df7", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "7677b6353a03a66020fe9855ed04364ade2ff54fddcaffa6f7c4a98124314df7", kill_on_drop: false }` [INFO] [stdout] 7677b6353a03a66020fe9855ed04364ade2ff54fddcaffa6f7c4a98124314df7