[INFO] fetching crate uavcan-core 0.0.1... [INFO] testing uavcan-core-0.0.1 against beta-2022-04-10 for beta-1.61-1 [INFO] extracting crate uavcan-core 0.0.1 into /workspace/builds/worker-4/source [INFO] validating manifest of crates.io crate uavcan-core 0.0.1 on toolchain beta-2022-04-10 [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+beta-2022-04-10" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking crates.io crate uavcan-core 0.0.1 [INFO] finished tweaking crates.io crate uavcan-core 0.0.1 [INFO] tweaked toml for crates.io crate uavcan-core 0.0.1 written to /workspace/builds/worker-4/source/Cargo.toml [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+beta-2022-04-10" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update", kill_on_drop: false }` [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+beta-2022-04-10" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4/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:eaef2f80f755933c374d2ae5edccceec0c1312ceb8a4e0b6404e8ab76561e1e5" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2022-04-10" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] [stdout] 4c886d79af05001faa1de80e35ea95b6c31bb6caba59410221e4dc5026831d2c [INFO] running `Command { std: "docker" "start" "-a" "4c886d79af05001faa1de80e35ea95b6c31bb6caba59410221e4dc5026831d2c", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "4c886d79af05001faa1de80e35ea95b6c31bb6caba59410221e4dc5026831d2c", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "4c886d79af05001faa1de80e35ea95b6c31bb6caba59410221e4dc5026831d2c", kill_on_drop: false }` [INFO] [stdout] 4c886d79af05001faa1de80e35ea95b6c31bb6caba59410221e4dc5026831d2c [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4/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=warn" "-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:eaef2f80f755933c374d2ae5edccceec0c1312ceb8a4e0b6404e8ab76561e1e5" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2022-04-10" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 613c6a025c08905d1150d218eb50fb9ba9a2d32219705961083ffa0364313c7d [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] running `Command { std: "docker" "start" "-a" "613c6a025c08905d1150d218eb50fb9ba9a2d32219705961083ffa0364313c7d", kill_on_drop: false }` [INFO] [stderr] Compiling bit_field v0.8.0 [INFO] [stderr] Compiling syn v0.10.8 [INFO] [stderr] Compiling uavcan-derive v0.0.1 [INFO] [stderr] Compiling uavcan-core v0.0.1 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused `#[macro_use]` import [INFO] [stdout] --> src/lib.rs:3:1 [INFO] [stdout] | [INFO] [stdout] 3 | #[macro_use] [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `core::mem::transmute` [INFO] [stdout] --> src/types.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use core::mem::transmute; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around method argument [INFO] [stdout] --> src/types.rs:307:93 [INFO] [stdout] | [INFO] [stdout] 307 | #[inline] fn set_bits(&mut self, range: Range, value: u64) { self.value.set_bits((range.start as u8..range.end as u8), value a... [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 307 - #[inline] fn set_bits(&mut self, range: Range, value: u64) { self.value.set_bits((range.start as u8..range.end as u8), value as u8); } [INFO] [stdout] 307 + #[inline] fn set_bits(&mut self, range: Range, value: u64) { self.value.set_bits(range.start as u8..range.end as u8, value as u8); } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around method argument [INFO] [stdout] --> src/types.rs:315:93 [INFO] [stdout] | [INFO] [stdout] 315 | #[inline] fn set_bits(&mut self, range: Range, value: u64) { self.value.set_bits((range.start as u8..range.end as u8), value a... [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 315 - #[inline] fn set_bits(&mut self, range: Range, value: u64) { self.value.set_bits((range.start as u8..range.end as u8), value as u8); } [INFO] [stdout] 315 + #[inline] fn set_bits(&mut self, range: Range, value: u64) { self.value.set_bits(range.start as u8..range.end as u8, value as u8); } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around method argument [INFO] [stdout] --> src/types.rs:323:93 [INFO] [stdout] | [INFO] [stdout] 323 | #[inline] fn set_bits(&mut self, range: Range, value: u64) { self.value.set_bits((range.start as u8..range.end as u8), value a... [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 323 - #[inline] fn set_bits(&mut self, range: Range, value: u64) { self.value.set_bits((range.start as u8..range.end as u8), value as u8); } [INFO] [stdout] 323 + #[inline] fn set_bits(&mut self, range: Range, value: u64) { self.value.set_bits(range.start as u8..range.end as u8, value as u8); } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around method argument [INFO] [stdout] --> src/types.rs:331:93 [INFO] [stdout] | [INFO] [stdout] 331 | #[inline] fn set_bits(&mut self, range: Range, value: u64) { self.value.set_bits((range.start as u8..range.end as u8), value a... [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 331 - #[inline] fn set_bits(&mut self, range: Range, value: u64) { self.value.set_bits((range.start as u8..range.end as u8), value as u8); } [INFO] [stdout] 331 + #[inline] fn set_bits(&mut self, range: Range, value: u64) { self.value.set_bits(range.start as u8..range.end as u8, value as u8); } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around method argument [INFO] [stdout] --> src/types.rs:339:93 [INFO] [stdout] | [INFO] [stdout] 339 | #[inline] fn set_bits(&mut self, range: Range, value: u64) { self.value.set_bits((range.start as u8..range.end as u8), value a... [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 339 - #[inline] fn set_bits(&mut self, range: Range, value: u64) { self.value.set_bits((range.start as u8..range.end as u8), value as u8); } [INFO] [stdout] 339 + #[inline] fn set_bits(&mut self, range: Range, value: u64) { self.value.set_bits(range.start as u8..range.end as u8, value as u8); } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around method argument [INFO] [stdout] --> src/types.rs:347:93 [INFO] [stdout] | [INFO] [stdout] 347 | #[inline] fn set_bits(&mut self, range: Range, value: u64) { self.value.set_bits((range.start as u8..range.end as u8), value a... [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 347 - #[inline] fn set_bits(&mut self, range: Range, value: u64) { self.value.set_bits((range.start as u8..range.end as u8), value as u16); } [INFO] [stdout] 347 + #[inline] fn set_bits(&mut self, range: Range, value: u64) { self.value.set_bits(range.start as u8..range.end as u8, value as u16); } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around method argument [INFO] [stdout] --> src/types.rs:355:93 [INFO] [stdout] | [INFO] [stdout] 355 | #[inline] fn set_bits(&mut self, range: Range, value: u64) { self.value.set_bits((range.start as u8..range.end as u8), value a... [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 355 - #[inline] fn set_bits(&mut self, range: Range, value: u64) { self.value.set_bits((range.start as u8..range.end as u8), value as u32); } [INFO] [stdout] 355 + #[inline] fn set_bits(&mut self, range: Range, value: u64) { self.value.set_bits(range.start as u8..range.end as u8, value as u32); } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around method argument [INFO] [stdout] --> src/types.rs:363:102 [INFO] [stdout] | [INFO] [stdout] 363 | ...ize>, value: u64) { self.value.bitfield.set_bits((range.start as u8..range.end as u8), value as u16); } [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 363 - #[inline] fn set_bits(&mut self, range: Range, value: u64) { self.value.bitfield.set_bits((range.start as u8..range.end as u8), value as u16); } [INFO] [stdout] 363 + #[inline] fn set_bits(&mut self, range: Range, value: u64) { self.value.bitfield.set_bits(range.start as u8..range.end as u8, value as u16); } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crc::calc` [INFO] [stdout] --> src/message_builder.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 15 | use crc::calc; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition [INFO] [stdout] --> src/lib.rs:72:16 [INFO] [stdout] | [INFO] [stdout] 72 | fn from_id(u32) -> Self; [INFO] [stdout] | ^^^ help: try naming the parameter or explicitly ignoring it: `_: u32` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(anonymous_parameters)]` on by default [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018! [INFO] [stdout] = note: for more information, see issue #41686 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/lib.rs:79:71 [INFO] [stdout] | [INFO] [stdout] 79 | fn primitive_field_as_mut(&mut self, field_number: usize) -> &mut UavcanPrimitiveField; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 79 - fn primitive_field_as_mut(&mut self, field_number: usize) -> &mut UavcanPrimitiveField; [INFO] [stdout] 79 + fn primitive_field_as_mut(&mut self, field_number: usize) -> &mut dyn UavcanPrimitiveField; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/lib.rs:80:56 [INFO] [stdout] | [INFO] [stdout] 80 | fn primitive_field(&self, field_number: usize) -> &UavcanPrimitiveField; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 80 - fn primitive_field(&self, field_number: usize) -> &UavcanPrimitiveField; [INFO] [stdout] 80 + fn primitive_field(&self, field_number: usize) -> &dyn UavcanPrimitiveField; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/lib.rs:102:63 [INFO] [stdout] | [INFO] [stdout] 102 | fn primitive_type_as_mut(&mut self, index: usize) -> &mut UavcanPrimitiveType; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 102 - fn primitive_type_as_mut(&mut self, index: usize) -> &mut UavcanPrimitiveType; [INFO] [stdout] 102 + fn primitive_type_as_mut(&mut self, index: usize) -> &mut dyn UavcanPrimitiveType; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/lib.rs:103:48 [INFO] [stdout] | [INFO] [stdout] 103 | fn primitive_type(&self, index: usize) -> &UavcanPrimitiveType; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 103 - fn primitive_type(&self, index: usize) -> &UavcanPrimitiveType; [INFO] [stdout] 103 + fn primitive_type(&self, index: usize) -> &dyn UavcanPrimitiveType; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/types.rs:268:71 [INFO] [stdout] | [INFO] [stdout] 268 | fn primitive_field_as_mut(&mut self, field_number: usize) -> &mut UavcanPrimitiveField{ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 268 - fn primitive_field_as_mut(&mut self, field_number: usize) -> &mut UavcanPrimitiveField{ [INFO] [stdout] 268 + fn primitive_field_as_mut(&mut self, field_number: usize) -> &mut dyn UavcanPrimitiveField{ [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/types.rs:272:56 [INFO] [stdout] | [INFO] [stdout] 272 | fn primitive_field(&self, field_number: usize) -> &UavcanPrimitiveField{ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 272 - fn primitive_field(&self, field_number: usize) -> &UavcanPrimitiveField{ [INFO] [stdout] 272 + fn primitive_field(&self, field_number: usize) -> &dyn UavcanPrimitiveField{ [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/types.rs:289:63 [INFO] [stdout] | [INFO] [stdout] 289 | fn primitive_type_as_mut(&mut self, index: usize) -> &mut UavcanPrimitiveType { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 289 - fn primitive_type_as_mut(&mut self, index: usize) -> &mut UavcanPrimitiveType { [INFO] [stdout] 289 + fn primitive_type_as_mut(&mut self, index: usize) -> &mut dyn UavcanPrimitiveType { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/types.rs:293:48 [INFO] [stdout] | [INFO] [stdout] 293 | fn primitive_type(&self, index: usize) -> &UavcanPrimitiveType { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 293 - fn primitive_type(&self, index: usize) -> &UavcanPrimitiveType { [INFO] [stdout] 293 + fn primitive_type(&self, index: usize) -> &dyn UavcanPrimitiveType { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `from_bitmap` [INFO] [stdout] --> src/types.rs:20:8 [INFO] [stdout] | [INFO] [stdout] 20 | fn from_bitmap(bm: u16) -> f16 { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `add_byte` [INFO] [stdout] --> src/crc.rs:1:4 [INFO] [stdout] | [INFO] [stdout] 1 | fn add_byte(mut crc: u16, data: &u8) -> u16{ [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `add` [INFO] [stdout] --> src/crc.rs:15:8 [INFO] [stdout] | [INFO] [stdout] 15 | pub fn add(mut crc: u16, data: &[u8]) -> u16 { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `calc` [INFO] [stdout] --> src/crc.rs:22:8 [INFO] [stdout] | [INFO] [stdout] 22 | pub fn calc(data: &[u8], data_type_signature: u64) -> u16 { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `crc_calculated` [INFO] [stdout] --> src/message_builder.rs:32:5 [INFO] [stdout] | [INFO] [stdout] 32 | crc_calculated: u16, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 25 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 6.01s [INFO] running `Command { std: "docker" "inspect" "613c6a025c08905d1150d218eb50fb9ba9a2d32219705961083ffa0364313c7d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "613c6a025c08905d1150d218eb50fb9ba9a2d32219705961083ffa0364313c7d", kill_on_drop: false }` [INFO] [stdout] 613c6a025c08905d1150d218eb50fb9ba9a2d32219705961083ffa0364313c7d [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4/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=warn" "-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:eaef2f80f755933c374d2ae5edccceec0c1312ceb8a4e0b6404e8ab76561e1e5" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2022-04-10" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 0a0b6ff6e63531c83c5675dee68dda9dadb4f45db5bb366baafe2de2569d5c26 [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] running `Command { std: "docker" "start" "-a" "0a0b6ff6e63531c83c5675dee68dda9dadb4f45db5bb366baafe2de2569d5c26", kill_on_drop: false }` [INFO] [stdout] warning: unused `#[macro_use]` import [INFO] [stdout] --> src/lib.rs:3:1 [INFO] [stdout] | [INFO] [stdout] 3 | #[macro_use] [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `core::mem::transmute` [INFO] [stdout] --> src/types.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use core::mem::transmute; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around method argument [INFO] [stdout] --> src/types.rs:307:93 [INFO] [stdout] | [INFO] [stdout] 307 | #[inline] fn set_bits(&mut self, range: Range, value: u64) { self.value.set_bits((range.start as u8..range.end as u8), value a... [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 307 - #[inline] fn set_bits(&mut self, range: Range, value: u64) { self.value.set_bits((range.start as u8..range.end as u8), value as u8); } [INFO] [stdout] 307 + #[inline] fn set_bits(&mut self, range: Range, value: u64) { self.value.set_bits(range.start as u8..range.end as u8, value as u8); } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around method argument [INFO] [stdout] --> src/types.rs:315:93 [INFO] [stdout] | [INFO] [stdout] 315 | #[inline] fn set_bits(&mut self, range: Range, value: u64) { self.value.set_bits((range.start as u8..range.end as u8), value a... [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 315 - #[inline] fn set_bits(&mut self, range: Range, value: u64) { self.value.set_bits((range.start as u8..range.end as u8), value as u8); } [INFO] [stdout] 315 + #[inline] fn set_bits(&mut self, range: Range, value: u64) { self.value.set_bits(range.start as u8..range.end as u8, value as u8); } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around method argument [INFO] [stdout] --> src/types.rs:323:93 [INFO] [stdout] | [INFO] [stdout] 323 | #[inline] fn set_bits(&mut self, range: Range, value: u64) { self.value.set_bits((range.start as u8..range.end as u8), value a... [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 323 - #[inline] fn set_bits(&mut self, range: Range, value: u64) { self.value.set_bits((range.start as u8..range.end as u8), value as u8); } [INFO] [stdout] 323 + #[inline] fn set_bits(&mut self, range: Range, value: u64) { self.value.set_bits(range.start as u8..range.end as u8, value as u8); } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around method argument [INFO] [stdout] --> src/types.rs:331:93 [INFO] [stdout] | [INFO] [stdout] 331 | #[inline] fn set_bits(&mut self, range: Range, value: u64) { self.value.set_bits((range.start as u8..range.end as u8), value a... [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 331 - #[inline] fn set_bits(&mut self, range: Range, value: u64) { self.value.set_bits((range.start as u8..range.end as u8), value as u8); } [INFO] [stdout] 331 + #[inline] fn set_bits(&mut self, range: Range, value: u64) { self.value.set_bits(range.start as u8..range.end as u8, value as u8); } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around method argument [INFO] [stdout] --> src/types.rs:339:93 [INFO] [stdout] | [INFO] [stdout] 339 | #[inline] fn set_bits(&mut self, range: Range, value: u64) { self.value.set_bits((range.start as u8..range.end as u8), value a... [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 339 - #[inline] fn set_bits(&mut self, range: Range, value: u64) { self.value.set_bits((range.start as u8..range.end as u8), value as u8); } [INFO] [stdout] 339 + #[inline] fn set_bits(&mut self, range: Range, value: u64) { self.value.set_bits(range.start as u8..range.end as u8, value as u8); } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around method argument [INFO] [stdout] --> src/types.rs:347:93 [INFO] [stdout] | [INFO] [stdout] 347 | #[inline] fn set_bits(&mut self, range: Range, value: u64) { self.value.set_bits((range.start as u8..range.end as u8), value a... [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 347 - #[inline] fn set_bits(&mut self, range: Range, value: u64) { self.value.set_bits((range.start as u8..range.end as u8), value as u16); } [INFO] [stdout] 347 + #[inline] fn set_bits(&mut self, range: Range, value: u64) { self.value.set_bits(range.start as u8..range.end as u8, value as u16); } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around method argument [INFO] [stdout] --> src/types.rs:355:93 [INFO] [stdout] | [INFO] [stdout] 355 | #[inline] fn set_bits(&mut self, range: Range, value: u64) { self.value.set_bits((range.start as u8..range.end as u8), value a... [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 355 - #[inline] fn set_bits(&mut self, range: Range, value: u64) { self.value.set_bits((range.start as u8..range.end as u8), value as u32); } [INFO] [stdout] 355 + #[inline] fn set_bits(&mut self, range: Range, value: u64) { self.value.set_bits(range.start as u8..range.end as u8, value as u32); } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around method argument [INFO] [stdout] --> src/types.rs:363:102 [INFO] [stdout] | [INFO] [stdout] 363 | ...ize>, value: u64) { self.value.bitfield.set_bits((range.start as u8..range.end as u8), value as u16); } [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 363 - #[inline] fn set_bits(&mut self, range: Range, value: u64) { self.value.bitfield.set_bits((range.start as u8..range.end as u8), value as u16); } [INFO] [stdout] 363 + #[inline] fn set_bits(&mut self, range: Range, value: u64) { self.value.bitfield.set_bits(range.start as u8..range.end as u8, value as u16); } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crc::calc` [INFO] [stdout] --> src/message_builder.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 15 | use crc::calc; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition [INFO] [stdout] --> src/lib.rs:72:16 [INFO] [stdout] | [INFO] [stdout] 72 | fn from_id(u32) -> Self; [INFO] [stdout] | ^^^ help: try naming the parameter or explicitly ignoring it: `_: u32` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(anonymous_parameters)]` on by default [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018! [INFO] [stdout] = note: for more information, see issue #41686 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/lib.rs:79:71 [INFO] [stdout] | [INFO] [stdout] 79 | fn primitive_field_as_mut(&mut self, field_number: usize) -> &mut UavcanPrimitiveField; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 79 - fn primitive_field_as_mut(&mut self, field_number: usize) -> &mut UavcanPrimitiveField; [INFO] [stdout] 79 + fn primitive_field_as_mut(&mut self, field_number: usize) -> &mut dyn UavcanPrimitiveField; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/lib.rs:80:56 [INFO] [stdout] | [INFO] [stdout] 80 | fn primitive_field(&self, field_number: usize) -> &UavcanPrimitiveField; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 80 - fn primitive_field(&self, field_number: usize) -> &UavcanPrimitiveField; [INFO] [stdout] 80 + fn primitive_field(&self, field_number: usize) -> &dyn UavcanPrimitiveField; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/lib.rs:102:63 [INFO] [stdout] | [INFO] [stdout] 102 | fn primitive_type_as_mut(&mut self, index: usize) -> &mut UavcanPrimitiveType; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 102 - fn primitive_type_as_mut(&mut self, index: usize) -> &mut UavcanPrimitiveType; [INFO] [stdout] 102 + fn primitive_type_as_mut(&mut self, index: usize) -> &mut dyn UavcanPrimitiveType; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/lib.rs:103:48 [INFO] [stdout] | [INFO] [stdout] 103 | fn primitive_type(&self, index: usize) -> &UavcanPrimitiveType; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 103 - fn primitive_type(&self, index: usize) -> &UavcanPrimitiveType; [INFO] [stdout] 103 + fn primitive_type(&self, index: usize) -> &dyn UavcanPrimitiveType; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/types.rs:268:71 [INFO] [stdout] | [INFO] [stdout] 268 | fn primitive_field_as_mut(&mut self, field_number: usize) -> &mut UavcanPrimitiveField{ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 268 - fn primitive_field_as_mut(&mut self, field_number: usize) -> &mut UavcanPrimitiveField{ [INFO] [stdout] 268 + fn primitive_field_as_mut(&mut self, field_number: usize) -> &mut dyn UavcanPrimitiveField{ [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling uavcan-core v0.0.1 (/opt/rustwide/workdir) [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/types.rs:272:56 [INFO] [stdout] | [INFO] [stdout] 272 | fn primitive_field(&self, field_number: usize) -> &UavcanPrimitiveField{ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 272 - fn primitive_field(&self, field_number: usize) -> &UavcanPrimitiveField{ [INFO] [stdout] 272 + fn primitive_field(&self, field_number: usize) -> &dyn UavcanPrimitiveField{ [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/types.rs:289:63 [INFO] [stdout] | [INFO] [stdout] 289 | fn primitive_type_as_mut(&mut self, index: usize) -> &mut UavcanPrimitiveType { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 289 - fn primitive_type_as_mut(&mut self, index: usize) -> &mut UavcanPrimitiveType { [INFO] [stdout] 289 + fn primitive_type_as_mut(&mut self, index: usize) -> &mut dyn UavcanPrimitiveType { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/types.rs:293:48 [INFO] [stdout] | [INFO] [stdout] 293 | fn primitive_type(&self, index: usize) -> &UavcanPrimitiveType { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 293 - fn primitive_type(&self, index: usize) -> &UavcanPrimitiveType { [INFO] [stdout] 293 + fn primitive_type(&self, index: usize) -> &dyn UavcanPrimitiveType { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `from_bitmap` [INFO] [stdout] --> src/types.rs:20:8 [INFO] [stdout] | [INFO] [stdout] 20 | fn from_bitmap(bm: u16) -> f16 { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `add_byte` [INFO] [stdout] --> src/crc.rs:1:4 [INFO] [stdout] | [INFO] [stdout] 1 | fn add_byte(mut crc: u16, data: &u8) -> u16{ [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `add` [INFO] [stdout] --> src/crc.rs:15:8 [INFO] [stdout] | [INFO] [stdout] 15 | pub fn add(mut crc: u16, data: &[u8]) -> u16 { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `calc` [INFO] [stdout] --> src/crc.rs:22:8 [INFO] [stdout] | [INFO] [stdout] 22 | pub fn calc(data: &[u8], data_type_signature: u64) -> u16 { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `crc_calculated` [INFO] [stdout] --> src/message_builder.rs:32:5 [INFO] [stdout] | [INFO] [stdout] 32 | crc_calculated: u16, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 25 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `core::mem::transmute` [INFO] [stdout] --> src/types.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use core::mem::transmute; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around method argument [INFO] [stdout] --> src/types.rs:307:93 [INFO] [stdout] | [INFO] [stdout] 307 | #[inline] fn set_bits(&mut self, range: Range, value: u64) { self.value.set_bits((range.start as u8..range.end as u8), value a... [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 307 - #[inline] fn set_bits(&mut self, range: Range, value: u64) { self.value.set_bits((range.start as u8..range.end as u8), value as u8); } [INFO] [stdout] 307 + #[inline] fn set_bits(&mut self, range: Range, value: u64) { self.value.set_bits(range.start as u8..range.end as u8, value as u8); } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around method argument [INFO] [stdout] --> src/types.rs:315:93 [INFO] [stdout] | [INFO] [stdout] 315 | #[inline] fn set_bits(&mut self, range: Range, value: u64) { self.value.set_bits((range.start as u8..range.end as u8), value a... [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 315 - #[inline] fn set_bits(&mut self, range: Range, value: u64) { self.value.set_bits((range.start as u8..range.end as u8), value as u8); } [INFO] [stdout] 315 + #[inline] fn set_bits(&mut self, range: Range, value: u64) { self.value.set_bits(range.start as u8..range.end as u8, value as u8); } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around method argument [INFO] [stdout] --> src/types.rs:323:93 [INFO] [stdout] | [INFO] [stdout] 323 | #[inline] fn set_bits(&mut self, range: Range, value: u64) { self.value.set_bits((range.start as u8..range.end as u8), value a... [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 323 - #[inline] fn set_bits(&mut self, range: Range, value: u64) { self.value.set_bits((range.start as u8..range.end as u8), value as u8); } [INFO] [stdout] 323 + #[inline] fn set_bits(&mut self, range: Range, value: u64) { self.value.set_bits(range.start as u8..range.end as u8, value as u8); } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around method argument [INFO] [stdout] --> src/types.rs:331:93 [INFO] [stdout] | [INFO] [stdout] 331 | #[inline] fn set_bits(&mut self, range: Range, value: u64) { self.value.set_bits((range.start as u8..range.end as u8), value a... [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 331 - #[inline] fn set_bits(&mut self, range: Range, value: u64) { self.value.set_bits((range.start as u8..range.end as u8), value as u8); } [INFO] [stdout] 331 + #[inline] fn set_bits(&mut self, range: Range, value: u64) { self.value.set_bits(range.start as u8..range.end as u8, value as u8); } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around method argument [INFO] [stdout] --> src/types.rs:339:93 [INFO] [stdout] | [INFO] [stdout] 339 | #[inline] fn set_bits(&mut self, range: Range, value: u64) { self.value.set_bits((range.start as u8..range.end as u8), value a... [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 339 - #[inline] fn set_bits(&mut self, range: Range, value: u64) { self.value.set_bits((range.start as u8..range.end as u8), value as u8); } [INFO] [stdout] 339 + #[inline] fn set_bits(&mut self, range: Range, value: u64) { self.value.set_bits(range.start as u8..range.end as u8, value as u8); } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around method argument [INFO] [stdout] --> src/types.rs:347:93 [INFO] [stdout] | [INFO] [stdout] 347 | #[inline] fn set_bits(&mut self, range: Range, value: u64) { self.value.set_bits((range.start as u8..range.end as u8), value a... [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 347 - #[inline] fn set_bits(&mut self, range: Range, value: u64) { self.value.set_bits((range.start as u8..range.end as u8), value as u16); } [INFO] [stdout] 347 + #[inline] fn set_bits(&mut self, range: Range, value: u64) { self.value.set_bits(range.start as u8..range.end as u8, value as u16); } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around method argument [INFO] [stdout] --> src/types.rs:355:93 [INFO] [stdout] | [INFO] [stdout] 355 | #[inline] fn set_bits(&mut self, range: Range, value: u64) { self.value.set_bits((range.start as u8..range.end as u8), value a... [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 355 - #[inline] fn set_bits(&mut self, range: Range, value: u64) { self.value.set_bits((range.start as u8..range.end as u8), value as u32); } [INFO] [stdout] 355 + #[inline] fn set_bits(&mut self, range: Range, value: u64) { self.value.set_bits(range.start as u8..range.end as u8, value as u32); } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around method argument [INFO] [stdout] --> src/types.rs:363:102 [INFO] [stdout] | [INFO] [stdout] 363 | ...ize>, value: u64) { self.value.bitfield.set_bits((range.start as u8..range.end as u8), value as u16); } [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 363 - #[inline] fn set_bits(&mut self, range: Range, value: u64) { self.value.bitfield.set_bits((range.start as u8..range.end as u8), value as u16); } [INFO] [stdout] 363 + #[inline] fn set_bits(&mut self, range: Range, value: u64) { self.value.bitfield.set_bits(range.start as u8..range.end as u8, value as u16); } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crc::calc` [INFO] [stdout] --> src/message_builder.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 15 | use crc::calc; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition [INFO] [stdout] --> src/lib.rs:72:16 [INFO] [stdout] | [INFO] [stdout] 72 | fn from_id(u32) -> Self; [INFO] [stdout] | ^^^ help: try naming the parameter or explicitly ignoring it: `_: u32` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(anonymous_parameters)]` on by default [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018! [INFO] [stdout] = note: for more information, see issue #41686 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/lib.rs:79:71 [INFO] [stdout] | [INFO] [stdout] 79 | fn primitive_field_as_mut(&mut self, field_number: usize) -> &mut UavcanPrimitiveField; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 79 - fn primitive_field_as_mut(&mut self, field_number: usize) -> &mut UavcanPrimitiveField; [INFO] [stdout] 79 + fn primitive_field_as_mut(&mut self, field_number: usize) -> &mut dyn UavcanPrimitiveField; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/lib.rs:80:56 [INFO] [stdout] | [INFO] [stdout] 80 | fn primitive_field(&self, field_number: usize) -> &UavcanPrimitiveField; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 80 - fn primitive_field(&self, field_number: usize) -> &UavcanPrimitiveField; [INFO] [stdout] 80 + fn primitive_field(&self, field_number: usize) -> &dyn UavcanPrimitiveField; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/lib.rs:102:63 [INFO] [stdout] | [INFO] [stdout] 102 | fn primitive_type_as_mut(&mut self, index: usize) -> &mut UavcanPrimitiveType; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 102 - fn primitive_type_as_mut(&mut self, index: usize) -> &mut UavcanPrimitiveType; [INFO] [stdout] 102 + fn primitive_type_as_mut(&mut self, index: usize) -> &mut dyn UavcanPrimitiveType; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/lib.rs:103:48 [INFO] [stdout] | [INFO] [stdout] 103 | fn primitive_type(&self, index: usize) -> &UavcanPrimitiveType; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 103 - fn primitive_type(&self, index: usize) -> &UavcanPrimitiveType; [INFO] [stdout] 103 + fn primitive_type(&self, index: usize) -> &dyn UavcanPrimitiveType; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/types.rs:268:71 [INFO] [stdout] | [INFO] [stdout] 268 | fn primitive_field_as_mut(&mut self, field_number: usize) -> &mut UavcanPrimitiveField{ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 268 - fn primitive_field_as_mut(&mut self, field_number: usize) -> &mut UavcanPrimitiveField{ [INFO] [stdout] 268 + fn primitive_field_as_mut(&mut self, field_number: usize) -> &mut dyn UavcanPrimitiveField{ [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/types.rs:272:56 [INFO] [stdout] | [INFO] [stdout] 272 | fn primitive_field(&self, field_number: usize) -> &UavcanPrimitiveField{ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 272 - fn primitive_field(&self, field_number: usize) -> &UavcanPrimitiveField{ [INFO] [stdout] 272 + fn primitive_field(&self, field_number: usize) -> &dyn UavcanPrimitiveField{ [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/types.rs:289:63 [INFO] [stdout] | [INFO] [stdout] 289 | fn primitive_type_as_mut(&mut self, index: usize) -> &mut UavcanPrimitiveType { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 289 - fn primitive_type_as_mut(&mut self, index: usize) -> &mut UavcanPrimitiveType { [INFO] [stdout] 289 + fn primitive_type_as_mut(&mut self, index: usize) -> &mut dyn UavcanPrimitiveType { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/types.rs:293:48 [INFO] [stdout] | [INFO] [stdout] 293 | fn primitive_type(&self, index: usize) -> &UavcanPrimitiveType { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 293 - fn primitive_type(&self, index: usize) -> &UavcanPrimitiveType { [INFO] [stdout] 293 + fn primitive_type(&self, index: usize) -> &dyn UavcanPrimitiveType { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `from_bitmap` [INFO] [stdout] --> src/types.rs:20:8 [INFO] [stdout] | [INFO] [stdout] 20 | fn from_bitmap(bm: u16) -> f16 { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `add_byte` [INFO] [stdout] --> src/crc.rs:1:4 [INFO] [stdout] | [INFO] [stdout] 1 | fn add_byte(mut crc: u16, data: &u8) -> u16{ [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `add` [INFO] [stdout] --> src/crc.rs:15:8 [INFO] [stdout] | [INFO] [stdout] 15 | pub fn add(mut crc: u16, data: &[u8]) -> u16 { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `calc` [INFO] [stdout] --> src/crc.rs:22:8 [INFO] [stdout] | [INFO] [stdout] 22 | pub fn calc(data: &[u8], data_type_signature: u64) -> u16 { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `crc_calculated` [INFO] [stdout] --> src/message_builder.rs:32:5 [INFO] [stdout] | [INFO] [stdout] 32 | crc_calculated: u16, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 24 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 1.70s [INFO] [stderr] Executable unittests src/lib.rs (/opt/rustwide/target/debug/deps/uavcan_core-ea5790edc285aee2) [INFO] running `Command { std: "docker" "inspect" "0a0b6ff6e63531c83c5675dee68dda9dadb4f45db5bb366baafe2de2569d5c26", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "0a0b6ff6e63531c83c5675dee68dda9dadb4f45db5bb366baafe2de2569d5c26", kill_on_drop: false }` [INFO] [stdout] 0a0b6ff6e63531c83c5675dee68dda9dadb4f45db5bb366baafe2de2569d5c26 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4/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=warn" "-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:eaef2f80f755933c374d2ae5edccceec0c1312ceb8a4e0b6404e8ab76561e1e5" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2022-04-10" "test" "--frozen", kill_on_drop: false }` [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] [stdout] 363f87211d1f82a9ea1492b76512b75082130c8e2c35d07eacf02f5c176510ad [INFO] running `Command { std: "docker" "start" "-a" "363f87211d1f82a9ea1492b76512b75082130c8e2c35d07eacf02f5c176510ad", kill_on_drop: false }` [INFO] [stderr] warning: unused `#[macro_use]` import [INFO] [stderr] --> src/lib.rs:3:1 [INFO] [stderr] | [INFO] [stderr] 3 | #[macro_use] [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `core::mem::transmute` [INFO] [stderr] --> src/types.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use core::mem::transmute; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around method argument [INFO] [stderr] --> src/types.rs:307:93 [INFO] [stderr] | [INFO] [stderr] 307 | #[inline] fn set_bits(&mut self, range: Range, value: u64) { self.value.set_bits((range.start as u8..range.end as u8), value a... [INFO] [stderr] | ^ ^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_parens)]` on by default [INFO] [stderr] help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] 307 - #[inline] fn set_bits(&mut self, range: Range, value: u64) { self.value.set_bits((range.start as u8..range.end as u8), value as u8); } [INFO] [stderr] 307 + #[inline] fn set_bits(&mut self, range: Range, value: u64) { self.value.set_bits(range.start as u8..range.end as u8, value as u8); } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around method argument [INFO] [stderr] --> src/types.rs:315:93 [INFO] [stderr] | [INFO] [stderr] 315 | #[inline] fn set_bits(&mut self, range: Range, value: u64) { self.value.set_bits((range.start as u8..range.end as u8), value a... [INFO] [stderr] | ^ ^ [INFO] [stderr] | [INFO] [stderr] help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] 315 - #[inline] fn set_bits(&mut self, range: Range, value: u64) { self.value.set_bits((range.start as u8..range.end as u8), value as u8); } [INFO] [stderr] 315 + #[inline] fn set_bits(&mut self, range: Range, value: u64) { self.value.set_bits(range.start as u8..range.end as u8, value as u8); } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around method argument [INFO] [stderr] --> src/types.rs:323:93 [INFO] [stderr] | [INFO] [stderr] 323 | #[inline] fn set_bits(&mut self, range: Range, value: u64) { self.value.set_bits((range.start as u8..range.end as u8), value a... [INFO] [stderr] | ^ ^ [INFO] [stderr] | [INFO] [stderr] help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] 323 - #[inline] fn set_bits(&mut self, range: Range, value: u64) { self.value.set_bits((range.start as u8..range.end as u8), value as u8); } [INFO] [stderr] 323 + #[inline] fn set_bits(&mut self, range: Range, value: u64) { self.value.set_bits(range.start as u8..range.end as u8, value as u8); } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around method argument [INFO] [stderr] --> src/types.rs:331:93 [INFO] [stderr] | [INFO] [stderr] 331 | #[inline] fn set_bits(&mut self, range: Range, value: u64) { self.value.set_bits((range.start as u8..range.end as u8), value a... [INFO] [stderr] | ^ ^ [INFO] [stderr] | [INFO] [stderr] help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] 331 - #[inline] fn set_bits(&mut self, range: Range, value: u64) { self.value.set_bits((range.start as u8..range.end as u8), value as u8); } [INFO] [stderr] 331 + #[inline] fn set_bits(&mut self, range: Range, value: u64) { self.value.set_bits(range.start as u8..range.end as u8, value as u8); } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around method argument [INFO] [stderr] --> src/types.rs:339:93 [INFO] [stderr] | [INFO] [stderr] 339 | #[inline] fn set_bits(&mut self, range: Range, value: u64) { self.value.set_bits((range.start as u8..range.end as u8), value a... [INFO] [stderr] | ^ ^ [INFO] [stderr] | [INFO] [stderr] help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] 339 - #[inline] fn set_bits(&mut self, range: Range, value: u64) { self.value.set_bits((range.start as u8..range.end as u8), value as u8); } [INFO] [stderr] 339 + #[inline] fn set_bits(&mut self, range: Range, value: u64) { self.value.set_bits(range.start as u8..range.end as u8, value as u8); } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around method argument [INFO] [stderr] --> src/types.rs:347:93 [INFO] [stderr] | [INFO] [stderr] 347 | #[inline] fn set_bits(&mut self, range: Range, value: u64) { self.value.set_bits((range.start as u8..range.end as u8), value a... [INFO] [stderr] | ^ ^ [INFO] [stderr] | [INFO] [stderr] help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] 347 - #[inline] fn set_bits(&mut self, range: Range, value: u64) { self.value.set_bits((range.start as u8..range.end as u8), value as u16); } [INFO] [stderr] 347 + #[inline] fn set_bits(&mut self, range: Range, value: u64) { self.value.set_bits(range.start as u8..range.end as u8, value as u16); } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around method argument [INFO] [stderr] --> src/types.rs:355:93 [INFO] [stderr] | [INFO] [stderr] 355 | #[inline] fn set_bits(&mut self, range: Range, value: u64) { self.value.set_bits((range.start as u8..range.end as u8), value a... [INFO] [stderr] | ^ ^ [INFO] [stderr] | [INFO] [stderr] help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] 355 - #[inline] fn set_bits(&mut self, range: Range, value: u64) { self.value.set_bits((range.start as u8..range.end as u8), value as u32); } [INFO] [stderr] 355 + #[inline] fn set_bits(&mut self, range: Range, value: u64) { self.value.set_bits(range.start as u8..range.end as u8, value as u32); } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around method argument [INFO] [stderr] --> src/types.rs:363:102 [INFO] [stderr] | [INFO] [stderr] 363 | ...ize>, value: u64) { self.value.bitfield.set_bits((range.start as u8..range.end as u8), value as u16); } [INFO] [stderr] | ^ ^ [INFO] [stderr] | [INFO] [stderr] help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] 363 - #[inline] fn set_bits(&mut self, range: Range, value: u64) { self.value.bitfield.set_bits((range.start as u8..range.end as u8), value as u16); } [INFO] [stderr] 363 + #[inline] fn set_bits(&mut self, range: Range, value: u64) { self.value.bitfield.set_bits(range.start as u8..range.end as u8, value as u16); } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unused import: `crc::calc` [INFO] [stderr] --> src/message_builder.rs:15:5 [INFO] [stderr] | [INFO] [stderr] 15 | use crc::calc; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: anonymous parameters are deprecated and will be removed in the next edition [INFO] [stderr] --> src/lib.rs:72:16 [INFO] [stderr] | [INFO] [stderr] 72 | fn from_id(u32) -> Self; [INFO] [stderr] | ^^^ help: try naming the parameter or explicitly ignoring it: `_: u32` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(anonymous_parameters)]` on by default [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018! [INFO] [stderr] = note: for more information, see issue #41686 [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/lib.rs:79:71 [INFO] [stderr] | [INFO] [stderr] 79 | fn primitive_field_as_mut(&mut self, field_number: usize) -> &mut UavcanPrimitiveField; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 79 - fn primitive_field_as_mut(&mut self, field_number: usize) -> &mut UavcanPrimitiveField; [INFO] [stderr] 79 + fn primitive_field_as_mut(&mut self, field_number: usize) -> &mut dyn UavcanPrimitiveField; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/lib.rs:80:56 [INFO] [stderr] | [INFO] [stderr] 80 | fn primitive_field(&self, field_number: usize) -> &UavcanPrimitiveField; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 80 - fn primitive_field(&self, field_number: usize) -> &UavcanPrimitiveField; [INFO] [stderr] 80 + fn primitive_field(&self, field_number: usize) -> &dyn UavcanPrimitiveField; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/lib.rs:102:63 [INFO] [stderr] | [INFO] [stderr] 102 | fn primitive_type_as_mut(&mut self, index: usize) -> &mut UavcanPrimitiveType; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 102 - fn primitive_type_as_mut(&mut self, index: usize) -> &mut UavcanPrimitiveType; [INFO] [stderr] 102 + fn primitive_type_as_mut(&mut self, index: usize) -> &mut dyn UavcanPrimitiveType; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/lib.rs:103:48 [INFO] [stderr] | [INFO] [stderr] 103 | fn primitive_type(&self, index: usize) -> &UavcanPrimitiveType; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 103 - fn primitive_type(&self, index: usize) -> &UavcanPrimitiveType; [INFO] [stderr] 103 + fn primitive_type(&self, index: usize) -> &dyn UavcanPrimitiveType; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/types.rs:268:71 [INFO] [stderr] | [INFO] [stderr] 268 | fn primitive_field_as_mut(&mut self, field_number: usize) -> &mut UavcanPrimitiveField{ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 268 - fn primitive_field_as_mut(&mut self, field_number: usize) -> &mut UavcanPrimitiveField{ [INFO] [stderr] 268 + fn primitive_field_as_mut(&mut self, field_number: usize) -> &mut dyn UavcanPrimitiveField{ [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/types.rs:272:56 [INFO] [stderr] | [INFO] [stderr] 272 | fn primitive_field(&self, field_number: usize) -> &UavcanPrimitiveField{ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 272 - fn primitive_field(&self, field_number: usize) -> &UavcanPrimitiveField{ [INFO] [stderr] 272 + fn primitive_field(&self, field_number: usize) -> &dyn UavcanPrimitiveField{ [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/types.rs:289:63 [INFO] [stderr] | [INFO] [stderr] 289 | fn primitive_type_as_mut(&mut self, index: usize) -> &mut UavcanPrimitiveType { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 289 - fn primitive_type_as_mut(&mut self, index: usize) -> &mut UavcanPrimitiveType { [INFO] [stderr] 289 + fn primitive_type_as_mut(&mut self, index: usize) -> &mut dyn UavcanPrimitiveType { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/types.rs:293:48 [INFO] [stderr] | [INFO] [stderr] 293 | fn primitive_type(&self, index: usize) -> &UavcanPrimitiveType { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 293 - fn primitive_type(&self, index: usize) -> &UavcanPrimitiveType { [INFO] [stderr] 293 + fn primitive_type(&self, index: usize) -> &dyn UavcanPrimitiveType { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `from_bitmap` [INFO] [stderr] --> src/types.rs:20:8 [INFO] [stderr] | [INFO] [stderr] 20 | fn from_bitmap(bm: u16) -> f16 { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: function is never used: `add_byte` [INFO] [stderr] --> src/crc.rs:1:4 [INFO] [stderr] | [INFO] [stderr] 1 | fn add_byte(mut crc: u16, data: &u8) -> u16{ [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `add` [INFO] [stderr] --> src/crc.rs:15:8 [INFO] [stderr] | [INFO] [stderr] 15 | pub fn add(mut crc: u16, data: &[u8]) -> u16 { [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `calc` [INFO] [stderr] --> src/crc.rs:22:8 [INFO] [stderr] | [INFO] [stderr] 22 | pub fn calc(data: &[u8], data_type_signature: u64) -> u16 { [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never read: `crc_calculated` [INFO] [stderr] --> src/message_builder.rs:32:5 [INFO] [stderr] | [INFO] [stderr] 32 | crc_calculated: u16, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `core::mem::transmute` [INFO] [stderr] --> src/types.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use core::mem::transmute; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: `uavcan-core` (lib) generated 25 warnings [INFO] [stderr] warning: `uavcan-core` (lib test) generated 24 warnings (23 duplicates) [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 0.03s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/uavcan_core-ea5790edc285aee2) [INFO] [stdout] [INFO] [stdout] running 9 tests [INFO] [stdout] test serializer::tests::uavcan_parse_test_misaligned ... ok [INFO] [stdout] test serializer::tests::uavcan_serialize_test_byte_aligned ... ok [INFO] [stderr] Doc-tests uavcan-core [INFO] [stdout] test tests::uavcan_sized_length_derivation ... ok [INFO] [stdout] test frame_generator::tests::serialize_node_status_frame ... ok [INFO] [stdout] test message_builder::tests::parse_from_can_frames_simple ... ok [INFO] [stdout] test tests::uavcan_index_primitive_field ... ok [INFO] [stdout] test parser::tests::uavcan_parse_test_misaligned ... ok [INFO] [stdout] test serializer::tests::remaining_bits ... ok [INFO] [stdout] test parser::tests::uavcan_parse_test_byte_aligned ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 9 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s [INFO] [stdout] [INFO] [stderr] warning: unnecessary parentheses around method argument [INFO] [stderr] --> /opt/rustwide/workdir/src/types.rs:307:93 [INFO] [stderr] | [INFO] [stderr] 307 | #[inline] fn set_bits(&mut self, range: Range, value: u64) { self.value.set_bits((range.start as u8..range.end as u8), value a... [INFO] [stderr] | ^ ^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_parens)]` on by default [INFO] [stderr] help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] 307 - #[inline] fn set_bits(&mut self, range: Range, value: u64) { self.value.set_bits((range.start as u8..range.end as u8), value as u8); } [INFO] [stderr] 307 + #[inline] fn set_bits(&mut self, range: Range, value: u64) { self.value.set_bits(range.start as u8..range.end as u8, value as u8); } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around method argument [INFO] [stderr] --> /opt/rustwide/workdir/src/types.rs:315:93 [INFO] [stderr] | [INFO] [stderr] 315 | #[inline] fn set_bits(&mut self, range: Range, value: u64) { self.value.set_bits((range.start as u8..range.end as u8), value a... [INFO] [stderr] | ^ ^ [INFO] [stderr] | [INFO] [stderr] help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] 315 - #[inline] fn set_bits(&mut self, range: Range, value: u64) { self.value.set_bits((range.start as u8..range.end as u8), value as u8); } [INFO] [stderr] 315 + #[inline] fn set_bits(&mut self, range: Range, value: u64) { self.value.set_bits(range.start as u8..range.end as u8, value as u8); } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around method argument [INFO] [stderr] --> /opt/rustwide/workdir/src/types.rs:323:93 [INFO] [stderr] | [INFO] [stderr] 323 | #[inline] fn set_bits(&mut self, range: Range, value: u64) { self.value.set_bits((range.start as u8..range.end as u8), value a... [INFO] [stderr] | ^ ^ [INFO] [stderr] | [INFO] [stderr] help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] 323 - #[inline] fn set_bits(&mut self, range: Range, value: u64) { self.value.set_bits((range.start as u8..range.end as u8), value as u8); } [INFO] [stderr] 323 + #[inline] fn set_bits(&mut self, range: Range, value: u64) { self.value.set_bits(range.start as u8..range.end as u8, value as u8); } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around method argument [INFO] [stderr] --> /opt/rustwide/workdir/src/types.rs:331:93 [INFO] [stderr] | [INFO] [stderr] 331 | #[inline] fn set_bits(&mut self, range: Range, value: u64) { self.value.set_bits((range.start as u8..range.end as u8), value a... [INFO] [stderr] | ^ ^ [INFO] [stderr] | [INFO] [stderr] help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] 331 - #[inline] fn set_bits(&mut self, range: Range, value: u64) { self.value.set_bits((range.start as u8..range.end as u8), value as u8); } [INFO] [stderr] 331 + #[inline] fn set_bits(&mut self, range: Range, value: u64) { self.value.set_bits(range.start as u8..range.end as u8, value as u8); } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around method argument [INFO] [stderr] --> /opt/rustwide/workdir/src/types.rs:339:93 [INFO] [stderr] | [INFO] [stderr] 339 | #[inline] fn set_bits(&mut self, range: Range, value: u64) { self.value.set_bits((range.start as u8..range.end as u8), value a... [INFO] [stderr] | ^ ^ [INFO] [stderr] | [INFO] [stderr] help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] 339 - #[inline] fn set_bits(&mut self, range: Range, value: u64) { self.value.set_bits((range.start as u8..range.end as u8), value as u8); } [INFO] [stderr] 339 + #[inline] fn set_bits(&mut self, range: Range, value: u64) { self.value.set_bits(range.start as u8..range.end as u8, value as u8); } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around method argument [INFO] [stderr] --> /opt/rustwide/workdir/src/types.rs:347:93 [INFO] [stderr] | [INFO] [stderr] 347 | #[inline] fn set_bits(&mut self, range: Range, value: u64) { self.value.set_bits((range.start as u8..range.end as u8), value a... [INFO] [stderr] | ^ ^ [INFO] [stderr] | [INFO] [stderr] help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] 347 - #[inline] fn set_bits(&mut self, range: Range, value: u64) { self.value.set_bits((range.start as u8..range.end as u8), value as u16); } [INFO] [stderr] 347 + #[inline] fn set_bits(&mut self, range: Range, value: u64) { self.value.set_bits(range.start as u8..range.end as u8, value as u16); } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around method argument [INFO] [stderr] --> /opt/rustwide/workdir/src/types.rs:355:93 [INFO] [stderr] | [INFO] [stderr] 355 | #[inline] fn set_bits(&mut self, range: Range, value: u64) { self.value.set_bits((range.start as u8..range.end as u8), value a... [INFO] [stderr] | ^ ^ [INFO] [stderr] | [INFO] [stderr] help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] 355 - #[inline] fn set_bits(&mut self, range: Range, value: u64) { self.value.set_bits((range.start as u8..range.end as u8), value as u32); } [INFO] [stderr] 355 + #[inline] fn set_bits(&mut self, range: Range, value: u64) { self.value.set_bits(range.start as u8..range.end as u8, value as u32); } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around method argument [INFO] [stderr] --> /opt/rustwide/workdir/src/types.rs:363:102 [INFO] [stderr] | [INFO] [stderr] 363 | ...ize>, value: u64) { self.value.bitfield.set_bits((range.start as u8..range.end as u8), value as u16); } [INFO] [stderr] | ^ ^ [INFO] [stderr] | [INFO] [stderr] help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] 363 - #[inline] fn set_bits(&mut self, range: Range, value: u64) { self.value.bitfield.set_bits((range.start as u8..range.end as u8), value as u16); } [INFO] [stderr] 363 + #[inline] fn set_bits(&mut self, range: Range, value: u64) { self.value.bitfield.set_bits(range.start as u8..range.end as u8, value as u16); } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: 8 warnings emitted [INFO] [stderr] [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "363f87211d1f82a9ea1492b76512b75082130c8e2c35d07eacf02f5c176510ad", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "363f87211d1f82a9ea1492b76512b75082130c8e2c35d07eacf02f5c176510ad", kill_on_drop: false }` [INFO] [stdout] 363f87211d1f82a9ea1492b76512b75082130c8e2c35d07eacf02f5c176510ad