[INFO] fetching crate nicompiler_backend 0.3.0... [INFO] linting nicompiler_backend-0.3.0 against nightly for clippy-nonminimal_bool-denied [INFO] extracting crate nicompiler_backend 0.3.0 into /workspace/builds/worker-0-tc1/source [INFO] removed /workspace/builds/worker-0-tc1/source/.cargo/config.toml [INFO] started tweaking crates.io crate nicompiler_backend 0.3.0 [INFO] finished tweaking crates.io crate nicompiler_backend 0.3.0 [INFO] tweaked toml for crates.io crate nicompiler_backend 0.3.0 written to /workspace/builds/worker-0-tc1/source/Cargo.toml [INFO] validating manifest of crates.io crate nicompiler_backend 0.3.0 on toolchain nightly [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+nightly" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate crates.io crate nicompiler_backend 0.3.0 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] Downloading crates ... [INFO] [stderr] Downloaded pyo3-macros v0.19.2 [INFO] [stderr] Downloaded pyo3-ffi v0.19.2 [INFO] [stderr] Downloaded maplit v1.0.2 [INFO] [stderr] Downloaded rawpointer v0.2.1 [INFO] [stderr] Downloaded inventory v0.3.11 [INFO] [stderr] Downloaded once_cell v1.18.0 [INFO] [stderr] Downloaded matrixmultiply v0.3.7 [INFO] [stderr] Downloaded smallvec v1.11.0 [INFO] [stderr] Downloaded numpy v0.19.0 [INFO] [stderr] Downloaded num-traits v0.2.16 [INFO] [stderr] Downloaded memoffset v0.9.0 [INFO] [stderr] Downloaded ndarray v0.15.6 [INFO] [stderr] Downloaded pyo3-build-config v0.19.2 [INFO] [stderr] Downloaded target-lexicon v0.12.11 [INFO] [stderr] Downloaded pyo3-macros-backend v0.19.2 [INFO] [stderr] Downloaded parking_lot_core v0.9.8 [INFO] [stderr] Downloaded regex-syntax v0.7.4 [INFO] [stderr] Downloaded proc-macro2 v1.0.66 [INFO] [stderr] Downloaded unindent v0.1.11 [INFO] [stderr] Downloaded num-complex v0.4.4 [INFO] [stderr] Downloaded pyo3 v0.19.2 [INFO] [stderr] Downloaded aho-corasick v1.0.4 [INFO] [stderr] Downloaded indoc v1.0.9 [INFO] [stderr] Downloaded lock_api v0.4.10 [INFO] [stderr] Downloaded regex v1.9.3 [INFO] [stderr] Downloaded redox_syscall v0.3.5 [INFO] [stderr] Downloaded unicode-ident v1.0.11 [INFO] [stderr] Downloaded regex-automata v0.3.6 [INFO] [stderr] Downloaded quote v1.0.33 [INFO] [stderr] Downloaded libc v0.2.147 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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] 91bad860cc7285a0dbe447d3194d74d4a98b72c3ea107dd475ab801e794d025b [INFO] running `Command { std: "docker" "start" "-a" "91bad860cc7285a0dbe447d3194d74d4a98b72c3ea107dd475ab801e794d025b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "91bad860cc7285a0dbe447d3194d74d4a98b72c3ea107dd475ab801e794d025b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "91bad860cc7285a0dbe447d3194d74d4a98b72c3ea107dd475ab801e794d025b", kill_on_drop: false }` [INFO] [stdout] 91bad860cc7285a0dbe447d3194d74d4a98b72c3ea107dd475ab801e794d025b [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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] c997690a5ccc56e53a9cda992945e968c977e659f8daa0f5ca5efa909d48f610 [INFO] running `Command { std: "docker" "start" "-a" "c997690a5ccc56e53a9cda992945e968c977e659f8daa0f5ca5efa909d48f610", kill_on_drop: false }` [INFO] [stderr] Compiling autocfg v1.1.0 [INFO] [stderr] Compiling target-lexicon v0.12.11 [INFO] [stderr] Compiling proc-macro2 v1.0.66 [INFO] [stderr] Compiling once_cell v1.18.0 [INFO] [stderr] Compiling libc v0.2.147 [INFO] [stderr] Compiling unicode-ident v1.0.11 [INFO] [stderr] Compiling syn v1.0.109 [INFO] [stderr] Compiling parking_lot_core v0.9.8 [INFO] [stderr] Compiling memchr v2.5.0 [INFO] [stderr] Checking smallvec v1.11.0 [INFO] [stderr] Checking rawpointer v0.2.1 [INFO] [stderr] Compiling indoc v1.0.9 [INFO] [stderr] Checking unindent v0.1.11 [INFO] [stderr] Checking regex-syntax v0.7.4 [INFO] [stderr] Checking inventory v0.3.11 [INFO] [stderr] Compiling nicompiler_backend v0.3.0 (/opt/rustwide/workdir) [INFO] [stderr] Checking maplit v1.0.2 [INFO] [stderr] Compiling num-traits v0.2.16 [INFO] [stderr] Compiling lock_api v0.4.10 [INFO] [stderr] Compiling num-integer v0.1.45 [INFO] [stderr] Compiling memoffset v0.9.0 [INFO] [stderr] Compiling matrixmultiply v0.3.7 [INFO] [stderr] Compiling pyo3-build-config v0.19.2 [INFO] [stderr] Checking aho-corasick v1.0.4 [INFO] [stderr] Compiling quote v1.0.33 [INFO] [stderr] Checking parking_lot v0.12.1 [INFO] [stderr] Compiling pyo3-ffi v0.19.2 [INFO] [stderr] Compiling pyo3 v0.19.2 [INFO] [stderr] Checking regex-automata v0.3.6 [INFO] [stderr] Checking num-complex v0.4.4 [INFO] [stderr] Checking ndarray v0.15.6 [INFO] [stderr] Checking regex v1.9.3 [INFO] [stderr] Compiling pyo3-macros-backend v0.19.2 [INFO] [stderr] Compiling pyo3-macros v0.19.2 [INFO] [stderr] Checking numpy v0.19.0 [INFO] [stdout] warning: empty line after doc comment [INFO] [stdout] --> src/experiment.rs:104:1 [INFO] [stdout] | [INFO] [stdout] 104 | / /// [`channel_calc_signal_nsamps`]: BaseExperiment::channel_calc_signal_nsamps [INFO] [stdout] 105 | | [INFO] [stdout] | |_^ [INFO] [stdout] 106 | pub trait BaseExperiment { [INFO] [stdout] | ------------------------ the comment documents this trait [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] [INFO] [stdout] [INFO] [stdout] warning: empty line after doc comment [INFO] [stdout] --> src/experiment.rs:1223:1 [INFO] [stdout] | [INFO] [stdout] 1223 | / /// This will generate the required implementations and additional Python bindings for `CustomExperiment`. [INFO] [stdout] 1224 | | [INFO] [stdout] | |_^ [INFO] [stdout] 1225 | #[macro_export] [INFO] [stdout] 1226 | macro_rules! impl_exp_boilerplate { [INFO] [stdout] | --------------------------------- the comment documents this macro definition [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] [INFO] [stdout] [INFO] [stdout] warning: empty line after doc comment [INFO] [stdout] --> src/instruction.rs:118:5 [INFO] [stdout] | [INFO] [stdout] 118 | / /// # use std::collections::HashMap; [INFO] [stdout] 119 | | [INFO] [stdout] | |_^ [INFO] [stdout] ... [INFO] [stdout] 125 | pub fn new(instr_type: InstrType, args: InstrArgs) -> 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 documentation should include the empty line include it in the comment [INFO] [stdout] | [INFO] [stdout] 119 | /// [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty line after doc comment [INFO] [stdout] --> src/experiment.rs:104:1 [INFO] [stdout] | [INFO] [stdout] 104 | / /// [`channel_calc_signal_nsamps`]: BaseExperiment::channel_calc_signal_nsamps [INFO] [stdout] 105 | | [INFO] [stdout] | |_^ [INFO] [stdout] 106 | pub trait BaseExperiment { [INFO] [stdout] | ------------------------ the comment documents this trait [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] [INFO] [stdout] [INFO] [stdout] warning: empty line after doc comment [INFO] [stdout] --> src/experiment.rs:1223:1 [INFO] [stdout] | [INFO] [stdout] 1223 | / /// This will generate the required implementations and additional Python bindings for `CustomExperiment`. [INFO] [stdout] 1224 | | [INFO] [stdout] | |_^ [INFO] [stdout] 1225 | #[macro_export] [INFO] [stdout] 1226 | macro_rules! impl_exp_boilerplate { [INFO] [stdout] | --------------------------------- the comment documents this macro definition [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] [INFO] [stdout] [INFO] [stdout] warning: empty line after doc comment [INFO] [stdout] --> src/instruction.rs:118:5 [INFO] [stdout] | [INFO] [stdout] 118 | / /// # use std::collections::HashMap; [INFO] [stdout] 119 | | [INFO] [stdout] | |_^ [INFO] [stdout] ... [INFO] [stdout] 125 | pub fn new(instr_type: InstrType, args: InstrArgs) -> 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 documentation should include the empty line include it in the comment [INFO] [stdout] | [INFO] [stdout] 119 | /// [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item overindented [INFO] [stdout] --> src/channel.rs:23:5 [INFO] [stdout] | [INFO] [stdout] 23 | //! this could be 'ao0' or 'port0/line0'. This name can be viewed using tools like NI-MAX on [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: doc list item overindented [INFO] [stdout] --> src/channel.rs:24:5 [INFO] [stdout] | [INFO] [stdout] 24 | //! Windows or the NI hardware configuration utilities on Linux. [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] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> src/channel.rs:154:9 [INFO] [stdout] | [INFO] [stdout] 154 | /// to determine if padding is required at the end of the compiled instruction list. [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] = note: `#[warn(clippy::doc_lazy_continuation)]` on by default [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 154 | /// to determine if padding is required at the end of the compiled instruction list. [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/channel.rs:177:12 [INFO] [stdout] | [INFO] [stdout] 177 | if self.instr_list().len() == 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `self.instr_list().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: casting to the same type is unnecessary (`usize` -> `usize`) [INFO] [stdout] --> src/channel.rs:289:24 [INFO] [stdout] | [INFO] [stdout] 289 | return mid as usize; [INFO] [stdout] | ^^^^^^^^^^^^ help: try: `mid` [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: length comparison to zero [INFO] [stdout] --> src/channel.rs:299:35 [INFO] [stdout] | [INFO] [stdout] 299 | *self.fresh_compiled_() = self.instr_end().len() == 0; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `self.instr_end().is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/channel.rs:308:35 [INFO] [stdout] | [INFO] [stdout] 308 | *self.fresh_compiled_() = self.instr_list().len() == 0; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `self.instr_list().is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`usize` -> `usize`) [INFO] [stdout] --> src/channel.rs:501:34 [INFO] [stdout] | [INFO] [stdout] 501 | let mut cur_pos: usize = start_pos as usize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: try: `start_pos` [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: doc list item overindented [INFO] [stdout] --> src/channel.rs:593:9 [INFO] [stdout] | [INFO] [stdout] 593 | /// It can be either `AO` (analogue output) or `DO` (digital output). [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] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> src/device.rs:54:5 [INFO] [stdout] | [INFO] [stdout] 54 | /// sampling rate, and various configuration parameters. [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 54 | /// sampling rate, and various configuration parameters. [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> src/device.rs:57:5 [INFO] [stdout] | [INFO] [stdout] 57 | /// [`BaseDevice::cfg_ref_clk`], [`BaseDevice::cfg_samp_clk_src`]. See [`Device`] for more details. [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 57 | /// [`BaseDevice::cfg_ref_clk`], [`BaseDevice::cfg_samp_clk_src`]. See [`Device`] for more details. [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> src/device.rs:60:5 [INFO] [stdout] | [INFO] [stdout] 60 | /// [`BaseDevice::add_channel`] allow for the retrieval and manipulation of channels associated with the device. [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 60 | /// [`BaseDevice::add_channel`] allow for the retrieval and manipulation of channels associated with the device. [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> src/device.rs:63:5 [INFO] [stdout] | [INFO] [stdout] 63 | /// [`BaseDevice::is_fresh_compiled`] enable checking the compilation and editing status of the device's channels. [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 63 | /// [`BaseDevice::is_fresh_compiled`] enable checking the compilation and editing status of the device's channels. [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> src/device.rs:66:5 [INFO] [stdout] | [INFO] [stdout] 66 | /// used to clear the edit and compile caches of the device's channels, respectively. [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 66 | /// used to clear the edit and compile caches of the device's channels, respectively. [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> src/device.rs:69:5 [INFO] [stdout] | [INFO] [stdout] 69 | /// channels. For Digital Output (DO) channels, it provides additional functionality to merge line channels into port channels. [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 69 | /// channels. For Digital Output (DO) channels, it provides additional functionality to merge line channels into port channels. [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> src/device.rs:72:5 [INFO] [stdout] | [INFO] [stdout] 72 | /// central to signal generation, allowing for the sampling of float-point values from compiled instructions based on [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 72 | /// central to signal generation, allowing for the sampling of float-point values from compiled instructions based on [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> src/device.rs:73:5 [INFO] [stdout] | [INFO] [stdout] 73 | /// various criteria. [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 73 | /// various criteria. [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> src/device.rs:76:5 [INFO] [stdout] | [INFO] [stdout] 76 | /// task types, aiding in operations like identifying unique ports in Digital Output (DO) devices. [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 76 | /// task types, aiding in operations like identifying unique ports in Digital Output (DO) devices. [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`f64` -> `f64`) [INFO] [stdout] --> src/device.rs:308:41 [INFO] [stdout] | [INFO] [stdout] 308 | instr_val[i] += *chan_value as f64 * 2.0f64.powf(line as f64); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: try: `*chan_value` [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: doc list item overindented [INFO] [stdout] --> src/device.rs:393:9 [INFO] [stdout] | [INFO] [stdout] 393 | /// the second axis corresponds to the sample index. [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] [INFO] [stdout] [INFO] [stdout] warning: doc list item overindented [INFO] [stdout] --> src/device.rs:550:5 [INFO] [stdout] | [INFO] [stdout] 550 | /// Supply `None` for trivial triggering behavior. [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] [INFO] [stdout] [INFO] [stdout] warning: doc list item overindented [INFO] [stdout] --> src/device.rs:552:5 [INFO] [stdout] | [INFO] [stdout] 552 | /// exports the start trigger of the NI-task associated with this device through `trig_line`. If `false` or `None`, [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] [INFO] [stdout] [INFO] [stdout] warning: doc list item overindented [INFO] [stdout] --> src/device.rs:553:5 [INFO] [stdout] | [INFO] [stdout] 553 | /// the device is set to import the start trigger. In case that any device in an experiment has nontrivial triggering behavior, [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] [INFO] [stdout] [INFO] [stdout] warning: doc list item overindented [INFO] [stdout] --> src/device.rs:554:5 [INFO] [stdout] | [INFO] [stdout] 554 | /// one and only one of the devices must have `export_trig` set to `true`. [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] [INFO] [stdout] [INFO] [stdout] warning: doc list item overindented [INFO] [stdout] --> src/device.rs:557:5 [INFO] [stdout] | [INFO] [stdout] 557 | /// reference clock. If `false` or `None`, it imports the reference clock. Use `None` for trivial behavior. [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] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> src/experiment.rs:35:5 [INFO] [stdout] | [INFO] [stdout] 35 | //! python-exposed wrappers for methods implemented in [`BaseExperiment`] trait. [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 35 | //! python-exposed wrappers for methods implemented in [`BaseExperiment`] trait. [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item overindented [INFO] [stdout] --> src/channel.rs:23:5 [INFO] [stdout] | [INFO] [stdout] 23 | //! this could be 'ao0' or 'port0/line0'. This name can be viewed using tools like NI-MAX on [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: doc list item overindented [INFO] [stdout] --> src/channel.rs:24:5 [INFO] [stdout] | [INFO] [stdout] 24 | //! Windows or the NI hardware configuration utilities on Linux. [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] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> src/channel.rs:154:9 [INFO] [stdout] | [INFO] [stdout] 154 | /// to determine if padding is required at the end of the compiled instruction list. [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] = note: `#[warn(clippy::doc_lazy_continuation)]` on by default [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 154 | /// to determine if padding is required at the end of the compiled instruction list. [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/channel.rs:177:12 [INFO] [stdout] | [INFO] [stdout] 177 | if self.instr_list().len() == 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `self.instr_list().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: deref on an immutable reference [INFO] [stdout] --> src/experiment.rs:376:59 [INFO] [stdout] | [INFO] [stdout] 376 | .filter_map(|dev| if dev.is_compiled() { Some(&*dev) } else { None }) [INFO] [stdout] | ^^^^^ help: if you would like to reborrow, try removing `&*`: `dev` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#borrow_deref_ref [INFO] [stdout] = note: `#[warn(clippy::borrow_deref_ref)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`usize` -> `usize`) [INFO] [stdout] --> src/channel.rs:289:24 [INFO] [stdout] | [INFO] [stdout] 289 | return mid as usize; [INFO] [stdout] | ^^^^^^^^^^^^ help: try: `mid` [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: length comparison to zero [INFO] [stdout] --> src/channel.rs:299:35 [INFO] [stdout] | [INFO] [stdout] 299 | *self.fresh_compiled_() = self.instr_end().len() == 0; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `self.instr_end().is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/channel.rs:308:35 [INFO] [stdout] | [INFO] [stdout] 308 | *self.fresh_compiled_() = self.instr_list().len() == 0; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `self.instr_list().is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/experiment.rs:732:13 [INFO] [stdout] | [INFO] [stdout] 732 | / !export_trig [INFO] [stdout] 733 | | || (export_trig [INFO] [stdout] 734 | | && self [INFO] [stdout] 735 | | .devices() [INFO] [stdout] 736 | | .values() [INFO] [stdout] 737 | | .all(|dev| dev.export_trig().is_none())), [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] 732 ~ !(export_trig && !self [INFO] [stdout] 733 + .devices() [INFO] [stdout] 734 + .values() [INFO] [stdout] 735 ~ .all(|dev| dev.export_trig().is_none())), [INFO] [stdout] | [INFO] [stdout] 732 ~ !export_trig || self [INFO] [stdout] 733 + .devices() [INFO] [stdout] 734 + .values() [INFO] [stdout] 735 ~ .all(|dev| dev.export_trig().is_none()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`usize` -> `usize`) [INFO] [stdout] --> src/channel.rs:501:34 [INFO] [stdout] | [INFO] [stdout] 501 | let mut cur_pos: usize = start_pos as usize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: try: `start_pos` [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: this function has too many arguments (10/7) [INFO] [stdout] --> src/experiment.rs:985:5 [INFO] [stdout] | [INFO] [stdout] 985 | / fn sine( [INFO] [stdout] 986 | | &mut self, [INFO] [stdout] 987 | | dev_name: &str, [INFO] [stdout] 988 | | chan_name: &str, [INFO] [stdout] ... | [INFO] [stdout] 995 | | dc_offset: Option, [INFO] [stdout] 996 | | ) { [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] = note: `#[warn(clippy::too_many_arguments)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item overindented [INFO] [stdout] --> src/channel.rs:593:9 [INFO] [stdout] | [INFO] [stdout] 593 | /// It can be either `AO` (analogue output) or `DO` (digital output). [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] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> src/device.rs:54:5 [INFO] [stdout] | [INFO] [stdout] 54 | /// sampling rate, and various configuration parameters. [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 54 | /// sampling rate, and various configuration parameters. [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> src/device.rs:57:5 [INFO] [stdout] | [INFO] [stdout] 57 | /// [`BaseDevice::cfg_ref_clk`], [`BaseDevice::cfg_samp_clk_src`]. See [`Device`] for more details. [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 57 | /// [`BaseDevice::cfg_ref_clk`], [`BaseDevice::cfg_samp_clk_src`]. See [`Device`] for more details. [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you should consider adding a `Default` implementation for `Experiment` [INFO] [stdout] --> src/experiment.rs:1460:5 [INFO] [stdout] | [INFO] [stdout] 1460 | / pub fn new() -> Self { [INFO] [stdout] 1461 | | Self { [INFO] [stdout] 1462 | | devices: HashMap::new(), [INFO] [stdout] 1463 | | } [INFO] [stdout] 1464 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stdout] = note: `#[warn(clippy::new_without_default)]` on by default [INFO] [stdout] help: try adding this [INFO] [stdout] | [INFO] [stdout] 1442 + impl Default for Experiment { [INFO] [stdout] 1443 + fn default() -> Self { [INFO] [stdout] 1444 + Self::new() [INFO] [stdout] 1445 + } [INFO] [stdout] 1446 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> src/device.rs:60:5 [INFO] [stdout] | [INFO] [stdout] 60 | /// [`BaseDevice::add_channel`] allow for the retrieval and manipulation of channels associated with the device. [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 60 | /// [`BaseDevice::add_channel`] allow for the retrieval and manipulation of channels associated with the device. [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> src/device.rs:63:5 [INFO] [stdout] | [INFO] [stdout] 63 | /// [`BaseDevice::is_fresh_compiled`] enable checking the compilation and editing status of the device's channels. [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 63 | /// [`BaseDevice::is_fresh_compiled`] enable checking the compilation and editing status of the device's channels. [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> src/device.rs:66:5 [INFO] [stdout] | [INFO] [stdout] 66 | /// used to clear the edit and compile caches of the device's channels, respectively. [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 66 | /// used to clear the edit and compile caches of the device's channels, respectively. [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> src/device.rs:69:5 [INFO] [stdout] | [INFO] [stdout] 69 | /// channels. For Digital Output (DO) channels, it provides additional functionality to merge line channels into port channels. [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 69 | /// channels. For Digital Output (DO) channels, it provides additional functionality to merge line channels into port channels. [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> src/device.rs:72:5 [INFO] [stdout] | [INFO] [stdout] 72 | /// central to signal generation, allowing for the sampling of float-point values from compiled instructions based on [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 72 | /// central to signal generation, allowing for the sampling of float-point values from compiled instructions based on [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> src/device.rs:73:5 [INFO] [stdout] | [INFO] [stdout] 73 | /// various criteria. [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 73 | /// various criteria. [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> src/device.rs:76:5 [INFO] [stdout] | [INFO] [stdout] 76 | /// task types, aiding in operations like identifying unique ports in Digital Output (DO) devices. [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 76 | /// task types, aiding in operations like identifying unique ports in Digital Output (DO) devices. [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (8/7) [INFO] [stdout] --> src/experiment.rs:1330:13 [INFO] [stdout] | [INFO] [stdout] 1330 | / pub fn calc_signal( [INFO] [stdout] 1331 | | &mut self, [INFO] [stdout] 1332 | | name: &str, [INFO] [stdout] 1333 | | t_start: f64, [INFO] [stdout] ... | [INFO] [stdout] 1338 | | py: Python, [INFO] [stdout] 1339 | | ) -> PyResult { [INFO] [stdout] | |___________________________________^ [INFO] [stdout] ... [INFO] [stdout] 1467 | impl_exp_boilerplate!(Experiment); [INFO] [stdout] | --------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] = note: this warning originates in the macro `impl_exp_boilerplate` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (10/7) [INFO] [stdout] --> src/experiment.rs:1383:13 [INFO] [stdout] | [INFO] [stdout] 1383 | / pub fn sine( [INFO] [stdout] 1384 | | &mut self, [INFO] [stdout] 1385 | | dev_name: &str, [INFO] [stdout] 1386 | | chan_name: &str, [INFO] [stdout] ... | [INFO] [stdout] 1393 | | dc_offset: Option, [INFO] [stdout] 1394 | | ) { [INFO] [stdout] | |_____________^ [INFO] [stdout] ... [INFO] [stdout] 1467 | impl_exp_boilerplate!(Experiment); [INFO] [stdout] | --------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] = note: this warning originates in the macro `impl_exp_boilerplate` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`f64` -> `f64`) [INFO] [stdout] --> src/device.rs:308:41 [INFO] [stdout] | [INFO] [stdout] 308 | instr_val[i] += *chan_value as f64 * 2.0f64.powf(line as f64); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: try: `*chan_value` [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: doc list item overindented [INFO] [stdout] --> src/device.rs:393:9 [INFO] [stdout] | [INFO] [stdout] 393 | /// the second axis corresponds to the sample index. [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] [INFO] [stdout] [INFO] [stdout] warning: doc list item overindented [INFO] [stdout] --> src/device.rs:550:5 [INFO] [stdout] | [INFO] [stdout] 550 | /// Supply `None` for trivial triggering behavior. [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] [INFO] [stdout] [INFO] [stdout] warning: doc list item overindented [INFO] [stdout] --> src/device.rs:552:5 [INFO] [stdout] | [INFO] [stdout] 552 | /// exports the start trigger of the NI-task associated with this device through `trig_line`. If `false` or `None`, [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] [INFO] [stdout] [INFO] [stdout] warning: doc list item overindented [INFO] [stdout] --> src/device.rs:553:5 [INFO] [stdout] | [INFO] [stdout] 553 | /// the device is set to import the start trigger. In case that any device in an experiment has nontrivial triggering behavior, [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] [INFO] [stdout] [INFO] [stdout] warning: doc list item overindented [INFO] [stdout] --> src/device.rs:554:5 [INFO] [stdout] | [INFO] [stdout] 554 | /// one and only one of the devices must have `export_trig` set to `true`. [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] [INFO] [stdout] [INFO] [stdout] warning: doc list item overindented [INFO] [stdout] --> src/device.rs:557:5 [INFO] [stdout] | [INFO] [stdout] 557 | /// reference clock. If `false` or `None`, it imports the reference clock. Use `None` for trivial behavior. [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] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> src/experiment.rs:35:5 [INFO] [stdout] | [INFO] [stdout] 35 | //! python-exposed wrappers for methods implemented in [`BaseExperiment`] trait. [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 35 | //! python-exposed wrappers for methods implemented in [`BaseExperiment`] trait. [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref on an immutable reference [INFO] [stdout] --> src/experiment.rs:376:59 [INFO] [stdout] | [INFO] [stdout] 376 | .filter_map(|dev| if dev.is_compiled() { Some(&*dev) } else { None }) [INFO] [stdout] | ^^^^^ help: if you would like to reborrow, try removing `&*`: `dev` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#borrow_deref_ref [INFO] [stdout] = note: `#[warn(clippy::borrow_deref_ref)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/experiment.rs:732:13 [INFO] [stdout] | [INFO] [stdout] 732 | / !export_trig [INFO] [stdout] 733 | | || (export_trig [INFO] [stdout] 734 | | && self [INFO] [stdout] 735 | | .devices() [INFO] [stdout] 736 | | .values() [INFO] [stdout] 737 | | .all(|dev| dev.export_trig().is_none())), [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] 732 ~ !(export_trig && !self [INFO] [stdout] 733 + .devices() [INFO] [stdout] 734 + .values() [INFO] [stdout] 735 ~ .all(|dev| dev.export_trig().is_none())), [INFO] [stdout] | [INFO] [stdout] 732 ~ !export_trig || self [INFO] [stdout] 733 + .devices() [INFO] [stdout] 734 + .values() [INFO] [stdout] 735 ~ .all(|dev| dev.export_trig().is_none()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (10/7) [INFO] [stdout] --> src/experiment.rs:985:5 [INFO] [stdout] | [INFO] [stdout] 985 | / fn sine( [INFO] [stdout] 986 | | &mut self, [INFO] [stdout] 987 | | dev_name: &str, [INFO] [stdout] 988 | | chan_name: &str, [INFO] [stdout] ... | [INFO] [stdout] 995 | | dc_offset: Option, [INFO] [stdout] 996 | | ) { [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] = note: `#[warn(clippy::too_many_arguments)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you should consider adding a `Default` implementation for `Experiment` [INFO] [stdout] --> src/experiment.rs:1460:5 [INFO] [stdout] | [INFO] [stdout] 1460 | / pub fn new() -> Self { [INFO] [stdout] 1461 | | Self { [INFO] [stdout] 1462 | | devices: HashMap::new(), [INFO] [stdout] 1463 | | } [INFO] [stdout] 1464 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stdout] = note: `#[warn(clippy::new_without_default)]` on by default [INFO] [stdout] help: try adding this [INFO] [stdout] | [INFO] [stdout] 1442 + impl Default for Experiment { [INFO] [stdout] 1443 + fn default() -> Self { [INFO] [stdout] 1444 + Self::new() [INFO] [stdout] 1445 + } [INFO] [stdout] 1446 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (8/7) [INFO] [stdout] --> src/experiment.rs:1330:13 [INFO] [stdout] | [INFO] [stdout] 1330 | / pub fn calc_signal( [INFO] [stdout] 1331 | | &mut self, [INFO] [stdout] 1332 | | name: &str, [INFO] [stdout] 1333 | | t_start: f64, [INFO] [stdout] ... | [INFO] [stdout] 1338 | | py: Python, [INFO] [stdout] 1339 | | ) -> PyResult { [INFO] [stdout] | |___________________________________^ [INFO] [stdout] ... [INFO] [stdout] 1467 | impl_exp_boilerplate!(Experiment); [INFO] [stdout] | --------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] = note: this warning originates in the macro `impl_exp_boilerplate` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (10/7) [INFO] [stdout] --> src/experiment.rs:1383:13 [INFO] [stdout] | [INFO] [stdout] 1383 | / pub fn sine( [INFO] [stdout] 1384 | | &mut self, [INFO] [stdout] 1385 | | dev_name: &str, [INFO] [stdout] 1386 | | chan_name: &str, [INFO] [stdout] ... | [INFO] [stdout] 1393 | | dc_offset: Option, [INFO] [stdout] 1394 | | ) { [INFO] [stdout] | |_____________^ [INFO] [stdout] ... [INFO] [stdout] 1467 | impl_exp_boilerplate!(Experiment); [INFO] [stdout] | --------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] = note: this warning originates in the macro `impl_exp_boilerplate` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> src/utils.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | //! elapsed time in milliseconds since the UNIX epoch. [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 6 | //! elapsed time in milliseconds since the UNIX epoch. [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> src/utils.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | //! specific string pattern (`port[number]/line[number]`). [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 9 | //! specific string pattern (`port[number]/line[number]`). [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you should consider adding a `Default` implementation for `TickTimer` [INFO] [stdout] --> src/utils.rs:68:5 [INFO] [stdout] | [INFO] [stdout] 68 | / pub fn new() -> Self { [INFO] [stdout] 69 | | let duration = SystemTime::now() [INFO] [stdout] 70 | | .duration_since(UNIX_EPOCH) [INFO] [stdout] 71 | | .expect("Time went backwards"); [INFO] [stdout] ... | [INFO] [stdout] 75 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stdout] help: try adding this [INFO] [stdout] | [INFO] [stdout] 62 + impl Default for TickTimer { [INFO] [stdout] 63 + fn default() -> Self { [INFO] [stdout] 64 + Self::new() [INFO] [stdout] 65 + } [INFO] [stdout] 66 + } [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/experiment.rs:1441:1 [INFO] [stdout] | [INFO] [stdout] 1441 | #[pymethods] [INFO] [stdout] | -^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `PyClassImplCollector` is not local [INFO] [stdout] | `PyClassNewTextSignature` is not local [INFO] [stdout] | move the `impl` block outside of this function `trampoline` and up 4 bodies [INFO] [stdout] 1442 | impl Experiment { [INFO] [stdout] | ---------- [INFO] [stdout] | | [INFO] [stdout] | `Experiment` is not local [INFO] [stdout] | `Experiment` is not local [INFO] [stdout] | [INFO] [stdout] = note: the attribute macro `pymethods` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the attribute macro `pymethods` may come from an old version of the `pyo3_macros` crate, try updating your dependency with `cargo update -p pyo3_macros` [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: `#[warn(non_local_definitions)]` on by default [INFO] [stdout] = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> src/utils.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | //! elapsed time in milliseconds since the UNIX epoch. [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 6 | //! elapsed time in milliseconds since the UNIX epoch. [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> src/utils.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | //! specific string pattern (`port[number]/line[number]`). [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 9 | //! specific string pattern (`port[number]/line[number]`). [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you should consider adding a `Default` implementation for `TickTimer` [INFO] [stdout] --> src/utils.rs:68:5 [INFO] [stdout] | [INFO] [stdout] 68 | / pub fn new() -> Self { [INFO] [stdout] 69 | | let duration = SystemTime::now() [INFO] [stdout] 70 | | .duration_since(UNIX_EPOCH) [INFO] [stdout] 71 | | .expect("Time went backwards"); [INFO] [stdout] ... | [INFO] [stdout] 75 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stdout] help: try adding this [INFO] [stdout] | [INFO] [stdout] 62 + impl Default for TickTimer { [INFO] [stdout] 63 + fn default() -> Self { [INFO] [stdout] 64 + Self::new() [INFO] [stdout] 65 + } [INFO] [stdout] 66 + } [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/experiment.rs:1441:1 [INFO] [stdout] | [INFO] [stdout] 1441 | #[pymethods] [INFO] [stdout] | -^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `PyClassImplCollector` is not local [INFO] [stdout] | `PyClassNewTextSignature` is not local [INFO] [stdout] | move the `impl` block outside of this function `trampoline` and up 4 bodies [INFO] [stdout] 1442 | impl Experiment { [INFO] [stdout] | ---------- [INFO] [stdout] | | [INFO] [stdout] | `Experiment` is not local [INFO] [stdout] | `Experiment` is not local [INFO] [stdout] | [INFO] [stdout] = note: the attribute macro `pymethods` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the attribute macro `pymethods` may come from an old version of the `pyo3_macros` crate, try updating your dependency with `cargo update -p pyo3_macros` [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: `#[warn(non_local_definitions)]` on by default [INFO] [stdout] = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty line after doc comment [INFO] [stdout] --> src/experiment.rs:104:1 [INFO] [stdout] | [INFO] [stdout] 104 | / /// [`channel_calc_signal_nsamps`]: BaseExperiment::channel_calc_signal_nsamps [INFO] [stdout] 105 | | [INFO] [stdout] | |_^ [INFO] [stdout] 106 | pub trait BaseExperiment { [INFO] [stdout] | ------------------------ the comment documents this trait [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] [INFO] [stdout] [INFO] [stdout] warning: empty line after doc comment [INFO] [stdout] --> src/experiment.rs:1223:1 [INFO] [stdout] | [INFO] [stdout] 1223 | / /// This will generate the required implementations and additional Python bindings for `CustomExperiment`. [INFO] [stdout] 1224 | | [INFO] [stdout] | |_^ [INFO] [stdout] 1225 | #[macro_export] [INFO] [stdout] 1226 | macro_rules! impl_exp_boilerplate { [INFO] [stdout] | --------------------------------- the comment documents this macro definition [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] [INFO] [stdout] [INFO] [stdout] warning: empty line after doc comment [INFO] [stdout] --> src/instruction.rs:118:5 [INFO] [stdout] | [INFO] [stdout] 118 | / /// # use std::collections::HashMap; [INFO] [stdout] 119 | | [INFO] [stdout] | |_^ [INFO] [stdout] ... [INFO] [stdout] 125 | pub fn new(instr_type: InstrType, args: InstrArgs) -> 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 documentation should include the empty line include it in the comment [INFO] [stdout] | [INFO] [stdout] 119 | /// [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty line after doc comment [INFO] [stdout] --> src/experiment.rs:104:1 [INFO] [stdout] | [INFO] [stdout] 104 | / /// [`channel_calc_signal_nsamps`]: BaseExperiment::channel_calc_signal_nsamps [INFO] [stdout] 105 | | [INFO] [stdout] | |_^ [INFO] [stdout] 106 | pub trait BaseExperiment { [INFO] [stdout] | ------------------------ the comment documents this trait [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] [INFO] [stdout] [INFO] [stdout] warning: empty line after doc comment [INFO] [stdout] --> src/experiment.rs:1223:1 [INFO] [stdout] | [INFO] [stdout] 1223 | / /// This will generate the required implementations and additional Python bindings for `CustomExperiment`. [INFO] [stdout] 1224 | | [INFO] [stdout] | |_^ [INFO] [stdout] 1225 | #[macro_export] [INFO] [stdout] 1226 | macro_rules! impl_exp_boilerplate { [INFO] [stdout] | --------------------------------- the comment documents this macro definition [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] [INFO] [stdout] [INFO] [stdout] warning: empty line after doc comment [INFO] [stdout] --> src/instruction.rs:118:5 [INFO] [stdout] | [INFO] [stdout] 118 | / /// # use std::collections::HashMap; [INFO] [stdout] 119 | | [INFO] [stdout] | |_^ [INFO] [stdout] ... [INFO] [stdout] 125 | pub fn new(instr_type: InstrType, args: InstrArgs) -> 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 documentation should include the empty line include it in the comment [INFO] [stdout] | [INFO] [stdout] 119 | /// [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item overindented [INFO] [stdout] --> src/channel.rs:23:5 [INFO] [stdout] | [INFO] [stdout] 23 | //! this could be 'ao0' or 'port0/line0'. This name can be viewed using tools like NI-MAX on [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: doc list item overindented [INFO] [stdout] --> src/channel.rs:24:5 [INFO] [stdout] | [INFO] [stdout] 24 | //! Windows or the NI hardware configuration utilities on Linux. [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] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> src/channel.rs:154:9 [INFO] [stdout] | [INFO] [stdout] 154 | /// to determine if padding is required at the end of the compiled instruction list. [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] = note: `#[warn(clippy::doc_lazy_continuation)]` on by default [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 154 | /// to determine if padding is required at the end of the compiled instruction list. [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/channel.rs:177:12 [INFO] [stdout] | [INFO] [stdout] 177 | if self.instr_list().len() == 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `self.instr_list().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: casting to the same type is unnecessary (`usize` -> `usize`) [INFO] [stdout] --> src/channel.rs:289:24 [INFO] [stdout] | [INFO] [stdout] 289 | return mid as usize; [INFO] [stdout] | ^^^^^^^^^^^^ help: try: `mid` [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: length comparison to zero [INFO] [stdout] --> src/channel.rs:299:35 [INFO] [stdout] | [INFO] [stdout] 299 | *self.fresh_compiled_() = self.instr_end().len() == 0; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `self.instr_end().is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/channel.rs:308:35 [INFO] [stdout] | [INFO] [stdout] 308 | *self.fresh_compiled_() = self.instr_list().len() == 0; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `self.instr_list().is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`usize` -> `usize`) [INFO] [stdout] --> src/channel.rs:501:34 [INFO] [stdout] | [INFO] [stdout] 501 | let mut cur_pos: usize = start_pos as usize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: try: `start_pos` [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: doc list item overindented [INFO] [stdout] --> src/channel.rs:593:9 [INFO] [stdout] | [INFO] [stdout] 593 | /// It can be either `AO` (analogue output) or `DO` (digital output). [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] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> src/device.rs:54:5 [INFO] [stdout] | [INFO] [stdout] 54 | /// sampling rate, and various configuration parameters. [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 54 | /// sampling rate, and various configuration parameters. [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> src/device.rs:57:5 [INFO] [stdout] | [INFO] [stdout] 57 | /// [`BaseDevice::cfg_ref_clk`], [`BaseDevice::cfg_samp_clk_src`]. See [`Device`] for more details. [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 57 | /// [`BaseDevice::cfg_ref_clk`], [`BaseDevice::cfg_samp_clk_src`]. See [`Device`] for more details. [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> src/device.rs:60:5 [INFO] [stdout] | [INFO] [stdout] 60 | /// [`BaseDevice::add_channel`] allow for the retrieval and manipulation of channels associated with the device. [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 60 | /// [`BaseDevice::add_channel`] allow for the retrieval and manipulation of channels associated with the device. [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> src/device.rs:63:5 [INFO] [stdout] | [INFO] [stdout] 63 | /// [`BaseDevice::is_fresh_compiled`] enable checking the compilation and editing status of the device's channels. [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 63 | /// [`BaseDevice::is_fresh_compiled`] enable checking the compilation and editing status of the device's channels. [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> src/device.rs:66:5 [INFO] [stdout] | [INFO] [stdout] 66 | /// used to clear the edit and compile caches of the device's channels, respectively. [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 66 | /// used to clear the edit and compile caches of the device's channels, respectively. [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> src/device.rs:69:5 [INFO] [stdout] | [INFO] [stdout] 69 | /// channels. For Digital Output (DO) channels, it provides additional functionality to merge line channels into port channels. [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 69 | /// channels. For Digital Output (DO) channels, it provides additional functionality to merge line channels into port channels. [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> src/device.rs:72:5 [INFO] [stdout] | [INFO] [stdout] 72 | /// central to signal generation, allowing for the sampling of float-point values from compiled instructions based on [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 72 | /// central to signal generation, allowing for the sampling of float-point values from compiled instructions based on [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> src/device.rs:73:5 [INFO] [stdout] | [INFO] [stdout] 73 | /// various criteria. [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 73 | /// various criteria. [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> src/device.rs:76:5 [INFO] [stdout] | [INFO] [stdout] 76 | /// task types, aiding in operations like identifying unique ports in Digital Output (DO) devices. [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 76 | /// task types, aiding in operations like identifying unique ports in Digital Output (DO) devices. [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`f64` -> `f64`) [INFO] [stdout] --> src/device.rs:308:41 [INFO] [stdout] | [INFO] [stdout] 308 | instr_val[i] += *chan_value as f64 * 2.0f64.powf(line as f64); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: try: `*chan_value` [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: doc list item overindented [INFO] [stdout] --> src/device.rs:393:9 [INFO] [stdout] | [INFO] [stdout] 393 | /// the second axis corresponds to the sample index. [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] [INFO] [stdout] [INFO] [stdout] warning: doc list item overindented [INFO] [stdout] --> src/device.rs:550:5 [INFO] [stdout] | [INFO] [stdout] 550 | /// Supply `None` for trivial triggering behavior. [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] [INFO] [stdout] [INFO] [stdout] warning: doc list item overindented [INFO] [stdout] --> src/device.rs:552:5 [INFO] [stdout] | [INFO] [stdout] 552 | /// exports the start trigger of the NI-task associated with this device through `trig_line`. If `false` or `None`, [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] [INFO] [stdout] [INFO] [stdout] warning: doc list item overindented [INFO] [stdout] --> src/device.rs:553:5 [INFO] [stdout] | [INFO] [stdout] 553 | /// the device is set to import the start trigger. In case that any device in an experiment has nontrivial triggering behavior, [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] [INFO] [stdout] [INFO] [stdout] warning: doc list item overindented [INFO] [stdout] --> src/device.rs:554:5 [INFO] [stdout] | [INFO] [stdout] 554 | /// one and only one of the devices must have `export_trig` set to `true`. [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] [INFO] [stdout] [INFO] [stdout] warning: doc list item overindented [INFO] [stdout] --> src/device.rs:557:5 [INFO] [stdout] | [INFO] [stdout] 557 | /// reference clock. If `false` or `None`, it imports the reference clock. Use `None` for trivial behavior. [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] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> src/experiment.rs:35:5 [INFO] [stdout] | [INFO] [stdout] 35 | //! python-exposed wrappers for methods implemented in [`BaseExperiment`] trait. [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 35 | //! python-exposed wrappers for methods implemented in [`BaseExperiment`] trait. [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref on an immutable reference [INFO] [stdout] --> src/experiment.rs:376:59 [INFO] [stdout] | [INFO] [stdout] 376 | .filter_map(|dev| if dev.is_compiled() { Some(&*dev) } else { None }) [INFO] [stdout] | ^^^^^ help: if you would like to reborrow, try removing `&*`: `dev` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#borrow_deref_ref [INFO] [stdout] = note: `#[warn(clippy::borrow_deref_ref)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/experiment.rs:732:13 [INFO] [stdout] | [INFO] [stdout] 732 | / !export_trig [INFO] [stdout] 733 | | || (export_trig [INFO] [stdout] 734 | | && self [INFO] [stdout] 735 | | .devices() [INFO] [stdout] 736 | | .values() [INFO] [stdout] 737 | | .all(|dev| dev.export_trig().is_none())), [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] 732 ~ !(export_trig && !self [INFO] [stdout] 733 + .devices() [INFO] [stdout] 734 + .values() [INFO] [stdout] 735 ~ .all(|dev| dev.export_trig().is_none())), [INFO] [stdout] | [INFO] [stdout] 732 ~ !export_trig || self [INFO] [stdout] 733 + .devices() [INFO] [stdout] 734 + .values() [INFO] [stdout] 735 ~ .all(|dev| dev.export_trig().is_none()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (10/7) [INFO] [stdout] --> src/experiment.rs:985:5 [INFO] [stdout] | [INFO] [stdout] 985 | / fn sine( [INFO] [stdout] 986 | | &mut self, [INFO] [stdout] 987 | | dev_name: &str, [INFO] [stdout] 988 | | chan_name: &str, [INFO] [stdout] ... | [INFO] [stdout] 995 | | dc_offset: Option, [INFO] [stdout] 996 | | ) { [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] = note: `#[warn(clippy::too_many_arguments)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item overindented [INFO] [stdout] --> src/channel.rs:23:5 [INFO] [stdout] | [INFO] [stdout] 23 | //! this could be 'ao0' or 'port0/line0'. This name can be viewed using tools like NI-MAX on [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: doc list item overindented [INFO] [stdout] --> src/channel.rs:24:5 [INFO] [stdout] | [INFO] [stdout] 24 | //! Windows or the NI hardware configuration utilities on Linux. [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] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> src/channel.rs:154:9 [INFO] [stdout] | [INFO] [stdout] 154 | /// to determine if padding is required at the end of the compiled instruction list. [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] = note: `#[warn(clippy::doc_lazy_continuation)]` on by default [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 154 | /// to determine if padding is required at the end of the compiled instruction list. [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/channel.rs:177:12 [INFO] [stdout] | [INFO] [stdout] 177 | if self.instr_list().len() == 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `self.instr_list().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: you should consider adding a `Default` implementation for `Experiment` [INFO] [stdout] --> src/experiment.rs:1460:5 [INFO] [stdout] | [INFO] [stdout] 1460 | / pub fn new() -> Self { [INFO] [stdout] 1461 | | Self { [INFO] [stdout] 1462 | | devices: HashMap::new(), [INFO] [stdout] 1463 | | } [INFO] [stdout] 1464 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stdout] = note: `#[warn(clippy::new_without_default)]` on by default [INFO] [stdout] help: try adding this [INFO] [stdout] | [INFO] [stdout] 1442 + impl Default for Experiment { [INFO] [stdout] 1443 + fn default() -> Self { [INFO] [stdout] 1444 + Self::new() [INFO] [stdout] 1445 + } [INFO] [stdout] 1446 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`usize` -> `usize`) [INFO] [stdout] --> src/channel.rs:289:24 [INFO] [stdout] | [INFO] [stdout] 289 | return mid as usize; [INFO] [stdout] | ^^^^^^^^^^^^ help: try: `mid` [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: length comparison to zero [INFO] [stdout] --> src/channel.rs:299:35 [INFO] [stdout] | [INFO] [stdout] 299 | *self.fresh_compiled_() = self.instr_end().len() == 0; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `self.instr_end().is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (8/7) [INFO] [stdout] --> src/experiment.rs:1330:13 [INFO] [stdout] | [INFO] [stdout] 1330 | / pub fn calc_signal( [INFO] [stdout] 1331 | | &mut self, [INFO] [stdout] 1332 | | name: &str, [INFO] [stdout] 1333 | | t_start: f64, [INFO] [stdout] ... | [INFO] [stdout] 1338 | | py: Python, [INFO] [stdout] 1339 | | ) -> PyResult { [INFO] [stdout] | |___________________________________^ [INFO] [stdout] ... [INFO] [stdout] 1467 | impl_exp_boilerplate!(Experiment); [INFO] [stdout] | --------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] = note: this warning originates in the macro `impl_exp_boilerplate` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (10/7) [INFO] [stdout] --> src/experiment.rs:1383:13 [INFO] [stdout] | [INFO] [stdout] 1383 | / pub fn sine( [INFO] [stdout] 1384 | | &mut self, [INFO] [stdout] 1385 | | dev_name: &str, [INFO] [stdout] 1386 | | chan_name: &str, [INFO] [stdout] ... | [INFO] [stdout] 1393 | | dc_offset: Option, [INFO] [stdout] 1394 | | ) { [INFO] [stdout] | |_____________^ [INFO] [stdout] ... [INFO] [stdout] 1467 | impl_exp_boilerplate!(Experiment); [INFO] [stdout] | --------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] = note: this warning originates in the macro `impl_exp_boilerplate` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/channel.rs:308:35 [INFO] [stdout] | [INFO] [stdout] 308 | *self.fresh_compiled_() = self.instr_list().len() == 0; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `self.instr_list().is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`usize` -> `usize`) [INFO] [stdout] --> src/channel.rs:501:34 [INFO] [stdout] | [INFO] [stdout] 501 | let mut cur_pos: usize = start_pos as usize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: try: `start_pos` [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: doc list item overindented [INFO] [stdout] --> src/channel.rs:593:9 [INFO] [stdout] | [INFO] [stdout] 593 | /// It can be either `AO` (analogue output) or `DO` (digital output). [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] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> src/device.rs:54:5 [INFO] [stdout] | [INFO] [stdout] 54 | /// sampling rate, and various configuration parameters. [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 54 | /// sampling rate, and various configuration parameters. [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> src/device.rs:57:5 [INFO] [stdout] | [INFO] [stdout] 57 | /// [`BaseDevice::cfg_ref_clk`], [`BaseDevice::cfg_samp_clk_src`]. See [`Device`] for more details. [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 57 | /// [`BaseDevice::cfg_ref_clk`], [`BaseDevice::cfg_samp_clk_src`]. See [`Device`] for more details. [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> src/device.rs:60:5 [INFO] [stdout] | [INFO] [stdout] 60 | /// [`BaseDevice::add_channel`] allow for the retrieval and manipulation of channels associated with the device. [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 60 | /// [`BaseDevice::add_channel`] allow for the retrieval and manipulation of channels associated with the device. [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> src/device.rs:63:5 [INFO] [stdout] | [INFO] [stdout] 63 | /// [`BaseDevice::is_fresh_compiled`] enable checking the compilation and editing status of the device's channels. [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 63 | /// [`BaseDevice::is_fresh_compiled`] enable checking the compilation and editing status of the device's channels. [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> src/device.rs:66:5 [INFO] [stdout] | [INFO] [stdout] 66 | /// used to clear the edit and compile caches of the device's channels, respectively. [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 66 | /// used to clear the edit and compile caches of the device's channels, respectively. [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> src/device.rs:69:5 [INFO] [stdout] | [INFO] [stdout] 69 | /// channels. For Digital Output (DO) channels, it provides additional functionality to merge line channels into port channels. [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 69 | /// channels. For Digital Output (DO) channels, it provides additional functionality to merge line channels into port channels. [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> src/device.rs:72:5 [INFO] [stdout] | [INFO] [stdout] 72 | /// central to signal generation, allowing for the sampling of float-point values from compiled instructions based on [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 72 | /// central to signal generation, allowing for the sampling of float-point values from compiled instructions based on [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> src/device.rs:73:5 [INFO] [stdout] | [INFO] [stdout] 73 | /// various criteria. [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 73 | /// various criteria. [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> src/device.rs:76:5 [INFO] [stdout] | [INFO] [stdout] 76 | /// task types, aiding in operations like identifying unique ports in Digital Output (DO) devices. [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 76 | /// task types, aiding in operations like identifying unique ports in Digital Output (DO) devices. [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`f64` -> `f64`) [INFO] [stdout] --> src/device.rs:308:41 [INFO] [stdout] | [INFO] [stdout] 308 | instr_val[i] += *chan_value as f64 * 2.0f64.powf(line as f64); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: try: `*chan_value` [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: doc list item overindented [INFO] [stdout] --> src/device.rs:393:9 [INFO] [stdout] | [INFO] [stdout] 393 | /// the second axis corresponds to the sample index. [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] [INFO] [stdout] [INFO] [stdout] warning: doc list item overindented [INFO] [stdout] --> src/device.rs:550:5 [INFO] [stdout] | [INFO] [stdout] 550 | /// Supply `None` for trivial triggering behavior. [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] [INFO] [stdout] [INFO] [stdout] warning: doc list item overindented [INFO] [stdout] --> src/device.rs:552:5 [INFO] [stdout] | [INFO] [stdout] 552 | /// exports the start trigger of the NI-task associated with this device through `trig_line`. If `false` or `None`, [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] [INFO] [stdout] [INFO] [stdout] warning: doc list item overindented [INFO] [stdout] --> src/device.rs:553:5 [INFO] [stdout] | [INFO] [stdout] 553 | /// the device is set to import the start trigger. In case that any device in an experiment has nontrivial triggering behavior, [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] [INFO] [stdout] [INFO] [stdout] warning: doc list item overindented [INFO] [stdout] --> src/device.rs:554:5 [INFO] [stdout] | [INFO] [stdout] 554 | /// one and only one of the devices must have `export_trig` set to `true`. [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] [INFO] [stdout] [INFO] [stdout] warning: doc list item overindented [INFO] [stdout] --> src/device.rs:557:5 [INFO] [stdout] | [INFO] [stdout] 557 | /// reference clock. If `false` or `None`, it imports the reference clock. Use `None` for trivial behavior. [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] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> src/experiment.rs:35:5 [INFO] [stdout] | [INFO] [stdout] 35 | //! python-exposed wrappers for methods implemented in [`BaseExperiment`] trait. [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 35 | //! python-exposed wrappers for methods implemented in [`BaseExperiment`] trait. [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref on an immutable reference [INFO] [stdout] --> src/experiment.rs:376:59 [INFO] [stdout] | [INFO] [stdout] 376 | .filter_map(|dev| if dev.is_compiled() { Some(&*dev) } else { None }) [INFO] [stdout] | ^^^^^ help: if you would like to reborrow, try removing `&*`: `dev` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#borrow_deref_ref [INFO] [stdout] = note: `#[warn(clippy::borrow_deref_ref)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/experiment.rs:732:13 [INFO] [stdout] | [INFO] [stdout] 732 | / !export_trig [INFO] [stdout] 733 | | || (export_trig [INFO] [stdout] 734 | | && self [INFO] [stdout] 735 | | .devices() [INFO] [stdout] 736 | | .values() [INFO] [stdout] 737 | | .all(|dev| dev.export_trig().is_none())), [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] 732 ~ !(export_trig && !self [INFO] [stdout] 733 + .devices() [INFO] [stdout] 734 + .values() [INFO] [stdout] 735 ~ .all(|dev| dev.export_trig().is_none())), [INFO] [stdout] | [INFO] [stdout] 732 ~ !export_trig || self [INFO] [stdout] 733 + .devices() [INFO] [stdout] 734 + .values() [INFO] [stdout] 735 ~ .all(|dev| dev.export_trig().is_none()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (10/7) [INFO] [stdout] --> src/experiment.rs:985:5 [INFO] [stdout] | [INFO] [stdout] 985 | / fn sine( [INFO] [stdout] 986 | | &mut self, [INFO] [stdout] 987 | | dev_name: &str, [INFO] [stdout] 988 | | chan_name: &str, [INFO] [stdout] ... | [INFO] [stdout] 995 | | dc_offset: Option, [INFO] [stdout] 996 | | ) { [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] = note: `#[warn(clippy::too_many_arguments)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> src/utils.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | //! elapsed time in milliseconds since the UNIX epoch. [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 6 | //! elapsed time in milliseconds since the UNIX epoch. [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> src/utils.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | //! specific string pattern (`port[number]/line[number]`). [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 9 | //! specific string pattern (`port[number]/line[number]`). [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you should consider adding a `Default` implementation for `TickTimer` [INFO] [stdout] --> src/utils.rs:68:5 [INFO] [stdout] | [INFO] [stdout] 68 | / pub fn new() -> Self { [INFO] [stdout] 69 | | let duration = SystemTime::now() [INFO] [stdout] 70 | | .duration_since(UNIX_EPOCH) [INFO] [stdout] 71 | | .expect("Time went backwards"); [INFO] [stdout] ... | [INFO] [stdout] 75 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stdout] help: try adding this [INFO] [stdout] | [INFO] [stdout] 62 + impl Default for TickTimer { [INFO] [stdout] 63 + fn default() -> Self { [INFO] [stdout] 64 + Self::new() [INFO] [stdout] 65 + } [INFO] [stdout] 66 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you should consider adding a `Default` implementation for `Experiment` [INFO] [stdout] --> src/experiment.rs:1460:5 [INFO] [stdout] | [INFO] [stdout] 1460 | / pub fn new() -> Self { [INFO] [stdout] 1461 | | Self { [INFO] [stdout] 1462 | | devices: HashMap::new(), [INFO] [stdout] 1463 | | } [INFO] [stdout] 1464 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stdout] = note: `#[warn(clippy::new_without_default)]` on by default [INFO] [stdout] help: try adding this [INFO] [stdout] | [INFO] [stdout] 1442 + impl Default for Experiment { [INFO] [stdout] 1443 + fn default() -> Self { [INFO] [stdout] 1444 + Self::new() [INFO] [stdout] 1445 + } [INFO] [stdout] 1446 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (8/7) [INFO] [stdout] --> src/experiment.rs:1330:13 [INFO] [stdout] | [INFO] [stdout] 1330 | / pub fn calc_signal( [INFO] [stdout] 1331 | | &mut self, [INFO] [stdout] 1332 | | name: &str, [INFO] [stdout] 1333 | | t_start: f64, [INFO] [stdout] ... | [INFO] [stdout] 1338 | | py: Python, [INFO] [stdout] 1339 | | ) -> PyResult { [INFO] [stdout] | |___________________________________^ [INFO] [stdout] ... [INFO] [stdout] 1467 | impl_exp_boilerplate!(Experiment); [INFO] [stdout] | --------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] = note: this warning originates in the macro `impl_exp_boilerplate` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (10/7) [INFO] [stdout] --> src/experiment.rs:1383:13 [INFO] [stdout] | [INFO] [stdout] 1383 | / pub fn sine( [INFO] [stdout] 1384 | | &mut self, [INFO] [stdout] 1385 | | dev_name: &str, [INFO] [stdout] 1386 | | chan_name: &str, [INFO] [stdout] ... | [INFO] [stdout] 1393 | | dc_offset: Option, [INFO] [stdout] 1394 | | ) { [INFO] [stdout] | |_____________^ [INFO] [stdout] ... [INFO] [stdout] 1467 | impl_exp_boilerplate!(Experiment); [INFO] [stdout] | --------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] = note: this warning originates in the macro `impl_exp_boilerplate` (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/experiment.rs:1441:1 [INFO] [stdout] | [INFO] [stdout] 1441 | #[pymethods] [INFO] [stdout] | -^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `PyClassImplCollector` is not local [INFO] [stdout] | `PyClassNewTextSignature` is not local [INFO] [stdout] | move the `impl` block outside of this function `trampoline` and up 4 bodies [INFO] [stdout] 1442 | impl Experiment { [INFO] [stdout] | ---------- [INFO] [stdout] | | [INFO] [stdout] | `Experiment` is not local [INFO] [stdout] | `Experiment` is not local [INFO] [stdout] | [INFO] [stdout] = note: the attribute macro `pymethods` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the attribute macro `pymethods` may come from an old version of the `pyo3_macros` crate, try updating your dependency with `cargo update -p pyo3_macros` [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: `#[warn(non_local_definitions)]` on by default [INFO] [stdout] = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> src/utils.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | //! elapsed time in milliseconds since the UNIX epoch. [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 6 | //! elapsed time in milliseconds since the UNIX epoch. [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> src/utils.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | //! specific string pattern (`port[number]/line[number]`). [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 9 | //! specific string pattern (`port[number]/line[number]`). [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you should consider adding a `Default` implementation for `TickTimer` [INFO] [stdout] --> src/utils.rs:68:5 [INFO] [stdout] | [INFO] [stdout] 68 | / pub fn new() -> Self { [INFO] [stdout] 69 | | let duration = SystemTime::now() [INFO] [stdout] 70 | | .duration_since(UNIX_EPOCH) [INFO] [stdout] 71 | | .expect("Time went backwards"); [INFO] [stdout] ... | [INFO] [stdout] 75 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stdout] help: try adding this [INFO] [stdout] | [INFO] [stdout] 62 + impl Default for TickTimer { [INFO] [stdout] 63 + fn default() -> Self { [INFO] [stdout] 64 + Self::new() [INFO] [stdout] 65 + } [INFO] [stdout] 66 + } [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/experiment.rs:1441:1 [INFO] [stdout] | [INFO] [stdout] 1441 | #[pymethods] [INFO] [stdout] | -^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `PyClassImplCollector` is not local [INFO] [stdout] | `PyClassNewTextSignature` is not local [INFO] [stdout] | move the `impl` block outside of this function `trampoline` and up 4 bodies [INFO] [stdout] 1442 | impl Experiment { [INFO] [stdout] | ---------- [INFO] [stdout] | | [INFO] [stdout] | `Experiment` is not local [INFO] [stdout] | `Experiment` is not local [INFO] [stdout] | [INFO] [stdout] = note: the attribute macro `pymethods` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the attribute macro `pymethods` may come from an old version of the `pyo3_macros` crate, try updating your dependency with `cargo update -p pyo3_macros` [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: `#[warn(non_local_definitions)]` on by default [INFO] [stdout] = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 19.13s [INFO] running `Command { std: "docker" "inspect" "c997690a5ccc56e53a9cda992945e968c977e659f8daa0f5ca5efa909d48f610", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "c997690a5ccc56e53a9cda992945e968c977e659f8daa0f5ca5efa909d48f610", kill_on_drop: false }` [INFO] [stdout] c997690a5ccc56e53a9cda992945e968c977e659f8daa0f5ca5efa909d48f610