[INFO] cloning repository https://github.com/jhnstrk/fitreader-rs [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/jhnstrk/fitreader-rs" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjhnstrk%2Ffitreader-rs", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjhnstrk%2Ffitreader-rs'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] dafd2ebf3777fa53deb0460d073bbaa6673b60a9 [INFO] linting jhnstrk/fitreader-rs against nightly for clippy-nonminimal_bool-denied [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjhnstrk%2Ffitreader-rs" "/workspace/builds/worker-4-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/jhnstrk/fitreader-rs [INFO] finished tweaking git repo https://github.com/jhnstrk/fitreader-rs [INFO] tweaked toml for git repo https://github.com/jhnstrk/fitreader-rs written to /workspace/builds/worker-4-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/jhnstrk/fitreader-rs 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 git repo https://github.com/jhnstrk/fitreader-rs 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] Downloading crates ... [INFO] [stderr] Downloaded syn v1.0.93 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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] b5de62fbb4382165b7b8080176a2ae96486249f4fe9431b94e56bf712158add4 [INFO] running `Command { std: "docker" "start" "-a" "b5de62fbb4382165b7b8080176a2ae96486249f4fe9431b94e56bf712158add4", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "b5de62fbb4382165b7b8080176a2ae96486249f4fe9431b94e56bf712158add4", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "b5de62fbb4382165b7b8080176a2ae96486249f4fe9431b94e56bf712158add4", kill_on_drop: false }` [INFO] [stdout] b5de62fbb4382165b7b8080176a2ae96486249f4fe9431b94e56bf712158add4 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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] 06d8152e792898fb351dacb647d7656a55230f677c5731396dcea6e81a64db79 [INFO] running `Command { std: "docker" "start" "-a" "06d8152e792898fb351dacb647d7656a55230f677c5731396dcea6e81a64db79", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.125 [INFO] [stderr] Compiling proc-macro2 v1.0.38 [INFO] [stderr] Compiling num-traits v0.2.15 [INFO] [stderr] Compiling syn v1.0.93 [INFO] [stderr] Checking regex-syntax v0.6.25 [INFO] [stderr] Compiling serde v1.0.137 [INFO] [stderr] Compiling num-integer v0.1.45 [INFO] [stderr] Checking aho-corasick v0.7.18 [INFO] [stderr] Checking atty v0.2.14 [INFO] [stderr] Checking time v0.1.44 [INFO] [stderr] Compiling quote v1.0.18 [INFO] [stderr] Checking regex v1.5.5 [INFO] [stderr] Checking chrono v0.4.19 [INFO] [stderr] Checking env_logger v0.9.0 [INFO] [stderr] Checking serde_json v1.0.81 [INFO] [stderr] Compiling serde_derive v1.0.137 [INFO] [stderr] Checking fit_reader v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unnecessary parentheses around match arm expression [INFO] [stdout] --> src/fittypes.rs:276:46 [INFO] [stdout] | [INFO] [stdout] 276 | FitFieldData::FitString(x, _) => (!x.is_empty()), [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 276 - FitFieldData::FitString(x, _) => (!x.is_empty()), [INFO] [stdout] 276 + FitFieldData::FitString(x, _) => !x.is_empty(), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `FitDeveloperFieldDefinition` [INFO] [stdout] --> src/fitdatamesg.rs:5:156 [INFO] [stdout] | [INFO] [stdout] 5 | ...aDescription, FitDevDataField, FitFileDeveloperId, FitDeveloperFieldDefinition}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around match arm expression [INFO] [stdout] --> src/fittypes.rs:276:46 [INFO] [stdout] | [INFO] [stdout] 276 | FitFieldData::FitString(x, _) => (!x.is_empty()), [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 276 - FitFieldData::FitString(x, _) => (!x.is_empty()), [INFO] [stdout] 276 + FitFieldData::FitString(x, _) => !x.is_empty(), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `FitDeveloperFieldDefinition` [INFO] [stdout] --> src/fitdatamesg.rs:5:156 [INFO] [stdout] | [INFO] [stdout] 5 | ...aDescription, FitDevDataField, FitFileDeveloperId, FitDeveloperFieldDefinition}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/fitdatamesg.rs:195:17 [INFO] [stdout] | [INFO] [stdout] 195 | let mut developer_id: FitFileDeveloperId = Default::default(); [INFO] [stdout] | ----^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `FitFileReader` is never constructed [INFO] [stdout] --> src/fitfile.rs:25:8 [INFO] [stdout] | [INFO] [stdout] 25 | struct FitFileReader { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `read_global_header`, `read_next`, and `source` are never used [INFO] [stdout] --> src/fitfile.rs:32:12 [INFO] [stdout] | [INFO] [stdout] 31 | impl FitFileReader { [INFO] [stdout] | ------------------------------ associated items in this implementation [INFO] [stdout] 32 | pub fn new(source: R) -> FitFileReader { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 38 | pub fn read_global_header(&mut self) -> std::io::Result< FitFileHeader > { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 44 | pub fn read_next(&mut self) -> std::io::Result { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 64 | pub fn source(&self) -> &R {&self.source} [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `FitFileWriter` is never constructed [INFO] [stdout] --> src/fitfile.rs:67:8 [INFO] [stdout] | [INFO] [stdout] 67 | struct FitFileWriter { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `write_global_header`, `write_next`, `finalize`, and `target` are never used [INFO] [stdout] --> src/fitfile.rs:74:12 [INFO] [stdout] | [INFO] [stdout] 73 | impl FitFileWriter { [INFO] [stdout] | --------------------------------------------- associated items in this implementation [INFO] [stdout] 74 | pub fn new(target: W) -> FitFileWriter { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 80 | pub fn write_global_header(&mut self, header: &FitFileHeader) -> std::io::Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 86 | pub fn write_next(&mut self, rec: &FitRecord) -> std::io::Result<()> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 90 | pub fn finalize(&mut self) -> std::io::Result<()> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 105 | pub fn target(&self) -> &W {&self.target} [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/fitcrc.rs:16:9 [INFO] [stdout] | [INFO] [stdout] 16 | return FitCrc { crc: 0, }; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] = note: `#[warn(clippy::needless_return)]` on by default [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 16 - return FitCrc { crc: 0, }; [INFO] [stdout] 16 + FitCrc { crc: 0, } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/fitcrc.rs:46:9 [INFO] [stdout] | [INFO] [stdout] 46 | return Ok(context.digest()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 46 - return Ok(context.digest()); [INFO] [stdout] 46 + Ok(context.digest()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/fitcrc.rs:44:13 [INFO] [stdout] | [INFO] [stdout] 44 | remain = remain - (n as u64); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `remain -= (n as u64)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] = note: `#[warn(clippy::assign_op_pattern)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/fitcrc.rs:53:9 [INFO] [stdout] | [INFO] [stdout] 53 | return Ok(crc); [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 53 - return Ok(crc); [INFO] [stdout] 53 + Ok(crc) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/fitcrc.rs:60:9 [INFO] [stdout] | [INFO] [stdout] 60 | return Ok (crc_read == crc_computed); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 60 - return Ok (crc_read == crc_computed); [INFO] [stdout] 60 + Ok (crc_read == crc_computed) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/fitcrc.rs:66:5 [INFO] [stdout] | [INFO] [stdout] 66 | return context.digest(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 66 - return context.digest(); [INFO] [stdout] 66 + context.digest() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/fitcrc.rs:85:5 [INFO] [stdout] | [INFO] [stdout] 85 | return Ok(context.digest()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 85 - return Ok(context.digest()); [INFO] [stdout] 85 + Ok(context.digest()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/fitcrc.rs:105:5 [INFO] [stdout] | [INFO] [stdout] 105 | return crc; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 105 - return crc; [INFO] [stdout] 105 + crc [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/fitread.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | return Ok(byte); [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 11 - return Ok(byte); [INFO] [stdout] 11 + Ok(byte) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/fitread.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | context.data_bytes_read = context.data_bytes_read + 1; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `context.data_bytes_read += 1` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/fitread.rs:19:5 [INFO] [stdout] | [INFO] [stdout] 19 | return Ok(byte as i8); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 19 - return Ok(byte as i8); [INFO] [stdout] 19 + Ok(byte as i8) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/fitread.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 17 | context.data_bytes_read = context.data_bytes_read + 1; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `context.data_bytes_read += 1` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/fitread.rs:35:5 [INFO] [stdout] | [INFO] [stdout] 35 | return Ok(v); [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 35 - return Ok(v); [INFO] [stdout] 35 + Ok(v) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this can be `std::io::Error::other(_)` [INFO] [stdout] --> src/fitread.rs:31:29 [INFO] [stdout] | [INFO] [stdout] 31 | None => return Err( std::io::Error::new(std::io::ErrorKind::Other, "Endianness not set")) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#io_other_error [INFO] [stdout] = note: `#[warn(clippy::io_other_error)]` on by default [INFO] [stdout] help: use `std::io::Error::other` [INFO] [stdout] | [INFO] [stdout] 31 - None => return Err( std::io::Error::new(std::io::ErrorKind::Other, "Endianness not set")) [INFO] [stdout] 31 + None => return Err( std::io::Error::other("Endianness not set")) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/fitread.rs:33:5 [INFO] [stdout] | [INFO] [stdout] 33 | context.data_bytes_read = context.data_bytes_read + 2; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `context.data_bytes_read += 2` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/fitread.rs:52:5 [INFO] [stdout] | [INFO] [stdout] 52 | return Ok(v); [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 52 - return Ok(v); [INFO] [stdout] 52 + Ok(v) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this can be `std::io::Error::other(_)` [INFO] [stdout] --> src/fitread.rs:48:29 [INFO] [stdout] | [INFO] [stdout] 48 | None => return Err( std::io::Error::new(std::io::ErrorKind::Other, "Endianness not set")) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#io_other_error [INFO] [stdout] help: use `std::io::Error::other` [INFO] [stdout] | [INFO] [stdout] 48 - None => return Err( std::io::Error::new(std::io::ErrorKind::Other, "Endianness not set")) [INFO] [stdout] 48 + None => return Err( std::io::Error::other("Endianness not set")) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/fitread.rs:50:5 [INFO] [stdout] | [INFO] [stdout] 50 | context.data_bytes_read = context.data_bytes_read + 2; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `context.data_bytes_read += 2` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/fitread.rs:68:5 [INFO] [stdout] | [INFO] [stdout] 68 | return Ok(v); [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 68 - return Ok(v); [INFO] [stdout] 68 + Ok(v) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this can be `std::io::Error::other(_)` [INFO] [stdout] --> src/fitread.rs:64:29 [INFO] [stdout] | [INFO] [stdout] 64 | None => return Err( std::io::Error::new(std::io::ErrorKind::Other, "Endianness not set")) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#io_other_error [INFO] [stdout] help: use `std::io::Error::other` [INFO] [stdout] | [INFO] [stdout] 64 - None => return Err( std::io::Error::new(std::io::ErrorKind::Other, "Endianness not set")) [INFO] [stdout] 64 + None => return Err( std::io::Error::other("Endianness not set")) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/fitread.rs:66:5 [INFO] [stdout] | [INFO] [stdout] 66 | context.data_bytes_read = context.data_bytes_read + 4; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `context.data_bytes_read += 4` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/fitread.rs:84:5 [INFO] [stdout] | [INFO] [stdout] 84 | return Ok(v); [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 84 - return Ok(v); [INFO] [stdout] 84 + Ok(v) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this can be `std::io::Error::other(_)` [INFO] [stdout] --> src/fitread.rs:80:29 [INFO] [stdout] | [INFO] [stdout] 80 | None => return Err( std::io::Error::new(std::io::ErrorKind::Other, "Endianness not set")) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#io_other_error [INFO] [stdout] help: use `std::io::Error::other` [INFO] [stdout] | [INFO] [stdout] 80 - None => return Err( std::io::Error::new(std::io::ErrorKind::Other, "Endianness not set")) [INFO] [stdout] 80 + None => return Err( std::io::Error::other("Endianness not set")) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/fitread.rs:82:5 [INFO] [stdout] | [INFO] [stdout] 82 | context.data_bytes_read = context.data_bytes_read + 4; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `context.data_bytes_read += 4` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/fitread.rs:100:5 [INFO] [stdout] | [INFO] [stdout] 100 | return Ok(v); [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 100 - return Ok(v); [INFO] [stdout] 100 + Ok(v) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this can be `std::io::Error::other(_)` [INFO] [stdout] --> src/fitread.rs:96:29 [INFO] [stdout] | [INFO] [stdout] 96 | None => return Err( std::io::Error::new(std::io::ErrorKind::Other, "Endianness not set")) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#io_other_error [INFO] [stdout] help: use `std::io::Error::other` [INFO] [stdout] | [INFO] [stdout] 96 - None => return Err( std::io::Error::new(std::io::ErrorKind::Other, "Endianness not set")) [INFO] [stdout] 96 + None => return Err( std::io::Error::other("Endianness not set")) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/fitread.rs:98:5 [INFO] [stdout] | [INFO] [stdout] 98 | context.data_bytes_read = context.data_bytes_read + 8; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `context.data_bytes_read += 8` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/fitread.rs:118:5 [INFO] [stdout] | [INFO] [stdout] 118 | return Ok(v); [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 118 - return Ok(v); [INFO] [stdout] 118 + Ok(v) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this can be `std::io::Error::other(_)` [INFO] [stdout] --> src/fitread.rs:114:29 [INFO] [stdout] | [INFO] [stdout] 114 | None => return Err( std::io::Error::new(std::io::ErrorKind::Other, "Endianness not set")) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#io_other_error [INFO] [stdout] help: use `std::io::Error::other` [INFO] [stdout] | [INFO] [stdout] 114 - None => return Err( std::io::Error::new(std::io::ErrorKind::Other, "Endianness not set")) [INFO] [stdout] 114 + None => return Err( std::io::Error::other("Endianness not set")) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/fitread.rs:116:5 [INFO] [stdout] | [INFO] [stdout] 116 | context.data_bytes_read = context.data_bytes_read + 8; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `context.data_bytes_read += 8` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/fitread.rs:134:5 [INFO] [stdout] | [INFO] [stdout] 134 | return Ok(v); [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 134 - return Ok(v); [INFO] [stdout] 134 + Ok(v) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this can be `std::io::Error::other(_)` [INFO] [stdout] --> src/fitread.rs:130:29 [INFO] [stdout] | [INFO] [stdout] 130 | None => return Err( std::io::Error::new(std::io::ErrorKind::Other, "Endianness not set")) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#io_other_error [INFO] [stdout] help: use `std::io::Error::other` [INFO] [stdout] | [INFO] [stdout] 130 - None => return Err( std::io::Error::new(std::io::ErrorKind::Other, "Endianness not set")) [INFO] [stdout] 130 + None => return Err( std::io::Error::other("Endianness not set")) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/fitread.rs:132:5 [INFO] [stdout] | [INFO] [stdout] 132 | context.data_bytes_read = context.data_bytes_read + 4; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `context.data_bytes_read += 4` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/fitread.rs:150:5 [INFO] [stdout] | [INFO] [stdout] 150 | return Ok(v); [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 150 - return Ok(v); [INFO] [stdout] 150 + Ok(v) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this can be `std::io::Error::other(_)` [INFO] [stdout] --> src/fitread.rs:146:29 [INFO] [stdout] | [INFO] [stdout] 146 | None => return Err( std::io::Error::new(std::io::ErrorKind::Other, "Endianness not set")) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#io_other_error [INFO] [stdout] help: use `std::io::Error::other` [INFO] [stdout] | [INFO] [stdout] 146 - None => return Err( std::io::Error::new(std::io::ErrorKind::Other, "Endianness not set")) [INFO] [stdout] 146 + None => return Err( std::io::Error::other("Endianness not set")) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/fitread.rs:148:5 [INFO] [stdout] | [INFO] [stdout] 148 | context.data_bytes_read = context.data_bytes_read + 8; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `context.data_bytes_read += 8` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/fitread.rs:171:5 [INFO] [stdout] | [INFO] [stdout] 171 | return Ok(the_string.to_string()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 171 - return Ok(the_string.to_string()); [INFO] [stdout] 171 + Ok(the_string.to_string()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/fitwrite.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | return Ok(()); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 9 - return Ok(()); [INFO] [stdout] 9 + Ok(()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/fitwrite.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | context.data_bytes_written = context.data_bytes_written + 1; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `context.data_bytes_written += 1` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/fitwrite.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 15 | return Ok(()); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 15 - return Ok(()); [INFO] [stdout] 15 + Ok(()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/fitwrite.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 14 | context.data_bytes_written = context.data_bytes_written + 1; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `context.data_bytes_written += 1` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/fitwrite.rs:24:5 [INFO] [stdout] | [INFO] [stdout] 24 | return Ok(()); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 24 - return Ok(()); [INFO] [stdout] 24 + Ok(()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this can be `std::io::Error::other(_)` [INFO] [stdout] --> src/fitwrite.rs:21:30 [INFO] [stdout] | [INFO] [stdout] 21 | None => return Err( std::io::Error::new(std::io::ErrorKind::Other, "Endianness not set")) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#io_other_error [INFO] [stdout] help: use `std::io::Error::other` [INFO] [stdout] | [INFO] [stdout] 21 - None => return Err( std::io::Error::new(std::io::ErrorKind::Other, "Endianness not set")) [INFO] [stdout] 21 + None => return Err( std::io::Error::other("Endianness not set")) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/fitwrite.rs:23:5 [INFO] [stdout] | [INFO] [stdout] 23 | context.data_bytes_written = context.data_bytes_written + 2; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `context.data_bytes_written += 2` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/fitwrite.rs:34:5 [INFO] [stdout] | [INFO] [stdout] 34 | return Ok(()); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 34 - return Ok(()); [INFO] [stdout] 34 + Ok(()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this can be `std::io::Error::other(_)` [INFO] [stdout] --> src/fitwrite.rs:31:30 [INFO] [stdout] | [INFO] [stdout] 31 | None => return Err( std::io::Error::new(std::io::ErrorKind::Other, "Endianness not set")) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#io_other_error [INFO] [stdout] help: use `std::io::Error::other` [INFO] [stdout] | [INFO] [stdout] 31 - None => return Err( std::io::Error::new(std::io::ErrorKind::Other, "Endianness not set")) [INFO] [stdout] 31 + None => return Err( std::io::Error::other("Endianness not set")) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/fitwrite.rs:33:5 [INFO] [stdout] | [INFO] [stdout] 33 | context.data_bytes_written = context.data_bytes_written + 2; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `context.data_bytes_written += 2` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/fitwrite.rs:44:5 [INFO] [stdout] | [INFO] [stdout] 44 | return Ok(()); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 44 - return Ok(()); [INFO] [stdout] 44 + Ok(()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this can be `std::io::Error::other(_)` [INFO] [stdout] --> src/fitwrite.rs:41:30 [INFO] [stdout] | [INFO] [stdout] 41 | None => return Err( std::io::Error::new(std::io::ErrorKind::Other, "Endianness not set")) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#io_other_error [INFO] [stdout] help: use `std::io::Error::other` [INFO] [stdout] | [INFO] [stdout] 41 - None => return Err( std::io::Error::new(std::io::ErrorKind::Other, "Endianness not set")) [INFO] [stdout] 41 + None => return Err( std::io::Error::other("Endianness not set")) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/fitwrite.rs:43:5 [INFO] [stdout] | [INFO] [stdout] 43 | context.data_bytes_written = context.data_bytes_written + 4; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `context.data_bytes_written += 4` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/fitwrite.rs:54:5 [INFO] [stdout] | [INFO] [stdout] 54 | return Ok(()); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 54 - return Ok(()); [INFO] [stdout] 54 + Ok(()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this can be `std::io::Error::other(_)` [INFO] [stdout] --> src/fitwrite.rs:51:30 [INFO] [stdout] | [INFO] [stdout] 51 | None => return Err( std::io::Error::new(std::io::ErrorKind::Other, "Endianness not set")) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#io_other_error [INFO] [stdout] help: use `std::io::Error::other` [INFO] [stdout] | [INFO] [stdout] 51 - None => return Err( std::io::Error::new(std::io::ErrorKind::Other, "Endianness not set")) [INFO] [stdout] 51 + None => return Err( std::io::Error::other("Endianness not set")) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/fitwrite.rs:53:5 [INFO] [stdout] | [INFO] [stdout] 53 | context.data_bytes_written = context.data_bytes_written + 4; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `context.data_bytes_written += 4` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/fitwrite.rs:64:5 [INFO] [stdout] | [INFO] [stdout] 64 | return Ok(()); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 64 - return Ok(()); [INFO] [stdout] 64 + Ok(()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this can be `std::io::Error::other(_)` [INFO] [stdout] --> src/fitwrite.rs:61:30 [INFO] [stdout] | [INFO] [stdout] 61 | None => return Err( std::io::Error::new(std::io::ErrorKind::Other, "Endianness not set")) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#io_other_error [INFO] [stdout] help: use `std::io::Error::other` [INFO] [stdout] | [INFO] [stdout] 61 - None => return Err( std::io::Error::new(std::io::ErrorKind::Other, "Endianness not set")) [INFO] [stdout] 61 + None => return Err( std::io::Error::other("Endianness not set")) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/fitwrite.rs:63:5 [INFO] [stdout] | [INFO] [stdout] 63 | context.data_bytes_written = context.data_bytes_written + 8; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `context.data_bytes_written += 8` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/fitwrite.rs:74:5 [INFO] [stdout] | [INFO] [stdout] 74 | return Ok(()); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 74 - return Ok(()); [INFO] [stdout] 74 + Ok(()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this can be `std::io::Error::other(_)` [INFO] [stdout] --> src/fitwrite.rs:71:30 [INFO] [stdout] | [INFO] [stdout] 71 | None => return Err( std::io::Error::new(std::io::ErrorKind::Other, "Endianness not set")) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#io_other_error [INFO] [stdout] help: use `std::io::Error::other` [INFO] [stdout] | [INFO] [stdout] 71 - None => return Err( std::io::Error::new(std::io::ErrorKind::Other, "Endianness not set")) [INFO] [stdout] 71 + None => return Err( std::io::Error::other("Endianness not set")) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/fitwrite.rs:73:5 [INFO] [stdout] | [INFO] [stdout] 73 | context.data_bytes_written = context.data_bytes_written + 8; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `context.data_bytes_written += 8` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/fitwrite.rs:84:5 [INFO] [stdout] | [INFO] [stdout] 84 | return Ok(()); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 84 - return Ok(()); [INFO] [stdout] 84 + Ok(()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this can be `std::io::Error::other(_)` [INFO] [stdout] --> src/fitwrite.rs:81:30 [INFO] [stdout] | [INFO] [stdout] 81 | None => return Err( std::io::Error::new(std::io::ErrorKind::Other, "Endianness not set")) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#io_other_error [INFO] [stdout] help: use `std::io::Error::other` [INFO] [stdout] | [INFO] [stdout] 81 - None => return Err( std::io::Error::new(std::io::ErrorKind::Other, "Endianness not set")) [INFO] [stdout] 81 + None => return Err( std::io::Error::other("Endianness not set")) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/fitwrite.rs:83:5 [INFO] [stdout] | [INFO] [stdout] 83 | context.data_bytes_written = context.data_bytes_written + 4; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `context.data_bytes_written += 4` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/fitwrite.rs:94:5 [INFO] [stdout] | [INFO] [stdout] 94 | return Ok(()); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 94 - return Ok(()); [INFO] [stdout] 94 + Ok(()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this can be `std::io::Error::other(_)` [INFO] [stdout] --> src/fitwrite.rs:91:30 [INFO] [stdout] | [INFO] [stdout] 91 | None => return Err( std::io::Error::new(std::io::ErrorKind::Other, "Endianness not set")) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#io_other_error [INFO] [stdout] help: use `std::io::Error::other` [INFO] [stdout] | [INFO] [stdout] 91 - None => return Err( std::io::Error::new(std::io::ErrorKind::Other, "Endianness not set")) [INFO] [stdout] 91 + None => return Err( std::io::Error::other("Endianness not set")) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/fitdatamesg.rs:195:17 [INFO] [stdout] | [INFO] [stdout] 195 | let mut developer_id: FitFileDeveloperId = Default::default(); [INFO] [stdout] | ----^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/fitwrite.rs:93:5 [INFO] [stdout] | [INFO] [stdout] 93 | context.data_bytes_written = context.data_bytes_written + 8; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `context.data_bytes_written += 8` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/fitwrite.rs:114:5 [INFO] [stdout] | [INFO] [stdout] 114 | return Ok(()); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 114 - return Ok(()); [INFO] [stdout] 114 + Ok(()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `_i` is only used to index `vbytes` [INFO] [stdout] --> src/fitwrite.rs:106:15 [INFO] [stdout] | [INFO] [stdout] 106 | for _i in 0..string_bytes { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] = note: `#[warn(clippy::needless_range_loop)]` on by default [INFO] [stdout] help: consider using an iterator [INFO] [stdout] | [INFO] [stdout] 106 - for _i in 0..string_bytes { [INFO] [stdout] 106 + for in vbytes.iter().take(string_bytes) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/fitwrite.rs:113:5 [INFO] [stdout] | [INFO] [stdout] 113 | context.data_bytes_written = context.data_bytes_written + (sz as u32); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `context.data_bytes_written += (sz as u32)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `impl` can be derived [INFO] [stdout] --> src/fittypes.rs:29:1 [INFO] [stdout] | [INFO] [stdout] 29 | / impl Default for Endianness { [INFO] [stdout] 30 | | fn default() -> Self { Endianness::Little } [INFO] [stdout] 31 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#derivable_impls [INFO] [stdout] = note: `#[warn(clippy::derivable_impls)]` on by default [INFO] [stdout] help: replace the manual implementation with a derive attribute and mark the default variant [INFO] [stdout] | [INFO] [stdout] 25 + #[derive(Default)] [INFO] [stdout] 26 | pub enum Endianness { [INFO] [stdout] 27 ~ #[default] [INFO] [stdout] 28 ~ Little, Big, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this can be `std::io::Error::other(_)` [INFO] [stdout] --> src/fittypes.rs:73:22 [INFO] [stdout] | [INFO] [stdout] 73 | _ => Err(std::io::Error::new(std::io::ErrorKind::Other, "Invalid FIT data type")) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#io_other_error [INFO] [stdout] help: use `std::io::Error::other` [INFO] [stdout] | [INFO] [stdout] 73 - _ => Err(std::io::Error::new(std::io::ErrorKind::Other, "Invalid FIT data type")) [INFO] [stdout] 73 + _ => Err(std::io::Error::other("Invalid FIT data type")) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this can be `std::io::Error::other(_)` [INFO] [stdout] --> src/fittypes.rs:162:22 [INFO] [stdout] | [INFO] [stdout] 162 | _ => Err(std::io::Error::new(std::io::ErrorKind::Other, "Invalid FIT data name")) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#io_other_error [INFO] [stdout] help: use `std::io::Error::other` [INFO] [stdout] | [INFO] [stdout] 162 - _ => Err(std::io::Error::new(std::io::ErrorKind::Other, "Invalid FIT data name")) [INFO] [stdout] 162 + _ => Err(std::io::Error::other("Invalid FIT data name")) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/fittypes.rs:197:34 [INFO] [stdout] | [INFO] [stdout] 197 | fn attempt_to_cast_first(x: &Vec) -> Result [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] = note: `#[warn(clippy::ptr_arg)]` on by default [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 197 - fn attempt_to_cast_first(x: &Vec) -> Result [INFO] [stdout] 197 + fn attempt_to_cast_first(x: &[T]) -> Result [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: accessing first element with `x.get(0)` [INFO] [stdout] --> src/fittypes.rs:200:22 [INFO] [stdout] | [INFO] [stdout] 200 | if let Some(v) = x.get(0) { [INFO] [stdout] | ^^^^^^^^ help: try: `x.first()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_first [INFO] [stdout] = note: `#[warn(clippy::get_first)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `T` which implements the `Copy` trait [INFO] [stdout] --> src/fittypes.rs:201:20 [INFO] [stdout] | [INFO] [stdout] 201 | Ok(U::from(v.clone())) [INFO] [stdout] | ^^^^^^^^^ help: try dereferencing it: `*v` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] = note: `#[warn(clippy::clone_on_copy)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/fittypes.rs:248:5 [INFO] [stdout] | [INFO] [stdout] 248 | return false; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 248 - return false; [INFO] [stdout] 248 + false [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/fittypes.rs:261:5 [INFO] [stdout] | [INFO] [stdout] 261 | return false; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 261 - return false; [INFO] [stdout] 261 + false [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field assignment outside of initializer for an instance created with Default::default() [INFO] [stdout] --> src/fitheader.rs:28:5 [INFO] [stdout] | [INFO] [stdout] 28 | header.header_size = header_rdr.read_u8()?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: consider initializing the variable with `fittypes::FitFileHeader { header_size: header_rdr.read_u8()?, protocol_version: header_rdr.read_u8()?, profile_version: header_rdr.read_u16::()?, data_size: header_rdr.read_u32::()?, ..Default::default() }` and removing relevant reassignments [INFO] [stdout] --> src/fitheader.rs:26:5 [INFO] [stdout] | [INFO] [stdout] 26 | let mut header: FitFileHeader = Default::default(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#field_reassign_with_default [INFO] [stdout] = note: `#[warn(clippy::field_reassign_with_default)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `_i` is only used to index `header_buf` [INFO] [stdout] --> src/fitheader.rs:18:15 [INFO] [stdout] | [INFO] [stdout] 18 | for _i in 0..12 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator [INFO] [stdout] | [INFO] [stdout] 18 - for _i in 0..12 { [INFO] [stdout] 18 + for in &mut header_buf { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting a character literal to `u8` truncates [INFO] [stdout] --> src/fitheader.rs:34:40 [INFO] [stdout] | [INFO] [stdout] 34 | let expected_signature : [u8;4] = ['.' as u8, 'F' as u8, 'I' as u8, 'T' as u8 ]; [INFO] [stdout] | ^^^^^^^^^ help: use a byte literal instead: `b'.'` [INFO] [stdout] | [INFO] [stdout] = note: `char` is four bytes wide, but `u8` is a single byte [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#char_lit_as_u8 [INFO] [stdout] = note: `#[warn(clippy::char_lit_as_u8)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting a character literal to `u8` truncates [INFO] [stdout] --> src/fitheader.rs:34:51 [INFO] [stdout] | [INFO] [stdout] 34 | let expected_signature : [u8;4] = ['.' as u8, 'F' as u8, 'I' as u8, 'T' as u8 ]; [INFO] [stdout] | ^^^^^^^^^ help: use a byte literal instead: `b'F'` [INFO] [stdout] | [INFO] [stdout] = note: `char` is four bytes wide, but `u8` is a single byte [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#char_lit_as_u8 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting a character literal to `u8` truncates [INFO] [stdout] --> src/fitheader.rs:34:62 [INFO] [stdout] | [INFO] [stdout] 34 | let expected_signature : [u8;4] = ['.' as u8, 'F' as u8, 'I' as u8, 'T' as u8 ]; [INFO] [stdout] | ^^^^^^^^^ help: use a byte literal instead: `b'I'` [INFO] [stdout] | [INFO] [stdout] = note: `char` is four bytes wide, but `u8` is a single byte [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#char_lit_as_u8 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting a character literal to `u8` truncates [INFO] [stdout] --> src/fitheader.rs:34:73 [INFO] [stdout] | [INFO] [stdout] 34 | let expected_signature : [u8;4] = ['.' as u8, 'F' as u8, 'I' as u8, 'T' as u8 ]; [INFO] [stdout] | ^^^^^^^^^ help: use a byte literal instead: `b'T'` [INFO] [stdout] | [INFO] [stdout] = note: `char` is four bytes wide, but `u8` is a single byte [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#char_lit_as_u8 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this can be `std::io::Error::other(_)` [INFO] [stdout] --> src/fitheader.rs:36:21 [INFO] [stdout] | [INFO] [stdout] 36 | return Err( std::io::Error::new(std::io::ErrorKind::Other, "Invalid FIT signature")); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#io_other_error [INFO] [stdout] help: use `std::io::Error::other` [INFO] [stdout] | [INFO] [stdout] 36 - return Err( std::io::Error::new(std::io::ErrorKind::Other, "Invalid FIT signature")); [INFO] [stdout] 36 + return Err( std::io::Error::other("Invalid FIT signature")); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this can be `std::io::Error::other(_)` [INFO] [stdout] --> src/fitheader.rs:50:24 [INFO] [stdout] | [INFO] [stdout] 50 | return Err(std::io::Error::new(std::io::ErrorKind::Other, "Header CRC is invalid")); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#io_other_error [INFO] [stdout] help: use `std::io::Error::other` [INFO] [stdout] | [INFO] [stdout] 50 - return Err(std::io::Error::new(std::io::ErrorKind::Other, "Header CRC is invalid")); [INFO] [stdout] 50 + return Err(std::io::Error::other("Header CRC is invalid")); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting a character literal to `u8` truncates [INFO] [stdout] --> src/fitheader.rs:77:35 [INFO] [stdout] | [INFO] [stdout] 77 | let signature: [u8; 4] = ['.' as u8, 'F' as u8, 'I' as u8, 'T' as u8]; [INFO] [stdout] | ^^^^^^^^^ help: use a byte literal instead: `b'.'` [INFO] [stdout] | [INFO] [stdout] = note: `char` is four bytes wide, but `u8` is a single byte [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#char_lit_as_u8 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting a character literal to `u8` truncates [INFO] [stdout] --> src/fitheader.rs:77:46 [INFO] [stdout] | [INFO] [stdout] 77 | let signature: [u8; 4] = ['.' as u8, 'F' as u8, 'I' as u8, 'T' as u8]; [INFO] [stdout] | ^^^^^^^^^ help: use a byte literal instead: `b'F'` [INFO] [stdout] | [INFO] [stdout] = note: `char` is four bytes wide, but `u8` is a single byte [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#char_lit_as_u8 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting a character literal to `u8` truncates [INFO] [stdout] --> src/fitheader.rs:77:57 [INFO] [stdout] | [INFO] [stdout] 77 | let signature: [u8; 4] = ['.' as u8, 'F' as u8, 'I' as u8, 'T' as u8]; [INFO] [stdout] | ^^^^^^^^^ help: use a byte literal instead: `b'I'` [INFO] [stdout] | [INFO] [stdout] = note: `char` is four bytes wide, but `u8` is a single byte [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#char_lit_as_u8 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting a character literal to `u8` truncates [INFO] [stdout] --> src/fitheader.rs:77:68 [INFO] [stdout] | [INFO] [stdout] 77 | let signature: [u8; 4] = ['.' as u8, 'F' as u8, 'I' as u8, 'T' as u8]; [INFO] [stdout] | ^^^^^^^^^ help: use a byte literal instead: `b'T'` [INFO] [stdout] | [INFO] [stdout] = note: `char` is four bytes wide, but `u8` is a single byte [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#char_lit_as_u8 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `_i` is only used to index `header_buf` [INFO] [stdout] --> src/fitheader.rs:84:15 [INFO] [stdout] | [INFO] [stdout] 84 | for _i in 0..12 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator [INFO] [stdout] | [INFO] [stdout] 84 - for _i in 0..12 { [INFO] [stdout] 84 + for in &header_buf { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this can be `std::io::Error::other(_)` [INFO] [stdout] --> src/fitheader.rs:97:20 [INFO] [stdout] | [INFO] [stdout] 97 | return Err(std::io::Error::new(std::io::ErrorKind::Other, "Header size is invalid")); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#io_other_error [INFO] [stdout] help: use `std::io::Error::other` [INFO] [stdout] | [INFO] [stdout] 97 - return Err(std::io::Error::new(std::io::ErrorKind::Other, "Header size is invalid")); [INFO] [stdout] 97 + return Err(std::io::Error::other("Header size is invalid")); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this can be `std::io::Error::other(_)` [INFO] [stdout] --> src/fitdefnmesg.rs:19:20 [INFO] [stdout] | [INFO] [stdout] 19 | return Err(std::io::Error::new(std::io::ErrorKind::Other, "Invalid field: defn_num=255")); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#io_other_error [INFO] [stdout] help: use `std::io::Error::other` [INFO] [stdout] | [INFO] [stdout] 19 - return Err(std::io::Error::new(std::io::ErrorKind::Other, "Invalid field: defn_num=255")); [INFO] [stdout] 19 + return Err(std::io::Error::other("Invalid field: defn_num=255")); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this can be `std::io::Error::other(_)` [INFO] [stdout] --> src/fitdefnmesg.rs:23:20 [INFO] [stdout] | [INFO] [stdout] 23 | return Err(std::io::Error::new(std::io::ErrorKind::Other, "Invalid field: size=0")); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#io_other_error [INFO] [stdout] help: use `std::io::Error::other` [INFO] [stdout] | [INFO] [stdout] 23 - return Err(std::io::Error::new(std::io::ErrorKind::Other, "Invalid field: size=0")); [INFO] [stdout] 23 + return Err(std::io::Error::other("Invalid field: size=0")); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this can be `std::io::Error::other(_)` [INFO] [stdout] --> src/fitdefnmesg.rs:34:20 [INFO] [stdout] | [INFO] [stdout] 34 | return Err(std::io::Error::new(std::io::ErrorKind::Other, "Invalid field: data type>16")); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#io_other_error [INFO] [stdout] help: use `std::io::Error::other` [INFO] [stdout] | [INFO] [stdout] 34 - return Err(std::io::Error::new(std::io::ErrorKind::Other, "Invalid field: data type>16")); [INFO] [stdout] 34 + return Err(std::io::Error::other("Invalid field: data type>16")); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field assignment outside of initializer for an instance created with Default::default() [INFO] [stdout] --> src/fitdefnmesg.rs:64:5 [INFO] [stdout] | [INFO] [stdout] 64 | field_defn.field_defn_num = field_defn_num; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: consider initializing the variable with `fittypes::FitDeveloperFieldDefinition { field_defn_num: field_defn_num, size_in_bytes: size_in_bytes, dev_data_index: dev_data_index }` and removing relevant reassignments [INFO] [stdout] --> src/fitdefnmesg.rs:63:5 [INFO] [stdout] | [INFO] [stdout] 63 | let mut field_defn: FitDeveloperFieldDefinition = Default::default(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#field_reassign_with_default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this can be `std::io::Error::other(_)` [INFO] [stdout] --> src/fitdatamesg.rs:20:32 [INFO] [stdout] | [INFO] [stdout] 20 | None => return Err(std::io::Error::new(std::io::ErrorKind::Other, "Field id not found")), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#io_other_error [INFO] [stdout] help: use `std::io::Error::other` [INFO] [stdout] | [INFO] [stdout] 20 - None => return Err(std::io::Error::new(std::io::ErrorKind::Other, "Field id not found")), [INFO] [stdout] 20 + None => return Err(std::io::Error::other("Field id not found")), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of `Option::map` [INFO] [stdout] --> src/fitdatamesg.rs:60:21 [INFO] [stdout] | [INFO] [stdout] 60 | desc2 = match dev_data.developer_field_definitions.get( [INFO] [stdout] | _____________________^ [INFO] [stdout] 61 | | &field.field_defn_num) { [INFO] [stdout] 62 | | None => {None }, [INFO] [stdout] 63 | | Some(x) => {Some(x.clone())}, [INFO] [stdout] 64 | | }; [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_map [INFO] [stdout] = note: `#[warn(clippy::manual_map)]` on by default [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 60 ~ desc2 = dev_data.developer_field_definitions.get( [INFO] [stdout] 61 ~ &field.field_defn_num).map(|x| x.clone()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: usage of `contains_key` followed by `insert` on a `HashMap` [INFO] [stdout] --> src/fitdatamesg.rs:194:9 [INFO] [stdout] | [INFO] [stdout] 194 | / if !context.developer_ids.contains_key(&dev_data_desc.dev_data_index) { [INFO] [stdout] 195 | | let mut developer_id: FitFileDeveloperId = Default::default(); [INFO] [stdout] 196 | | context.developer_ids.insert(dev_data_desc.dev_data_index, developer_id); [INFO] [stdout] 197 | | } [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_entry [INFO] [stdout] = note: `#[warn(clippy::map_entry)]` on by default [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 194 ~ context.developer_ids.entry(dev_data_desc.dev_data_index).or_insert_with(|| { [INFO] [stdout] 195 + let mut developer_id: FitFileDeveloperId = Default::default(); [INFO] [stdout] 196 + developer_id [INFO] [stdout] 197 + }); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/fitfile.rs:21:9 [INFO] [stdout] | [INFO] [stdout] 21 | return Default::default(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 21 - return Default::default(); [INFO] [stdout] 21 + Default::default() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/fitfile.rs:33:9 [INFO] [stdout] | [INFO] [stdout] 33 | / return FitFileReader{source, [INFO] [stdout] 34 | | context: Default::default(), [INFO] [stdout] 35 | | data_size: None}; [INFO] [stdout] | |____________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 33 ~ FitFileReader{source, [INFO] [stdout] 34 + context: Default::default(), [INFO] [stdout] 35 ~ data_size: None} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/fitfile.rs:41:9 [INFO] [stdout] | [INFO] [stdout] 41 | return Ok(header); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 41 - return Ok(header); [INFO] [stdout] 41 + Ok(header) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/fitfile.rs:51:13 [INFO] [stdout] | [INFO] [stdout] 51 | return read_record(&mut self.context, &mut self.source); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 51 - return read_record(&mut self.context, &mut self.source); [INFO] [stdout] 51 + read_record(&mut self.context, &mut self.source) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/fitfile.rs:56:17 [INFO] [stdout] | [INFO] [stdout] 56 | return Ok(FitRecord::EndOfFile(file_crc)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 56 - return Ok(FitRecord::EndOfFile(file_crc)); [INFO] [stdout] 56 + Ok(FitRecord::EndOfFile(file_crc)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/fitfile.rs:58:17 [INFO] [stdout] | [INFO] [stdout] 58 | return Err(std::io::Error::new(std::io::ErrorKind::Other, "Bad CRC")); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 58 - return Err(std::io::Error::new(std::io::ErrorKind::Other, "Bad CRC")); [INFO] [stdout] 58 + Err(std::io::Error::new(std::io::ErrorKind::Other, "Bad CRC")) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this can be `std::io::Error::other(_)` [INFO] [stdout] --> src/fitfile.rs:58:28 [INFO] [stdout] | [INFO] [stdout] 58 | return Err(std::io::Error::new(std::io::ErrorKind::Other, "Bad CRC")); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#io_other_error [INFO] [stdout] help: use `std::io::Error::other` [INFO] [stdout] | [INFO] [stdout] 58 - return Err(std::io::Error::new(std::io::ErrorKind::Other, "Bad CRC")); [INFO] [stdout] 58 + return Err(std::io::Error::other("Bad CRC")); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `FitFileHeader` which implements the `Copy` trait [INFO] [stdout] --> src/fitfile.rs:81:23 [INFO] [stdout] | [INFO] [stdout] 81 | self.header = header.clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^ help: try dereferencing it: `*header` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/fitfile.rs:113:5 [INFO] [stdout] | [INFO] [stdout] 113 | return read_file_read(&mut file); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 113 - return read_file_read(&mut file); [INFO] [stdout] 113 + read_file_read(&mut file) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field assignment outside of initializer for an instance created with Default::default() [INFO] [stdout] --> src/fitfile.rs:169:5 [INFO] [stdout] | [INFO] [stdout] 169 | out_context.architecture = Some(Endianness::Little); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: consider initializing the variable with `fittypes::FitFileContext { architecture: Some(Endianness::Little), ..Default::default() }` and removing relevant reassignments [INFO] [stdout] --> src/fitfile.rs:168:5 [INFO] [stdout] | [INFO] [stdout] 168 | let mut out_context: FitFileContext = Default::default(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#field_reassign_with_default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this can be `std::io::Error::other(_)` [INFO] [stdout] --> src/fitfile.rs:148:31 [INFO] [stdout] | [INFO] [stdout] 148 | Err(e) => {return Err(std::io::Error::new(std::io::ErrorKind::Other, e));}, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#io_other_error [INFO] [stdout] help: use `std::io::Error::other` [INFO] [stdout] | [INFO] [stdout] 148 - Err(e) => {return Err(std::io::Error::new(std::io::ErrorKind::Other, e));}, [INFO] [stdout] 148 + Err(e) => {return Err(std::io::Error::other(e));}, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `FitFileHeader` which implements the `Copy` trait [INFO] [stdout] --> src/fitfile.rs:170:26 [INFO] [stdout] | [INFO] [stdout] 170 | let mut out_header = (my_file.header).clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `(my_file.header)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `FitFileHeader` which implements the `Copy` trait [INFO] [stdout] --> src/fitfile.rs:172:50 [INFO] [stdout] | [INFO] [stdout] 172 | let new_header_rec = FitRecord::HeaderRecord(out_header.clone()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `out_header` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/fitfile.rs:192:9 [INFO] [stdout] | [INFO] [stdout] 192 | num_rec = num_rec + 1; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `num_rec += 1` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` can be collapsed into the outer `match` [INFO] [stdout] --> src/fitcheck.rs:20:29 [INFO] [stdout] | [INFO] [stdout] 20 | / ... if !x.is_empty() { [INFO] [stdout] 21 | | ... return Some(x[0]) [INFO] [stdout] 22 | | ... }}, [INFO] [stdout] | |_______________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_match [INFO] [stdout] = note: `#[warn(clippy::collapsible_match)]` on by default [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 19 ~ FitFieldData::FitUint32(x) [INFO] [stdout] 20 ~ if !x.is_empty() => { [INFO] [stdout] 21 | return Some(x[0]) [INFO] [stdout] 22 ~ }, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to be trying to use `match` for destructuring a single pattern. Consider using `if let` [INFO] [stdout] --> src/fitcheck.rs:18:21 [INFO] [stdout] | [INFO] [stdout] 18 | / match &f.data { [INFO] [stdout] 19 | | FitFieldData::FitUint32(x) => { [INFO] [stdout] 20 | | if !x.is_empty() { [INFO] [stdout] 21 | | return Some(x[0]) [INFO] [stdout] 22 | | }}, [INFO] [stdout] 23 | | _ => {}, [INFO] [stdout] 24 | | } [INFO] [stdout] | |_____________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stdout] = note: `#[warn(clippy::single_match)]` on by default [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 18 ~ if let FitFieldData::FitUint32(x) = &f.data { [INFO] [stdout] 19 + if !x.is_empty() { [INFO] [stdout] 20 + return Some(x[0]) [INFO] [stdout] 21 + }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: usage of a legacy numeric constant [INFO] [stdout] --> src/fitcheck.rs:37:20 [INFO] [stdout] | [INFO] [stdout] 37 | } else if v >= std::u32::MAX as i64 { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#legacy_numeric_constants [INFO] [stdout] = note: `#[warn(clippy::legacy_numeric_constants)]` on by default [INFO] [stdout] help: use the associated constant instead [INFO] [stdout] | [INFO] [stdout] 37 - } else if v >= std::u32::MAX as i64 { [INFO] [stdout] 37 + } else if v >= u32::MAX as i64 { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: usage of a legacy numeric constant [INFO] [stdout] --> src/fitcheck.rs:38:9 [INFO] [stdout] | [INFO] [stdout] 38 | std::u32::MAX - 1 // MAX is reserved for a bad value. [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#legacy_numeric_constants [INFO] [stdout] help: use the associated constant instead [INFO] [stdout] | [INFO] [stdout] 38 - std::u32::MAX - 1 // MAX is reserved for a bad value. [INFO] [stdout] 38 + u32::MAX - 1 // MAX is reserved for a bad value. [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/fitcheck.rs:61:47 [INFO] [stdout] | [INFO] [stdout] 61 | let timestamp_opt = get_timestamp(&data_message); [INFO] [stdout] | ^^^^^^^^^^^^^ help: change this to: `data_message` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] = note: `#[warn(clippy::needless_borrow)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this can be `std::io::Error::other(_)` [INFO] [stdout] --> src/fitcheck.rs:69:36 [INFO] [stdout] | [INFO] [stdout] 69 | return Err(std::io::Error::new(std::io::ErrorKind::Other, errstr)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#io_other_error [INFO] [stdout] help: use `std::io::Error::other` [INFO] [stdout] | [INFO] [stdout] 69 - return Err(std::io::Error::new(std::io::ErrorKind::Other, errstr)); [INFO] [stdout] 69 + return Err(std::io::Error::other(errstr)); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this can be `std::io::Error::other(_)` [INFO] [stdout] --> src/fitcheck.rs:72:36 [INFO] [stdout] | [INFO] [stdout] 72 | return Err(std::io::Error::new(std::io::ErrorKind::Other, errstr)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#io_other_error [INFO] [stdout] help: use `std::io::Error::other` [INFO] [stdout] | [INFO] [stdout] 72 - return Err(std::io::Error::new(std::io::ErrorKind::Other, errstr)); [INFO] [stdout] 72 + return Err(std::io::Error::other(errstr)); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/fitrecord.rs:77:21 [INFO] [stdout] | [INFO] [stdout] 77 | value_copy = value_copy - *offset_f; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `value_copy -= *offset_f` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/fitrecord.rs:80:21 [INFO] [stdout] | [INFO] [stdout] 80 | value_copy = value_copy / *scale_f; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `value_copy /= *scale_f` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/fitrecord.rs:112:9 [INFO] [stdout] | [INFO] [stdout] 112 | return Value::Null; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 112 - return Value::Null; [INFO] [stdout] 112 + Value::Null [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/fitrecord.rs:114:9 [INFO] [stdout] | [INFO] [stdout] 114 | return Value::from(x[0].clone() ); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 114 - return Value::from(x[0].clone() ); [INFO] [stdout] 114 + Value::from(x[0].clone() ) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/fitrecord.rs:116:9 [INFO] [stdout] | [INFO] [stdout] 116 | return (x.clone()).into(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 116 - return (x.clone()).into(); [INFO] [stdout] 116 + (x.clone()).into() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `source` is never used [INFO] [stdout] --> src/fitfile.rs:64:12 [INFO] [stdout] | [INFO] [stdout] 31 | impl FitFileReader { [INFO] [stdout] | ------------------------------ method in this implementation [INFO] [stdout] ... [INFO] [stdout] 64 | pub fn source(&self) -> &R {&self.source} [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/fitrecord.rs:108:34 [INFO] [stdout] | [INFO] [stdout] 108 | fn handle_fit_value(x: &Vec) -> Value [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 108 ~ fn handle_fit_value(x: &[T]) -> Value [INFO] [stdout] 109 | where Value: std::convert::From + std::convert::From< Vec > [INFO] [stdout] ... [INFO] [stdout] 115 | } else { [INFO] [stdout] 116 ~ return x.to_owned().into(); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/fitrecord.rs:152:16 [INFO] [stdout] | [INFO] [stdout] 152 | if !data_message.timestamp.is_none() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `data_message.timestamp.is_some()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] = note: `#[warn(clippy::nonminimal_bool)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `data_message.timestamp` after checking its variant with `is_none` [INFO] [stdout] --> src/fitrecord.rs:153:29 [INFO] [stdout] | [INFO] [stdout] 152 | if !data_message.timestamp.is_none() { [INFO] [stdout] | -------------------------------- the check is happening here [INFO] [stdout] 153 | let value = data_message.timestamp.unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: try using `match` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] = note: `#[warn(clippy::unnecessary_unwrap)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `message` after checking its variant with `is_some` [INFO] [stdout] --> src/fitrecord.rs:169:34 [INFO] [stdout] | [INFO] [stdout] 168 | if message.is_some() { [INFO] [stdout] | -------------------- help: try: `if let Some() = message` [INFO] [stdout] 169 | field_desc = message.unwrap().find_field(ifield.field_defn_num); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `field_desc` after checking its variant with `is_some` [INFO] [stdout] --> src/fitrecord.rs:172:34 [INFO] [stdout] | [INFO] [stdout] 171 | if field_desc.is_some() { [INFO] [stdout] | ----------------------- help: try: `if let Some() = field_desc` [INFO] [stdout] 172 | field_name = field_desc.unwrap().field_name.clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `field_desc` after checking its variant with `is_some` [INFO] [stdout] --> src/fitrecord.rs:173:35 [INFO] [stdout] | [INFO] [stdout] 171 | if field_desc.is_some() { [INFO] [stdout] | ----------------------- help: try: `if let Some() = field_desc` [INFO] [stdout] 172 | field_name = field_desc.unwrap().field_name.clone(); [INFO] [stdout] 173 | field_units = field_desc.unwrap().units.clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `field_desc` after checking its variant with `is_some` [INFO] [stdout] --> src/fitrecord.rs:174:39 [INFO] [stdout] | [INFO] [stdout] 171 | if field_desc.is_some() { [INFO] [stdout] | ----------------------- help: try: `if let Some() = field_desc` [INFO] [stdout] ... [INFO] [stdout] 174 | field_type = Some(field_desc.unwrap().field_type.clone()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `field_desc` after checking its variant with `is_some` [INFO] [stdout] --> src/fitrecord.rs:175:35 [INFO] [stdout] | [INFO] [stdout] 171 | if field_desc.is_some() { [INFO] [stdout] | ----------------------- help: try: `if let Some() = field_desc` [INFO] [stdout] ... [INFO] [stdout] 175 | field_scale = field_desc.unwrap().scale.clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `field_desc` after checking its variant with `is_some` [INFO] [stdout] --> src/fitrecord.rs:176:36 [INFO] [stdout] | [INFO] [stdout] 171 | if field_desc.is_some() { [INFO] [stdout] | ----------------------- help: try: `if let Some() = field_desc` [INFO] [stdout] ... [INFO] [stdout] 176 | field_offset = field_desc.unwrap().offset.clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/fitcrc.rs:16:9 [INFO] [stdout] | [INFO] [stdout] 16 | return FitCrc { crc: 0, }; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] = note: `#[warn(clippy::needless_return)]` on by default [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 16 - return FitCrc { crc: 0, }; [INFO] [stdout] 16 + FitCrc { crc: 0, } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `message` after checking its variant with `is_some` [INFO] [stdout] --> src/fitrecord.rs:243:17 [INFO] [stdout] | [INFO] [stdout] 242 | let message_name = if message.is_some() { [INFO] [stdout] | -------------------- help: try: `if let Some() = message` [INFO] [stdout] 243 | message.unwrap().message_name.clone() [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `message` after checking its variant with `is_some` [INFO] [stdout] --> src/fitrecord.rs:273:34 [INFO] [stdout] | [INFO] [stdout] 272 | if message.is_some() { [INFO] [stdout] | -------------------- help: try: `if let Some() = message` [INFO] [stdout] 273 | field_desc = message.unwrap().find_field(ifield.field_defn_num); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `field_desc` after checking its variant with `is_some` [INFO] [stdout] --> src/fitrecord.rs:277:34 [INFO] [stdout] | [INFO] [stdout] 276 | if field_desc.is_some() { [INFO] [stdout] | ----------------------- help: try: `if let Some() = field_desc` [INFO] [stdout] 277 | field_name = field_desc.unwrap().field_name.clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/fitrecord.rs:253:13 [INFO] [stdout] | [INFO] [stdout] 253 | return ("data".to_string(), Value::Object(map)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 253 - return ("data".to_string(), Value::Object(map)); [INFO] [stdout] 253 + ("data".to_string(), Value::Object(map)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/fitrecord.rs:306:13 [INFO] [stdout] | [INFO] [stdout] 306 | return ("definition".to_string(), Value::Object(map)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 306 - return ("definition".to_string(), Value::Object(map)); [INFO] [stdout] 306 + ("definition".to_string(), Value::Object(map)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/fitrecord.rs:311:13 [INFO] [stdout] | [INFO] [stdout] 311 | return ("EOF".to_string(), Value::Object(map)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 311 - return ("EOF".to_string(), Value::Object(map)); [INFO] [stdout] 311 + ("EOF".to_string(), Value::Object(map)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/fitcrc.rs:46:9 [INFO] [stdout] | [INFO] [stdout] 46 | return Ok(context.digest()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 46 - return Ok(context.digest()); [INFO] [stdout] 46 + Ok(context.digest()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Option` which implements the `Copy` trait [INFO] [stdout] --> src/fitrecord.rs:175:35 [INFO] [stdout] | [INFO] [stdout] 175 | field_scale = field_desc.unwrap().scale.clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `field_desc.unwrap().scale` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Option` which implements the `Copy` trait [INFO] [stdout] --> src/fitrecord.rs:176:36 [INFO] [stdout] | [INFO] [stdout] 176 | field_offset = field_desc.unwrap().offset.clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `field_desc.unwrap().offset` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/fitcrc.rs:44:13 [INFO] [stdout] | [INFO] [stdout] 44 | remain = remain - (n as u64); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `remain -= (n as u64)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] = note: `#[warn(clippy::assign_op_pattern)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/fitcrc.rs:53:9 [INFO] [stdout] | [INFO] [stdout] 53 | return Ok(crc); [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 53 - return Ok(crc); [INFO] [stdout] 53 + Ok(crc) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/fitcrc.rs:60:9 [INFO] [stdout] | [INFO] [stdout] 60 | return Ok (crc_read == crc_computed); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 60 - return Ok (crc_read == crc_computed); [INFO] [stdout] 60 + Ok (crc_read == crc_computed) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/fitcrc.rs:66:5 [INFO] [stdout] | [INFO] [stdout] 66 | return context.digest(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 66 - return context.digest(); [INFO] [stdout] 66 + context.digest() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/fitcrc.rs:85:5 [INFO] [stdout] | [INFO] [stdout] 85 | return Ok(context.digest()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 85 - return Ok(context.digest()); [INFO] [stdout] 85 + Ok(context.digest()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/fitcrc.rs:105:5 [INFO] [stdout] | [INFO] [stdout] 105 | return crc; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 105 - return crc; [INFO] [stdout] 105 + crc [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded late initialization [INFO] [stdout] --> src/fitrecord.rs:275:17 [INFO] [stdout] | [INFO] [stdout] 275 | let field_name: String; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_late_init [INFO] [stdout] = note: `#[warn(clippy::needless_late_init)]` on by default [INFO] [stdout] help: move the declaration `field_name` here and remove the assignments from the branches [INFO] [stdout] | [INFO] [stdout] 275 ~ [INFO] [stdout] 276 ~ let field_name: String = if field_desc.is_some() { [INFO] [stdout] 277 ~ field_desc.unwrap().field_name.clone() [INFO] [stdout] 278 | } else { [INFO] [stdout] ... [INFO] [stdout] 281 | let field_string = format!("Field_{}", ifield.field_defn_num); [INFO] [stdout] 282 ~ field_string [INFO] [stdout] 283 ~ }; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/fitrecord.rs:303:16 [INFO] [stdout] | [INFO] [stdout] 303 | if dev_field_vec.len() > 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: using `!is_empty` is clearer and more explicit: `!dev_field_vec.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: unneeded `return` statement [INFO] [stdout] --> src/fitrecord.rs:340:13 [INFO] [stdout] | [INFO] [stdout] 340 | / return Ok(FitRecord::DefinitionMessage( [INFO] [stdout] 341 | | fitdefnmesg::read_definition_message( context, reader, local_message_type, is_developer)?)); [INFO] [stdout] | |___________________________________________________________________________________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 340 ~ Ok(FitRecord::DefinitionMessage( [INFO] [stdout] 341 ~ fitdefnmesg::read_definition_message( context, reader, local_message_type, is_developer)?)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/fitrecord.rs:344:13 [INFO] [stdout] | [INFO] [stdout] 344 | / return Ok(FitRecord::DataRecord( [INFO] [stdout] 345 | | fitdatamesg::read_data_message( context, reader, local_message_type, None)?)); [INFO] [stdout] | |_____________________________________________________________________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 344 ~ Ok(FitRecord::DataRecord( [INFO] [stdout] 345 ~ fitdatamesg::read_data_message( context, reader, local_message_type, None)?)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/fitrecord.rs:360:9 [INFO] [stdout] | [INFO] [stdout] 360 | / return Ok(FitRecord::DataRecord( [INFO] [stdout] 361 | | fitdatamesg::read_data_message( context, reader, local_message_type, Some(new_timestamp))?) ); [INFO] [stdout] | |_________________________________________________________________________________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 360 ~ Ok(FitRecord::DataRecord( [INFO] [stdout] 361 ~ fitdatamesg::read_data_message( context, reader, local_message_type, Some(new_timestamp))?) ) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/fitread.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | return Ok(byte); [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 11 - return Ok(byte); [INFO] [stdout] 11 + Ok(byte) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this can be `std::io::Error::other(_)` [INFO] [stdout] --> src/fitrecord.rs:328:24 [INFO] [stdout] | [INFO] [stdout] 328 | return Err(std::io::Error::new(std::io::ErrorKind::Other, "Reserved bit is set.")); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#io_other_error [INFO] [stdout] help: use `std::io::Error::other` [INFO] [stdout] | [INFO] [stdout] 328 - return Err(std::io::Error::new(std::io::ErrorKind::Other, "Reserved bit is set.")); [INFO] [stdout] 328 + return Err(std::io::Error::other("Reserved bit is set.")); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/fitread.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | context.data_bytes_read = context.data_bytes_read + 1; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `context.data_bytes_read += 1` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/fitread.rs:19:5 [INFO] [stdout] | [INFO] [stdout] 19 | return Ok(byte as i8); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 19 - return Ok(byte as i8); [INFO] [stdout] 19 + Ok(byte as i8) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/fitread.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 17 | context.data_bytes_read = context.data_bytes_read + 1; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `context.data_bytes_read += 1` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/fitread.rs:35:5 [INFO] [stdout] | [INFO] [stdout] 35 | return Ok(v); [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 35 - return Ok(v); [INFO] [stdout] 35 + Ok(v) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this can be `std::io::Error::other(_)` [INFO] [stdout] --> src/fitread.rs:31:29 [INFO] [stdout] | [INFO] [stdout] 31 | None => return Err( std::io::Error::new(std::io::ErrorKind::Other, "Endianness not set")) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#io_other_error [INFO] [stdout] = note: `#[warn(clippy::io_other_error)]` on by default [INFO] [stdout] help: use `std::io::Error::other` [INFO] [stdout] | [INFO] [stdout] 31 - None => return Err( std::io::Error::new(std::io::ErrorKind::Other, "Endianness not set")) [INFO] [stdout] 31 + None => return Err( std::io::Error::other("Endianness not set")) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/fitread.rs:33:5 [INFO] [stdout] | [INFO] [stdout] 33 | context.data_bytes_read = context.data_bytes_read + 2; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `context.data_bytes_read += 2` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/fitread.rs:52:5 [INFO] [stdout] | [INFO] [stdout] 52 | return Ok(v); [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 52 - return Ok(v); [INFO] [stdout] 52 + Ok(v) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this can be `std::io::Error::other(_)` [INFO] [stdout] --> src/fitread.rs:48:29 [INFO] [stdout] | [INFO] [stdout] 48 | None => return Err( std::io::Error::new(std::io::ErrorKind::Other, "Endianness not set")) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#io_other_error [INFO] [stdout] help: use `std::io::Error::other` [INFO] [stdout] | [INFO] [stdout] 48 - None => return Err( std::io::Error::new(std::io::ErrorKind::Other, "Endianness not set")) [INFO] [stdout] 48 + None => return Err( std::io::Error::other("Endianness not set")) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/fitread.rs:50:5 [INFO] [stdout] | [INFO] [stdout] 50 | context.data_bytes_read = context.data_bytes_read + 2; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `context.data_bytes_read += 2` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/fitread.rs:68:5 [INFO] [stdout] | [INFO] [stdout] 68 | return Ok(v); [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 68 - return Ok(v); [INFO] [stdout] 68 + Ok(v) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this can be `std::io::Error::other(_)` [INFO] [stdout] --> src/fitread.rs:64:29 [INFO] [stdout] | [INFO] [stdout] 64 | None => return Err( std::io::Error::new(std::io::ErrorKind::Other, "Endianness not set")) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#io_other_error [INFO] [stdout] help: use `std::io::Error::other` [INFO] [stdout] | [INFO] [stdout] 64 - None => return Err( std::io::Error::new(std::io::ErrorKind::Other, "Endianness not set")) [INFO] [stdout] 64 + None => return Err( std::io::Error::other("Endianness not set")) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/fitread.rs:66:5 [INFO] [stdout] | [INFO] [stdout] 66 | context.data_bytes_read = context.data_bytes_read + 4; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `context.data_bytes_read += 4` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/fitread.rs:84:5 [INFO] [stdout] | [INFO] [stdout] 84 | return Ok(v); [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 84 - return Ok(v); [INFO] [stdout] 84 + Ok(v) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this can be `std::io::Error::other(_)` [INFO] [stdout] --> src/fitread.rs:80:29 [INFO] [stdout] | [INFO] [stdout] 80 | None => return Err( std::io::Error::new(std::io::ErrorKind::Other, "Endianness not set")) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#io_other_error [INFO] [stdout] help: use `std::io::Error::other` [INFO] [stdout] | [INFO] [stdout] 80 - None => return Err( std::io::Error::new(std::io::ErrorKind::Other, "Endianness not set")) [INFO] [stdout] 80 + None => return Err( std::io::Error::other("Endianness not set")) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/fitread.rs:82:5 [INFO] [stdout] | [INFO] [stdout] 82 | context.data_bytes_read = context.data_bytes_read + 4; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `context.data_bytes_read += 4` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/fitread.rs:100:5 [INFO] [stdout] | [INFO] [stdout] 100 | return Ok(v); [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 100 - return Ok(v); [INFO] [stdout] 100 + Ok(v) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this can be `std::io::Error::other(_)` [INFO] [stdout] --> src/fitread.rs:96:29 [INFO] [stdout] | [INFO] [stdout] 96 | None => return Err( std::io::Error::new(std::io::ErrorKind::Other, "Endianness not set")) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#io_other_error [INFO] [stdout] help: use `std::io::Error::other` [INFO] [stdout] | [INFO] [stdout] 96 - None => return Err( std::io::Error::new(std::io::ErrorKind::Other, "Endianness not set")) [INFO] [stdout] 96 + None => return Err( std::io::Error::other("Endianness not set")) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/fitread.rs:98:5 [INFO] [stdout] | [INFO] [stdout] 98 | context.data_bytes_read = context.data_bytes_read + 8; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `context.data_bytes_read += 8` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/fitread.rs:118:5 [INFO] [stdout] | [INFO] [stdout] 118 | return Ok(v); [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 118 - return Ok(v); [INFO] [stdout] 118 + Ok(v) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this can be `std::io::Error::other(_)` [INFO] [stdout] --> src/fitread.rs:114:29 [INFO] [stdout] | [INFO] [stdout] 114 | None => return Err( std::io::Error::new(std::io::ErrorKind::Other, "Endianness not set")) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#io_other_error [INFO] [stdout] help: use `std::io::Error::other` [INFO] [stdout] | [INFO] [stdout] 114 - None => return Err( std::io::Error::new(std::io::ErrorKind::Other, "Endianness not set")) [INFO] [stdout] 114 + None => return Err( std::io::Error::other("Endianness not set")) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/fitread.rs:116:5 [INFO] [stdout] | [INFO] [stdout] 116 | context.data_bytes_read = context.data_bytes_read + 8; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `context.data_bytes_read += 8` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/fitread.rs:134:5 [INFO] [stdout] | [INFO] [stdout] 134 | return Ok(v); [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 134 - return Ok(v); [INFO] [stdout] 134 + Ok(v) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this can be `std::io::Error::other(_)` [INFO] [stdout] --> src/fitread.rs:130:29 [INFO] [stdout] | [INFO] [stdout] 130 | None => return Err( std::io::Error::new(std::io::ErrorKind::Other, "Endianness not set")) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#io_other_error [INFO] [stdout] help: use `std::io::Error::other` [INFO] [stdout] | [INFO] [stdout] 130 - None => return Err( std::io::Error::new(std::io::ErrorKind::Other, "Endianness not set")) [INFO] [stdout] 130 + None => return Err( std::io::Error::other("Endianness not set")) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/fitread.rs:132:5 [INFO] [stdout] | [INFO] [stdout] 132 | context.data_bytes_read = context.data_bytes_read + 4; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `context.data_bytes_read += 4` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/fitread.rs:150:5 [INFO] [stdout] | [INFO] [stdout] 150 | return Ok(v); [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 150 - return Ok(v); [INFO] [stdout] 150 + Ok(v) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this can be `std::io::Error::other(_)` [INFO] [stdout] --> src/fitread.rs:146:29 [INFO] [stdout] | [INFO] [stdout] 146 | None => return Err( std::io::Error::new(std::io::ErrorKind::Other, "Endianness not set")) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#io_other_error [INFO] [stdout] help: use `std::io::Error::other` [INFO] [stdout] | [INFO] [stdout] 146 - None => return Err( std::io::Error::new(std::io::ErrorKind::Other, "Endianness not set")) [INFO] [stdout] 146 + None => return Err( std::io::Error::other("Endianness not set")) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/fitread.rs:148:5 [INFO] [stdout] | [INFO] [stdout] 148 | context.data_bytes_read = context.data_bytes_read + 8; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `context.data_bytes_read += 8` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/fitread.rs:171:5 [INFO] [stdout] | [INFO] [stdout] 171 | return Ok(the_string.to_string()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 171 - return Ok(the_string.to_string()); [INFO] [stdout] 171 + Ok(the_string.to_string()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/fitwrite.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | return Ok(()); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 9 - return Ok(()); [INFO] [stdout] 9 + Ok(()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/fitwrite.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | context.data_bytes_written = context.data_bytes_written + 1; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `context.data_bytes_written += 1` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/fitwrite.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 15 | return Ok(()); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 15 - return Ok(()); [INFO] [stdout] 15 + Ok(()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/fitwrite.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 14 | context.data_bytes_written = context.data_bytes_written + 1; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `context.data_bytes_written += 1` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/fitwrite.rs:24:5 [INFO] [stdout] | [INFO] [stdout] 24 | return Ok(()); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 24 - return Ok(()); [INFO] [stdout] 24 + Ok(()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this can be `std::io::Error::other(_)` [INFO] [stdout] --> src/fitwrite.rs:21:30 [INFO] [stdout] | [INFO] [stdout] 21 | None => return Err( std::io::Error::new(std::io::ErrorKind::Other, "Endianness not set")) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#io_other_error [INFO] [stdout] help: use `std::io::Error::other` [INFO] [stdout] | [INFO] [stdout] 21 - None => return Err( std::io::Error::new(std::io::ErrorKind::Other, "Endianness not set")) [INFO] [stdout] 21 + None => return Err( std::io::Error::other("Endianness not set")) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/fitwrite.rs:23:5 [INFO] [stdout] | [INFO] [stdout] 23 | context.data_bytes_written = context.data_bytes_written + 2; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `context.data_bytes_written += 2` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/fitwrite.rs:34:5 [INFO] [stdout] | [INFO] [stdout] 34 | return Ok(()); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 34 - return Ok(()); [INFO] [stdout] 34 + Ok(()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this can be `std::io::Error::other(_)` [INFO] [stdout] --> src/fitwrite.rs:31:30 [INFO] [stdout] | [INFO] [stdout] 31 | None => return Err( std::io::Error::new(std::io::ErrorKind::Other, "Endianness not set")) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#io_other_error [INFO] [stdout] help: use `std::io::Error::other` [INFO] [stdout] | [INFO] [stdout] 31 - None => return Err( std::io::Error::new(std::io::ErrorKind::Other, "Endianness not set")) [INFO] [stdout] 31 + None => return Err( std::io::Error::other("Endianness not set")) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/fitwrite.rs:33:5 [INFO] [stdout] | [INFO] [stdout] 33 | context.data_bytes_written = context.data_bytes_written + 2; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `context.data_bytes_written += 2` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/fitwrite.rs:44:5 [INFO] [stdout] | [INFO] [stdout] 44 | return Ok(()); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 44 - return Ok(()); [INFO] [stdout] 44 + Ok(()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this can be `std::io::Error::other(_)` [INFO] [stdout] --> src/fitwrite.rs:41:30 [INFO] [stdout] | [INFO] [stdout] 41 | None => return Err( std::io::Error::new(std::io::ErrorKind::Other, "Endianness not set")) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#io_other_error [INFO] [stdout] help: use `std::io::Error::other` [INFO] [stdout] | [INFO] [stdout] 41 - None => return Err( std::io::Error::new(std::io::ErrorKind::Other, "Endianness not set")) [INFO] [stdout] 41 + None => return Err( std::io::Error::other("Endianness not set")) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/fitwrite.rs:43:5 [INFO] [stdout] | [INFO] [stdout] 43 | context.data_bytes_written = context.data_bytes_written + 4; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `context.data_bytes_written += 4` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/fitwrite.rs:54:5 [INFO] [stdout] | [INFO] [stdout] 54 | return Ok(()); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 54 - return Ok(()); [INFO] [stdout] 54 + Ok(()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this can be `std::io::Error::other(_)` [INFO] [stdout] --> src/fitwrite.rs:51:30 [INFO] [stdout] | [INFO] [stdout] 51 | None => return Err( std::io::Error::new(std::io::ErrorKind::Other, "Endianness not set")) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#io_other_error [INFO] [stdout] help: use `std::io::Error::other` [INFO] [stdout] | [INFO] [stdout] 51 - None => return Err( std::io::Error::new(std::io::ErrorKind::Other, "Endianness not set")) [INFO] [stdout] 51 + None => return Err( std::io::Error::other("Endianness not set")) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/fitwrite.rs:53:5 [INFO] [stdout] | [INFO] [stdout] 53 | context.data_bytes_written = context.data_bytes_written + 4; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `context.data_bytes_written += 4` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/fitwrite.rs:64:5 [INFO] [stdout] | [INFO] [stdout] 64 | return Ok(()); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 64 - return Ok(()); [INFO] [stdout] 64 + Ok(()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this can be `std::io::Error::other(_)` [INFO] [stdout] --> src/fitwrite.rs:61:30 [INFO] [stdout] | [INFO] [stdout] 61 | None => return Err( std::io::Error::new(std::io::ErrorKind::Other, "Endianness not set")) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#io_other_error [INFO] [stdout] help: use `std::io::Error::other` [INFO] [stdout] | [INFO] [stdout] 61 - None => return Err( std::io::Error::new(std::io::ErrorKind::Other, "Endianness not set")) [INFO] [stdout] 61 + None => return Err( std::io::Error::other("Endianness not set")) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/fitwrite.rs:63:5 [INFO] [stdout] | [INFO] [stdout] 63 | context.data_bytes_written = context.data_bytes_written + 8; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `context.data_bytes_written += 8` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/fitwrite.rs:74:5 [INFO] [stdout] | [INFO] [stdout] 74 | return Ok(()); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 74 - return Ok(()); [INFO] [stdout] 74 + Ok(()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this can be `std::io::Error::other(_)` [INFO] [stdout] --> src/fitwrite.rs:71:30 [INFO] [stdout] | [INFO] [stdout] 71 | None => return Err( std::io::Error::new(std::io::ErrorKind::Other, "Endianness not set")) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#io_other_error [INFO] [stdout] help: use `std::io::Error::other` [INFO] [stdout] | [INFO] [stdout] 71 - None => return Err( std::io::Error::new(std::io::ErrorKind::Other, "Endianness not set")) [INFO] [stdout] 71 + None => return Err( std::io::Error::other("Endianness not set")) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/fitwrite.rs:73:5 [INFO] [stdout] | [INFO] [stdout] 73 | context.data_bytes_written = context.data_bytes_written + 8; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `context.data_bytes_written += 8` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/fitwrite.rs:84:5 [INFO] [stdout] | [INFO] [stdout] 84 | return Ok(()); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 84 - return Ok(()); [INFO] [stdout] 84 + Ok(()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this can be `std::io::Error::other(_)` [INFO] [stdout] --> src/fitwrite.rs:81:30 [INFO] [stdout] | [INFO] [stdout] 81 | None => return Err( std::io::Error::new(std::io::ErrorKind::Other, "Endianness not set")) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#io_other_error [INFO] [stdout] help: use `std::io::Error::other` [INFO] [stdout] | [INFO] [stdout] 81 - None => return Err( std::io::Error::new(std::io::ErrorKind::Other, "Endianness not set")) [INFO] [stdout] 81 + None => return Err( std::io::Error::other("Endianness not set")) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/fitwrite.rs:83:5 [INFO] [stdout] | [INFO] [stdout] 83 | context.data_bytes_written = context.data_bytes_written + 4; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `context.data_bytes_written += 4` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/fitwrite.rs:94:5 [INFO] [stdout] | [INFO] [stdout] 94 | return Ok(()); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 94 - return Ok(()); [INFO] [stdout] 94 + Ok(()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this can be `std::io::Error::other(_)` [INFO] [stdout] --> src/fitwrite.rs:91:30 [INFO] [stdout] | [INFO] [stdout] 91 | None => return Err( std::io::Error::new(std::io::ErrorKind::Other, "Endianness not set")) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#io_other_error [INFO] [stdout] help: use `std::io::Error::other` [INFO] [stdout] | [INFO] [stdout] 91 - None => return Err( std::io::Error::new(std::io::ErrorKind::Other, "Endianness not set")) [INFO] [stdout] 91 + None => return Err( std::io::Error::other("Endianness not set")) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/fitwrite.rs:93:5 [INFO] [stdout] | [INFO] [stdout] 93 | context.data_bytes_written = context.data_bytes_written + 8; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `context.data_bytes_written += 8` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/fitwrite.rs:114:5 [INFO] [stdout] | [INFO] [stdout] 114 | return Ok(()); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 114 - return Ok(()); [INFO] [stdout] 114 + Ok(()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `_i` is only used to index `vbytes` [INFO] [stdout] --> src/fitwrite.rs:106:15 [INFO] [stdout] | [INFO] [stdout] 106 | for _i in 0..string_bytes { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] = note: `#[warn(clippy::needless_range_loop)]` on by default [INFO] [stdout] help: consider using an iterator [INFO] [stdout] | [INFO] [stdout] 106 - for _i in 0..string_bytes { [INFO] [stdout] 106 + for in vbytes.iter().take(string_bytes) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/fitwrite.rs:113:5 [INFO] [stdout] | [INFO] [stdout] 113 | context.data_bytes_written = context.data_bytes_written + (sz as u32); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `context.data_bytes_written += (sz as u32)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `impl` can be derived [INFO] [stdout] --> src/fittypes.rs:29:1 [INFO] [stdout] | [INFO] [stdout] 29 | / impl Default for Endianness { [INFO] [stdout] 30 | | fn default() -> Self { Endianness::Little } [INFO] [stdout] 31 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#derivable_impls [INFO] [stdout] = note: `#[warn(clippy::derivable_impls)]` on by default [INFO] [stdout] help: replace the manual implementation with a derive attribute and mark the default variant [INFO] [stdout] | [INFO] [stdout] 25 + #[derive(Default)] [INFO] [stdout] 26 | pub enum Endianness { [INFO] [stdout] 27 ~ #[default] [INFO] [stdout] 28 ~ Little, Big, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this can be `std::io::Error::other(_)` [INFO] [stdout] --> src/fittypes.rs:73:22 [INFO] [stdout] | [INFO] [stdout] 73 | _ => Err(std::io::Error::new(std::io::ErrorKind::Other, "Invalid FIT data type")) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#io_other_error [INFO] [stdout] help: use `std::io::Error::other` [INFO] [stdout] | [INFO] [stdout] 73 - _ => Err(std::io::Error::new(std::io::ErrorKind::Other, "Invalid FIT data type")) [INFO] [stdout] 73 + _ => Err(std::io::Error::other("Invalid FIT data type")) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this can be `std::io::Error::other(_)` [INFO] [stdout] --> src/fittypes.rs:162:22 [INFO] [stdout] | [INFO] [stdout] 162 | _ => Err(std::io::Error::new(std::io::ErrorKind::Other, "Invalid FIT data name")) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#io_other_error [INFO] [stdout] help: use `std::io::Error::other` [INFO] [stdout] | [INFO] [stdout] 162 - _ => Err(std::io::Error::new(std::io::ErrorKind::Other, "Invalid FIT data name")) [INFO] [stdout] 162 + _ => Err(std::io::Error::other("Invalid FIT data name")) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/fittypes.rs:197:34 [INFO] [stdout] | [INFO] [stdout] 197 | fn attempt_to_cast_first(x: &Vec) -> Result [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] = note: `#[warn(clippy::ptr_arg)]` on by default [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 197 - fn attempt_to_cast_first(x: &Vec) -> Result [INFO] [stdout] 197 + fn attempt_to_cast_first(x: &[T]) -> Result [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: accessing first element with `x.get(0)` [INFO] [stdout] --> src/fittypes.rs:200:22 [INFO] [stdout] | [INFO] [stdout] 200 | if let Some(v) = x.get(0) { [INFO] [stdout] | ^^^^^^^^ help: try: `x.first()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_first [INFO] [stdout] = note: `#[warn(clippy::get_first)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `T` which implements the `Copy` trait [INFO] [stdout] --> src/fittypes.rs:201:20 [INFO] [stdout] | [INFO] [stdout] 201 | Ok(U::from(v.clone())) [INFO] [stdout] | ^^^^^^^^^ help: try dereferencing it: `*v` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] = note: `#[warn(clippy::clone_on_copy)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/fittypes.rs:248:5 [INFO] [stdout] | [INFO] [stdout] 248 | return false; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 248 - return false; [INFO] [stdout] 248 + false [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/fittypes.rs:261:5 [INFO] [stdout] | [INFO] [stdout] 261 | return false; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 261 - return false; [INFO] [stdout] 261 + false [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/profile.rs:112:9 [INFO] [stdout] | [INFO] [stdout] 112 | return None; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 112 - return None; [INFO] [stdout] 112 + None [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary transmute [INFO] [stdout] --> src/fittypes.rs:242:13 [INFO] [stdout] | [INFO] [stdout] 242 | std::mem::transmute::(*item) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unnecessary_transmutes)]` on by default [INFO] [stdout] help: replace this with [INFO] [stdout] | [INFO] [stdout] 242 - std::mem::transmute::(*item) [INFO] [stdout] 242 + f32::to_bits(*item) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary transmute [INFO] [stdout] --> src/fittypes.rs:255:13 [INFO] [stdout] | [INFO] [stdout] 255 | std::mem::transmute::(*item) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: replace this with [INFO] [stdout] | [INFO] [stdout] 255 - std::mem::transmute::(*item) [INFO] [stdout] 255 + f64::to_bits(*item) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field assignment outside of initializer for an instance created with Default::default() [INFO] [stdout] --> src/fitheader.rs:28:5 [INFO] [stdout] | [INFO] [stdout] 28 | header.header_size = header_rdr.read_u8()?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: consider initializing the variable with `fittypes::FitFileHeader { header_size: header_rdr.read_u8()?, protocol_version: header_rdr.read_u8()?, profile_version: header_rdr.read_u16::()?, data_size: header_rdr.read_u32::()?, ..Default::default() }` and removing relevant reassignments [INFO] [stdout] --> src/fitheader.rs:26:5 [INFO] [stdout] | [INFO] [stdout] 26 | let mut header: FitFileHeader = Default::default(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#field_reassign_with_default [INFO] [stdout] = note: `#[warn(clippy::field_reassign_with_default)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `_i` is only used to index `header_buf` [INFO] [stdout] --> src/fitheader.rs:18:15 [INFO] [stdout] | [INFO] [stdout] 18 | for _i in 0..12 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator [INFO] [stdout] | [INFO] [stdout] 18 - for _i in 0..12 { [INFO] [stdout] 18 + for in &mut header_buf { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting a character literal to `u8` truncates [INFO] [stdout] --> src/fitheader.rs:34:40 [INFO] [stdout] | [INFO] [stdout] 34 | let expected_signature : [u8;4] = ['.' as u8, 'F' as u8, 'I' as u8, 'T' as u8 ]; [INFO] [stdout] | ^^^^^^^^^ help: use a byte literal instead: `b'.'` [INFO] [stdout] | [INFO] [stdout] = note: `char` is four bytes wide, but `u8` is a single byte [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#char_lit_as_u8 [INFO] [stdout] = note: `#[warn(clippy::char_lit_as_u8)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting a character literal to `u8` truncates [INFO] [stdout] --> src/fitheader.rs:34:51 [INFO] [stdout] | [INFO] [stdout] 34 | let expected_signature : [u8;4] = ['.' as u8, 'F' as u8, 'I' as u8, 'T' as u8 ]; [INFO] [stdout] | ^^^^^^^^^ help: use a byte literal instead: `b'F'` [INFO] [stdout] | [INFO] [stdout] = note: `char` is four bytes wide, but `u8` is a single byte [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#char_lit_as_u8 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting a character literal to `u8` truncates [INFO] [stdout] --> src/fitheader.rs:34:62 [INFO] [stdout] | [INFO] [stdout] 34 | let expected_signature : [u8;4] = ['.' as u8, 'F' as u8, 'I' as u8, 'T' as u8 ]; [INFO] [stdout] | ^^^^^^^^^ help: use a byte literal instead: `b'I'` [INFO] [stdout] | [INFO] [stdout] = note: `char` is four bytes wide, but `u8` is a single byte [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#char_lit_as_u8 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting a character literal to `u8` truncates [INFO] [stdout] --> src/fitheader.rs:34:73 [INFO] [stdout] | [INFO] [stdout] 34 | let expected_signature : [u8;4] = ['.' as u8, 'F' as u8, 'I' as u8, 'T' as u8 ]; [INFO] [stdout] | ^^^^^^^^^ help: use a byte literal instead: `b'T'` [INFO] [stdout] | [INFO] [stdout] = note: `char` is four bytes wide, but `u8` is a single byte [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#char_lit_as_u8 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this can be `std::io::Error::other(_)` [INFO] [stdout] --> src/fitheader.rs:36:21 [INFO] [stdout] | [INFO] [stdout] 36 | return Err( std::io::Error::new(std::io::ErrorKind::Other, "Invalid FIT signature")); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#io_other_error [INFO] [stdout] help: use `std::io::Error::other` [INFO] [stdout] | [INFO] [stdout] 36 - return Err( std::io::Error::new(std::io::ErrorKind::Other, "Invalid FIT signature")); [INFO] [stdout] 36 + return Err( std::io::Error::other("Invalid FIT signature")); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this can be `std::io::Error::other(_)` [INFO] [stdout] --> src/fitheader.rs:50:24 [INFO] [stdout] | [INFO] [stdout] 50 | return Err(std::io::Error::new(std::io::ErrorKind::Other, "Header CRC is invalid")); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#io_other_error [INFO] [stdout] help: use `std::io::Error::other` [INFO] [stdout] | [INFO] [stdout] 50 - return Err(std::io::Error::new(std::io::ErrorKind::Other, "Header CRC is invalid")); [INFO] [stdout] 50 + return Err(std::io::Error::other("Header CRC is invalid")); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting a character literal to `u8` truncates [INFO] [stdout] --> src/fitheader.rs:77:35 [INFO] [stdout] | [INFO] [stdout] 77 | let signature: [u8; 4] = ['.' as u8, 'F' as u8, 'I' as u8, 'T' as u8]; [INFO] [stdout] | ^^^^^^^^^ help: use a byte literal instead: `b'.'` [INFO] [stdout] | [INFO] [stdout] = note: `char` is four bytes wide, but `u8` is a single byte [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#char_lit_as_u8 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting a character literal to `u8` truncates [INFO] [stdout] --> src/fitheader.rs:77:46 [INFO] [stdout] | [INFO] [stdout] 77 | let signature: [u8; 4] = ['.' as u8, 'F' as u8, 'I' as u8, 'T' as u8]; [INFO] [stdout] | ^^^^^^^^^ help: use a byte literal instead: `b'F'` [INFO] [stdout] | [INFO] [stdout] = note: `char` is four bytes wide, but `u8` is a single byte [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#char_lit_as_u8 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting a character literal to `u8` truncates [INFO] [stdout] --> src/fitheader.rs:77:57 [INFO] [stdout] | [INFO] [stdout] 77 | let signature: [u8; 4] = ['.' as u8, 'F' as u8, 'I' as u8, 'T' as u8]; [INFO] [stdout] | ^^^^^^^^^ help: use a byte literal instead: `b'I'` [INFO] [stdout] | [INFO] [stdout] = note: `char` is four bytes wide, but `u8` is a single byte [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#char_lit_as_u8 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting a character literal to `u8` truncates [INFO] [stdout] --> src/fitheader.rs:77:68 [INFO] [stdout] | [INFO] [stdout] 77 | let signature: [u8; 4] = ['.' as u8, 'F' as u8, 'I' as u8, 'T' as u8]; [INFO] [stdout] | ^^^^^^^^^ help: use a byte literal instead: `b'T'` [INFO] [stdout] | [INFO] [stdout] = note: `char` is four bytes wide, but `u8` is a single byte [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#char_lit_as_u8 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `_i` is only used to index `header_buf` [INFO] [stdout] --> src/fitheader.rs:84:15 [INFO] [stdout] | [INFO] [stdout] 84 | for _i in 0..12 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator [INFO] [stdout] | [INFO] [stdout] 84 - for _i in 0..12 { [INFO] [stdout] 84 + for in &header_buf { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this can be `std::io::Error::other(_)` [INFO] [stdout] --> src/fitheader.rs:97:20 [INFO] [stdout] | [INFO] [stdout] 97 | return Err(std::io::Error::new(std::io::ErrorKind::Other, "Header size is invalid")); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#io_other_error [INFO] [stdout] help: use `std::io::Error::other` [INFO] [stdout] | [INFO] [stdout] 97 - return Err(std::io::Error::new(std::io::ErrorKind::Other, "Header size is invalid")); [INFO] [stdout] 97 + return Err(std::io::Error::other("Header size is invalid")); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this can be `std::io::Error::other(_)` [INFO] [stdout] --> src/fitdefnmesg.rs:19:20 [INFO] [stdout] | [INFO] [stdout] 19 | return Err(std::io::Error::new(std::io::ErrorKind::Other, "Invalid field: defn_num=255")); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#io_other_error [INFO] [stdout] help: use `std::io::Error::other` [INFO] [stdout] | [INFO] [stdout] 19 - return Err(std::io::Error::new(std::io::ErrorKind::Other, "Invalid field: defn_num=255")); [INFO] [stdout] 19 + return Err(std::io::Error::other("Invalid field: defn_num=255")); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this can be `std::io::Error::other(_)` [INFO] [stdout] --> src/fitdefnmesg.rs:23:20 [INFO] [stdout] | [INFO] [stdout] 23 | return Err(std::io::Error::new(std::io::ErrorKind::Other, "Invalid field: size=0")); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#io_other_error [INFO] [stdout] help: use `std::io::Error::other` [INFO] [stdout] | [INFO] [stdout] 23 - return Err(std::io::Error::new(std::io::ErrorKind::Other, "Invalid field: size=0")); [INFO] [stdout] 23 + return Err(std::io::Error::other("Invalid field: size=0")); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this can be `std::io::Error::other(_)` [INFO] [stdout] --> src/fitdefnmesg.rs:34:20 [INFO] [stdout] | [INFO] [stdout] 34 | return Err(std::io::Error::new(std::io::ErrorKind::Other, "Invalid field: data type>16")); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#io_other_error [INFO] [stdout] help: use `std::io::Error::other` [INFO] [stdout] | [INFO] [stdout] 34 - return Err(std::io::Error::new(std::io::ErrorKind::Other, "Invalid field: data type>16")); [INFO] [stdout] 34 + return Err(std::io::Error::other("Invalid field: data type>16")); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field assignment outside of initializer for an instance created with Default::default() [INFO] [stdout] --> src/fitdefnmesg.rs:64:5 [INFO] [stdout] | [INFO] [stdout] 64 | field_defn.field_defn_num = field_defn_num; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: consider initializing the variable with `fittypes::FitDeveloperFieldDefinition { field_defn_num: field_defn_num, size_in_bytes: size_in_bytes, dev_data_index: dev_data_index }` and removing relevant reassignments [INFO] [stdout] --> src/fitdefnmesg.rs:63:5 [INFO] [stdout] | [INFO] [stdout] 63 | let mut field_defn: FitDeveloperFieldDefinition = Default::default(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#field_reassign_with_default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this can be `std::io::Error::other(_)` [INFO] [stdout] --> src/fitdatamesg.rs:20:32 [INFO] [stdout] | [INFO] [stdout] 20 | None => return Err(std::io::Error::new(std::io::ErrorKind::Other, "Field id not found")), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#io_other_error [INFO] [stdout] help: use `std::io::Error::other` [INFO] [stdout] | [INFO] [stdout] 20 - None => return Err(std::io::Error::new(std::io::ErrorKind::Other, "Field id not found")), [INFO] [stdout] 20 + None => return Err(std::io::Error::other("Field id not found")), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of `Option::map` [INFO] [stdout] --> src/fitdatamesg.rs:60:21 [INFO] [stdout] | [INFO] [stdout] 60 | desc2 = match dev_data.developer_field_definitions.get( [INFO] [stdout] | _____________________^ [INFO] [stdout] 61 | | &field.field_defn_num) { [INFO] [stdout] 62 | | None => {None }, [INFO] [stdout] 63 | | Some(x) => {Some(x.clone())}, [INFO] [stdout] 64 | | }; [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_map [INFO] [stdout] = note: `#[warn(clippy::manual_map)]` on by default [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 60 ~ desc2 = dev_data.developer_field_definitions.get( [INFO] [stdout] 61 ~ &field.field_defn_num).map(|x| x.clone()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: usage of `contains_key` followed by `insert` on a `HashMap` [INFO] [stdout] --> src/fitdatamesg.rs:194:9 [INFO] [stdout] | [INFO] [stdout] 194 | / if !context.developer_ids.contains_key(&dev_data_desc.dev_data_index) { [INFO] [stdout] 195 | | let mut developer_id: FitFileDeveloperId = Default::default(); [INFO] [stdout] 196 | | context.developer_ids.insert(dev_data_desc.dev_data_index, developer_id); [INFO] [stdout] 197 | | } [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_entry [INFO] [stdout] = note: `#[warn(clippy::map_entry)]` on by default [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 194 ~ context.developer_ids.entry(dev_data_desc.dev_data_index).or_insert_with(|| { [INFO] [stdout] 195 + let mut developer_id: FitFileDeveloperId = Default::default(); [INFO] [stdout] 196 + developer_id [INFO] [stdout] 197 + }); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/fitfile.rs:21:9 [INFO] [stdout] | [INFO] [stdout] 21 | return Default::default(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 21 - return Default::default(); [INFO] [stdout] 21 + Default::default() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/fitfile.rs:33:9 [INFO] [stdout] | [INFO] [stdout] 33 | / return FitFileReader{source, [INFO] [stdout] 34 | | context: Default::default(), [INFO] [stdout] 35 | | data_size: None}; [INFO] [stdout] | |____________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 33 ~ FitFileReader{source, [INFO] [stdout] 34 + context: Default::default(), [INFO] [stdout] 35 ~ data_size: None} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/fitfile.rs:41:9 [INFO] [stdout] | [INFO] [stdout] 41 | return Ok(header); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 41 - return Ok(header); [INFO] [stdout] 41 + Ok(header) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/fitfile.rs:51:13 [INFO] [stdout] | [INFO] [stdout] 51 | return read_record(&mut self.context, &mut self.source); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 51 - return read_record(&mut self.context, &mut self.source); [INFO] [stdout] 51 + read_record(&mut self.context, &mut self.source) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/fitfile.rs:56:17 [INFO] [stdout] | [INFO] [stdout] 56 | return Ok(FitRecord::EndOfFile(file_crc)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 56 - return Ok(FitRecord::EndOfFile(file_crc)); [INFO] [stdout] 56 + Ok(FitRecord::EndOfFile(file_crc)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/fitfile.rs:58:17 [INFO] [stdout] | [INFO] [stdout] 58 | return Err(std::io::Error::new(std::io::ErrorKind::Other, "Bad CRC")); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 58 - return Err(std::io::Error::new(std::io::ErrorKind::Other, "Bad CRC")); [INFO] [stdout] 58 + Err(std::io::Error::new(std::io::ErrorKind::Other, "Bad CRC")) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this can be `std::io::Error::other(_)` [INFO] [stdout] --> src/fitfile.rs:58:28 [INFO] [stdout] | [INFO] [stdout] 58 | return Err(std::io::Error::new(std::io::ErrorKind::Other, "Bad CRC")); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#io_other_error [INFO] [stdout] help: use `std::io::Error::other` [INFO] [stdout] | [INFO] [stdout] 58 - return Err(std::io::Error::new(std::io::ErrorKind::Other, "Bad CRC")); [INFO] [stdout] 58 + return Err(std::io::Error::other("Bad CRC")); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `FitFileHeader` which implements the `Copy` trait [INFO] [stdout] --> src/fitfile.rs:81:23 [INFO] [stdout] | [INFO] [stdout] 81 | self.header = header.clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^ help: try dereferencing it: `*header` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/fitfile.rs:113:5 [INFO] [stdout] | [INFO] [stdout] 113 | return read_file_read(&mut file); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 113 - return read_file_read(&mut file); [INFO] [stdout] 113 + read_file_read(&mut file) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field assignment outside of initializer for an instance created with Default::default() [INFO] [stdout] --> src/fitfile.rs:169:5 [INFO] [stdout] | [INFO] [stdout] 169 | out_context.architecture = Some(Endianness::Little); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: consider initializing the variable with `fittypes::FitFileContext { architecture: Some(Endianness::Little), ..Default::default() }` and removing relevant reassignments [INFO] [stdout] --> src/fitfile.rs:168:5 [INFO] [stdout] | [INFO] [stdout] 168 | let mut out_context: FitFileContext = Default::default(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#field_reassign_with_default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this can be `std::io::Error::other(_)` [INFO] [stdout] --> src/fitfile.rs:148:31 [INFO] [stdout] | [INFO] [stdout] 148 | Err(e) => {return Err(std::io::Error::new(std::io::ErrorKind::Other, e));}, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#io_other_error [INFO] [stdout] help: use `std::io::Error::other` [INFO] [stdout] | [INFO] [stdout] 148 - Err(e) => {return Err(std::io::Error::new(std::io::ErrorKind::Other, e));}, [INFO] [stdout] 148 + Err(e) => {return Err(std::io::Error::other(e));}, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `FitFileHeader` which implements the `Copy` trait [INFO] [stdout] --> src/fitfile.rs:170:26 [INFO] [stdout] | [INFO] [stdout] 170 | let mut out_header = (my_file.header).clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `(my_file.header)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `FitFileHeader` which implements the `Copy` trait [INFO] [stdout] --> src/fitfile.rs:172:50 [INFO] [stdout] | [INFO] [stdout] 172 | let new_header_rec = FitRecord::HeaderRecord(out_header.clone()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `out_header` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/fitfile.rs:192:9 [INFO] [stdout] | [INFO] [stdout] 192 | num_rec = num_rec + 1; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `num_rec += 1` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this assertion is always `false` [INFO] [stdout] --> src/fitfile.rs:272:20 [INFO] [stdout] | [INFO] [stdout] 272 | _ => { assert!(false) }, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: replace this with `panic!()` or `unreachable!()` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assertions_on_constants [INFO] [stdout] = note: `#[warn(clippy::assertions_on_constants)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this assertion is always `false` [INFO] [stdout] --> src/fitfile.rs:286:28 [INFO] [stdout] | [INFO] [stdout] 286 | _ => { assert!(false) }, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: replace this with `panic!()` or `unreachable!()` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assertions_on_constants [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this assertion is always `false` [INFO] [stdout] --> src/fitfile.rs:294:28 [INFO] [stdout] | [INFO] [stdout] 294 | _ => { assert!(false) }, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: replace this with `panic!()` or `unreachable!()` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assertions_on_constants [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this assertion is always `false` [INFO] [stdout] --> src/fitfile.rs:297:20 [INFO] [stdout] | [INFO] [stdout] 297 | _ => { assert!(false) }, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: replace this with `panic!()` or `unreachable!()` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assertions_on_constants [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` can be collapsed into the outer `match` [INFO] [stdout] --> src/fitcheck.rs:20:29 [INFO] [stdout] | [INFO] [stdout] 20 | / ... if !x.is_empty() { [INFO] [stdout] 21 | | ... return Some(x[0]) [INFO] [stdout] 22 | | ... }}, [INFO] [stdout] | |_______________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_match [INFO] [stdout] = note: `#[warn(clippy::collapsible_match)]` on by default [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 19 ~ FitFieldData::FitUint32(x) [INFO] [stdout] 20 ~ if !x.is_empty() => { [INFO] [stdout] 21 | return Some(x[0]) [INFO] [stdout] 22 ~ }, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to be trying to use `match` for destructuring a single pattern. Consider using `if let` [INFO] [stdout] --> src/fitcheck.rs:18:21 [INFO] [stdout] | [INFO] [stdout] 18 | / match &f.data { [INFO] [stdout] 19 | | FitFieldData::FitUint32(x) => { [INFO] [stdout] 20 | | if !x.is_empty() { [INFO] [stdout] 21 | | return Some(x[0]) [INFO] [stdout] 22 | | }}, [INFO] [stdout] 23 | | _ => {}, [INFO] [stdout] 24 | | } [INFO] [stdout] | |_____________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stdout] = note: `#[warn(clippy::single_match)]` on by default [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 18 ~ if let FitFieldData::FitUint32(x) = &f.data { [INFO] [stdout] 19 + if !x.is_empty() { [INFO] [stdout] 20 + return Some(x[0]) [INFO] [stdout] 21 + }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: usage of a legacy numeric constant [INFO] [stdout] --> src/fitcheck.rs:37:20 [INFO] [stdout] | [INFO] [stdout] 37 | } else if v >= std::u32::MAX as i64 { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#legacy_numeric_constants [INFO] [stdout] = note: `#[warn(clippy::legacy_numeric_constants)]` on by default [INFO] [stdout] help: use the associated constant instead [INFO] [stdout] | [INFO] [stdout] 37 - } else if v >= std::u32::MAX as i64 { [INFO] [stdout] 37 + } else if v >= u32::MAX as i64 { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: usage of a legacy numeric constant [INFO] [stdout] --> src/fitcheck.rs:38:9 [INFO] [stdout] | [INFO] [stdout] 38 | std::u32::MAX - 1 // MAX is reserved for a bad value. [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#legacy_numeric_constants [INFO] [stdout] help: use the associated constant instead [INFO] [stdout] | [INFO] [stdout] 38 - std::u32::MAX - 1 // MAX is reserved for a bad value. [INFO] [stdout] 38 + u32::MAX - 1 // MAX is reserved for a bad value. [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/fitcheck.rs:61:47 [INFO] [stdout] | [INFO] [stdout] 61 | let timestamp_opt = get_timestamp(&data_message); [INFO] [stdout] | ^^^^^^^^^^^^^ help: change this to: `data_message` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] = note: `#[warn(clippy::needless_borrow)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this can be `std::io::Error::other(_)` [INFO] [stdout] --> src/fitcheck.rs:69:36 [INFO] [stdout] | [INFO] [stdout] 69 | return Err(std::io::Error::new(std::io::ErrorKind::Other, errstr)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#io_other_error [INFO] [stdout] help: use `std::io::Error::other` [INFO] [stdout] | [INFO] [stdout] 69 - return Err(std::io::Error::new(std::io::ErrorKind::Other, errstr)); [INFO] [stdout] 69 + return Err(std::io::Error::other(errstr)); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this can be `std::io::Error::other(_)` [INFO] [stdout] --> src/fitcheck.rs:72:36 [INFO] [stdout] | [INFO] [stdout] 72 | return Err(std::io::Error::new(std::io::ErrorKind::Other, errstr)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#io_other_error [INFO] [stdout] help: use `std::io::Error::other` [INFO] [stdout] | [INFO] [stdout] 72 - return Err(std::io::Error::new(std::io::ErrorKind::Other, errstr)); [INFO] [stdout] 72 + return Err(std::io::Error::other(errstr)); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/fitrecord.rs:77:21 [INFO] [stdout] | [INFO] [stdout] 77 | value_copy = value_copy - *offset_f; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `value_copy -= *offset_f` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/fitrecord.rs:80:21 [INFO] [stdout] | [INFO] [stdout] 80 | value_copy = value_copy / *scale_f; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `value_copy /= *scale_f` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/fitrecord.rs:112:9 [INFO] [stdout] | [INFO] [stdout] 112 | return Value::Null; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 112 - return Value::Null; [INFO] [stdout] 112 + Value::Null [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/fitrecord.rs:114:9 [INFO] [stdout] | [INFO] [stdout] 114 | return Value::from(x[0].clone() ); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 114 - return Value::from(x[0].clone() ); [INFO] [stdout] 114 + Value::from(x[0].clone() ) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/fitrecord.rs:116:9 [INFO] [stdout] | [INFO] [stdout] 116 | return (x.clone()).into(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 116 - return (x.clone()).into(); [INFO] [stdout] 116 + (x.clone()).into() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/fitrecord.rs:108:34 [INFO] [stdout] | [INFO] [stdout] 108 | fn handle_fit_value(x: &Vec) -> Value [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 108 ~ fn handle_fit_value(x: &[T]) -> Value [INFO] [stdout] 109 | where Value: std::convert::From + std::convert::From< Vec > [INFO] [stdout] ... [INFO] [stdout] 115 | } else { [INFO] [stdout] 116 ~ return x.to_owned().into(); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/fitrecord.rs:152:16 [INFO] [stdout] | [INFO] [stdout] 152 | if !data_message.timestamp.is_none() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `data_message.timestamp.is_some()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] = note: `#[warn(clippy::nonminimal_bool)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `data_message.timestamp` after checking its variant with `is_none` [INFO] [stdout] --> src/fitrecord.rs:153:29 [INFO] [stdout] | [INFO] [stdout] 152 | if !data_message.timestamp.is_none() { [INFO] [stdout] | -------------------------------- the check is happening here [INFO] [stdout] 153 | let value = data_message.timestamp.unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: try using `match` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] = note: `#[warn(clippy::unnecessary_unwrap)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `message` after checking its variant with `is_some` [INFO] [stdout] --> src/fitrecord.rs:169:34 [INFO] [stdout] | [INFO] [stdout] 168 | if message.is_some() { [INFO] [stdout] | -------------------- help: try: `if let Some() = message` [INFO] [stdout] 169 | field_desc = message.unwrap().find_field(ifield.field_defn_num); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `field_desc` after checking its variant with `is_some` [INFO] [stdout] --> src/fitrecord.rs:172:34 [INFO] [stdout] | [INFO] [stdout] 171 | if field_desc.is_some() { [INFO] [stdout] | ----------------------- help: try: `if let Some() = field_desc` [INFO] [stdout] 172 | field_name = field_desc.unwrap().field_name.clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `field_desc` after checking its variant with `is_some` [INFO] [stdout] --> src/fitrecord.rs:173:35 [INFO] [stdout] | [INFO] [stdout] 171 | if field_desc.is_some() { [INFO] [stdout] | ----------------------- help: try: `if let Some() = field_desc` [INFO] [stdout] 172 | field_name = field_desc.unwrap().field_name.clone(); [INFO] [stdout] 173 | field_units = field_desc.unwrap().units.clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/main.rs:24:38 [INFO] [stdout] | [INFO] [stdout] 24 | let res = fitfile::read_file(&pathname); [INFO] [stdout] | ^^^^^^^^^ help: change this to: `pathname` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] = note: `#[warn(clippy::needless_borrow)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `field_desc` after checking its variant with `is_some` [INFO] [stdout] --> src/fitrecord.rs:174:39 [INFO] [stdout] | [INFO] [stdout] 171 | if field_desc.is_some() { [INFO] [stdout] | ----------------------- help: try: `if let Some() = field_desc` [INFO] [stdout] ... [INFO] [stdout] 174 | field_type = Some(field_desc.unwrap().field_type.clone()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `field_desc` after checking its variant with `is_some` [INFO] [stdout] --> src/fitrecord.rs:175:35 [INFO] [stdout] | [INFO] [stdout] 171 | if field_desc.is_some() { [INFO] [stdout] | ----------------------- help: try: `if let Some() = field_desc` [INFO] [stdout] ... [INFO] [stdout] 175 | field_scale = field_desc.unwrap().scale.clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `field_desc` after checking its variant with `is_some` [INFO] [stdout] --> src/fitrecord.rs:176:36 [INFO] [stdout] | [INFO] [stdout] 171 | if field_desc.is_some() { [INFO] [stdout] | ----------------------- help: try: `if let Some() = field_desc` [INFO] [stdout] ... [INFO] [stdout] 176 | field_offset = field_desc.unwrap().offset.clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `message` after checking its variant with `is_some` [INFO] [stdout] --> src/fitrecord.rs:243:17 [INFO] [stdout] | [INFO] [stdout] 242 | let message_name = if message.is_some() { [INFO] [stdout] | -------------------- help: try: `if let Some() = message` [INFO] [stdout] 243 | message.unwrap().message_name.clone() [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `message` after checking its variant with `is_some` [INFO] [stdout] --> src/fitrecord.rs:273:34 [INFO] [stdout] | [INFO] [stdout] 272 | if message.is_some() { [INFO] [stdout] | -------------------- help: try: `if let Some() = message` [INFO] [stdout] 273 | field_desc = message.unwrap().find_field(ifield.field_defn_num); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `field_desc` after checking its variant with `is_some` [INFO] [stdout] --> src/fitrecord.rs:277:34 [INFO] [stdout] | [INFO] [stdout] 276 | if field_desc.is_some() { [INFO] [stdout] | ----------------------- help: try: `if let Some() = field_desc` [INFO] [stdout] 277 | field_name = field_desc.unwrap().field_name.clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/fitrecord.rs:253:13 [INFO] [stdout] | [INFO] [stdout] 253 | return ("data".to_string(), Value::Object(map)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 253 - return ("data".to_string(), Value::Object(map)); [INFO] [stdout] 253 + ("data".to_string(), Value::Object(map)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/fitrecord.rs:306:13 [INFO] [stdout] | [INFO] [stdout] 306 | return ("definition".to_string(), Value::Object(map)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 306 - return ("definition".to_string(), Value::Object(map)); [INFO] [stdout] 306 + ("definition".to_string(), Value::Object(map)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/fitrecord.rs:311:13 [INFO] [stdout] | [INFO] [stdout] 311 | return ("EOF".to_string(), Value::Object(map)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 311 - return ("EOF".to_string(), Value::Object(map)); [INFO] [stdout] 311 + ("EOF".to_string(), Value::Object(map)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Option` which implements the `Copy` trait [INFO] [stdout] --> src/fitrecord.rs:175:35 [INFO] [stdout] | [INFO] [stdout] 175 | field_scale = field_desc.unwrap().scale.clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `field_desc.unwrap().scale` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Option` which implements the `Copy` trait [INFO] [stdout] --> src/fitrecord.rs:176:36 [INFO] [stdout] | [INFO] [stdout] 176 | field_offset = field_desc.unwrap().offset.clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `field_desc.unwrap().offset` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded late initialization [INFO] [stdout] --> src/fitrecord.rs:275:17 [INFO] [stdout] | [INFO] [stdout] 275 | let field_name: String; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_late_init [INFO] [stdout] = note: `#[warn(clippy::needless_late_init)]` on by default [INFO] [stdout] help: move the declaration `field_name` here and remove the assignments from the branches [INFO] [stdout] | [INFO] [stdout] 275 ~ [INFO] [stdout] 276 ~ let field_name: String = if field_desc.is_some() { [INFO] [stdout] 277 ~ field_desc.unwrap().field_name.clone() [INFO] [stdout] 278 | } else { [INFO] [stdout] ... [INFO] [stdout] 281 | let field_string = format!("Field_{}", ifield.field_defn_num); [INFO] [stdout] 282 ~ field_string [INFO] [stdout] 283 ~ }; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/fitrecord.rs:303:16 [INFO] [stdout] | [INFO] [stdout] 303 | if dev_field_vec.len() > 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: using `!is_empty` is clearer and more explicit: `!dev_field_vec.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: unneeded `return` statement [INFO] [stdout] --> src/fitrecord.rs:340:13 [INFO] [stdout] | [INFO] [stdout] 340 | / return Ok(FitRecord::DefinitionMessage( [INFO] [stdout] 341 | | fitdefnmesg::read_definition_message( context, reader, local_message_type, is_developer)?)); [INFO] [stdout] | |___________________________________________________________________________________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 340 ~ Ok(FitRecord::DefinitionMessage( [INFO] [stdout] 341 ~ fitdefnmesg::read_definition_message( context, reader, local_message_type, is_developer)?)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/fitrecord.rs:344:13 [INFO] [stdout] | [INFO] [stdout] 344 | / return Ok(FitRecord::DataRecord( [INFO] [stdout] 345 | | fitdatamesg::read_data_message( context, reader, local_message_type, None)?)); [INFO] [stdout] | |_____________________________________________________________________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 344 ~ Ok(FitRecord::DataRecord( [INFO] [stdout] 345 ~ fitdatamesg::read_data_message( context, reader, local_message_type, None)?)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/fitrecord.rs:360:9 [INFO] [stdout] | [INFO] [stdout] 360 | / return Ok(FitRecord::DataRecord( [INFO] [stdout] 361 | | fitdatamesg::read_data_message( context, reader, local_message_type, Some(new_timestamp))?) ); [INFO] [stdout] | |_________________________________________________________________________________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 360 ~ Ok(FitRecord::DataRecord( [INFO] [stdout] 361 ~ fitdatamesg::read_data_message( context, reader, local_message_type, Some(new_timestamp))?) ) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this can be `std::io::Error::other(_)` [INFO] [stdout] --> src/fitrecord.rs:328:24 [INFO] [stdout] | [INFO] [stdout] 328 | return Err(std::io::Error::new(std::io::ErrorKind::Other, "Reserved bit is set.")); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#io_other_error [INFO] [stdout] help: use `std::io::Error::other` [INFO] [stdout] | [INFO] [stdout] 328 - return Err(std::io::Error::new(std::io::ErrorKind::Other, "Reserved bit is set.")); [INFO] [stdout] 328 + return Err(std::io::Error::other("Reserved bit is set.")); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/profile.rs:112:9 [INFO] [stdout] | [INFO] [stdout] 112 | return None; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 112 - return None; [INFO] [stdout] 112 + None [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary transmute [INFO] [stdout] --> src/fittypes.rs:242:13 [INFO] [stdout] | [INFO] [stdout] 242 | std::mem::transmute::(*item) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unnecessary_transmutes)]` on by default [INFO] [stdout] help: replace this with [INFO] [stdout] | [INFO] [stdout] 242 - std::mem::transmute::(*item) [INFO] [stdout] 242 + f32::to_bits(*item) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary transmute [INFO] [stdout] --> src/fittypes.rs:255:13 [INFO] [stdout] | [INFO] [stdout] 255 | std::mem::transmute::(*item) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: replace this with [INFO] [stdout] | [INFO] [stdout] 255 - std::mem::transmute::(*item) [INFO] [stdout] 255 + f64::to_bits(*item) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/main.rs:24:38 [INFO] [stdout] | [INFO] [stdout] 24 | let res = fitfile::read_file(&pathname); [INFO] [stdout] | ^^^^^^^^^ help: change this to: `pathname` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] = note: `#[warn(clippy::needless_borrow)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 10.05s [INFO] running `Command { std: "docker" "inspect" "06d8152e792898fb351dacb647d7656a55230f677c5731396dcea6e81a64db79", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "06d8152e792898fb351dacb647d7656a55230f677c5731396dcea6e81a64db79", kill_on_drop: false }` [INFO] [stdout] 06d8152e792898fb351dacb647d7656a55230f677c5731396dcea6e81a64db79