[INFO] fetching crate ublox_derive 0.0.1... [INFO] testing ublox_derive-0.0.1 against 1.45.2 for beta-1.46-1 [INFO] extracting crate ublox_derive 0.0.1 into /workspace/builds/worker-9/source [INFO] validating manifest of crates.io crate ublox_derive 0.0.1 on toolchain 1.45.2 [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+1.45.2" "read-manifest" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] started tweaking crates.io crate ublox_derive 0.0.1 [INFO] finished tweaking crates.io crate ublox_derive 0.0.1 [INFO] tweaked toml for crates.io crate ublox_derive 0.0.1 written to /workspace/builds/worker-9/source/Cargo.toml [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+1.45.2" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update", kill_on_drop: false }` [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+1.45.2" "fetch" "--locked" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-9/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-9/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" "MAP_USER_ID=0" "-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" "--network" "none" "rustops/crates-build-env@sha256:a636fd89d022f18117e1dc8fb37a0a009933cdbbe082814857f0e2024962d47c" "/opt/rustwide/cargo-home/bin/cargo" "+1.45.2" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 462ef5e3f009b9c256ef79d46a2423597dcddc343efc8c6163b032e5a2553006 [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" "462ef5e3f009b9c256ef79d46a2423597dcddc343efc8c6163b032e5a2553006", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "462ef5e3f009b9c256ef79d46a2423597dcddc343efc8c6163b032e5a2553006", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "462ef5e3f009b9c256ef79d46a2423597dcddc343efc8c6163b032e5a2553006", kill_on_drop: false }` [INFO] [stdout] 462ef5e3f009b9c256ef79d46a2423597dcddc343efc8c6163b032e5a2553006 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-9/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-9/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" "MAP_USER_ID=0" "-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" "--network" "none" "rustops/crates-build-env@sha256:a636fd89d022f18117e1dc8fb37a0a009933cdbbe082814857f0e2024962d47c" "/opt/rustwide/cargo-home/bin/cargo" "+1.45.2" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 61cc21290a4035121687af7fda96c36c2ea55e80e1c51c7da8515020f9f9c1de [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" "61cc21290a4035121687af7fda96c36c2ea55e80e1c51c7da8515020f9f9c1de", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.19 [INFO] [stderr] Compiling unicode-xid v0.2.1 [INFO] [stderr] Compiling syn v1.0.37 [INFO] [stderr] Compiling quote v1.0.7 [INFO] [stderr] Compiling ublox_derive v0.0.1 (/opt/rustwide/workdir) [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 25.53s [INFO] running `Command { std: "docker" "inspect" "61cc21290a4035121687af7fda96c36c2ea55e80e1c51c7da8515020f9f9c1de", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "61cc21290a4035121687af7fda96c36c2ea55e80e1c51c7da8515020f9f9c1de", kill_on_drop: false }` [INFO] [stdout] 61cc21290a4035121687af7fda96c36c2ea55e80e1c51c7da8515020f9f9c1de [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-9/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-9/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" "MAP_USER_ID=0" "-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" "--network" "none" "rustops/crates-build-env@sha256:a636fd89d022f18117e1dc8fb37a0a009933cdbbe082814857f0e2024962d47c" "/opt/rustwide/cargo-home/bin/cargo" "+1.45.2" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 59b864eb5908a42d520e120770f115162c86ab457ae72d1545c0c1959c959dfa [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" "59b864eb5908a42d520e120770f115162c86ab457ae72d1545c0c1959c959dfa", kill_on_drop: false }` [INFO] [stderr] Compiling which v3.1.1 [INFO] [stderr] Compiling ublox_derive v0.0.1 (/opt/rustwide/workdir) [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 8.29s [INFO] running `Command { std: "docker" "inspect" "59b864eb5908a42d520e120770f115162c86ab457ae72d1545c0c1959c959dfa", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "59b864eb5908a42d520e120770f115162c86ab457ae72d1545c0c1959c959dfa", kill_on_drop: false }` [INFO] [stdout] 59b864eb5908a42d520e120770f115162c86ab457ae72d1545c0c1959c959dfa [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-9/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-9/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" "MAP_USER_ID=0" "-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" "--network" "none" "rustops/crates-build-env@sha256:a636fd89d022f18117e1dc8fb37a0a009933cdbbe082814857f0e2024962d47c" "/opt/rustwide/cargo-home/bin/cargo" "+1.45.2" "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] 5fa1260b9ae0719179a2ea07cba1517768e394eb06d71c31f4ed74af26f1344d [INFO] running `Command { std: "docker" "start" "-a" "5fa1260b9ae0719179a2ea07cba1517768e394eb06d71c31f4ed74af26f1344d", kill_on_drop: false }` [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 0.04s [INFO] [stderr] Running /opt/rustwide/target/debug/deps/ublox_derive-fc5dd42c7b924d8e [INFO] [stdout] [INFO] [stdout] running 6 tests [INFO] [stdout] test tests::test_upgrade_enum ... ok [INFO] [stdout] test tests::test_extend_bitflags ... ok [INFO] [stdout] test tests::test_ubx_packet_recv_dyn_len ... ok [INFO] [stdout] test tests::test_ubx_packet_send ... FAILED [INFO] [stdout] test tests::test_define_recv_packets ... FAILED [INFO] [stdout] test tests::test_ubx_packet_recv_simple ... FAILED [INFO] [stdout] [INFO] [stdout] failures: [INFO] [stdout] [INFO] [stdout] ---- tests::test_ubx_packet_send stdout ---- [INFO] [stdout] warning=Internal rustfmt error [INFO] [stdout] warning=Internal rustfmt error [INFO] [stdout] first mismatch: [INFO] [stdout] e # [ doc = "Some comment" ] pub struct Test ; impl UbxPacketMeta for Test { const CLASS : u8 = 1u8 ; const ID : u8 = 2u8 ; const FIXED_PAYLOAD_LEN : Option < u16 > = Some ( 9u16 ) ; const MAX_PAYLOAD_LEN : u16 = 9u16 ; } # [ doc = "Some comment" ] # [ doc = "Struct that is used as \"builder\" for packet" ] # [ derive ( Default ) ] pub struct TestBuilder { # [ doc = "" ] pub itow : u32 , # [ doc = "this is lat" ] pub lat_degrees : f64 , # [ doc = "this is a" ] pub a : u8 , } impl TestBuilder { pub const PACKET_LEN : usize = 17usize ; # [ inline ] pub fn into_packet_bytes ( self ) -> [ u8 ; Self :: PACKET_LEN ] { let mut ret = [ 0u8 ; Self :: PACKET_LEN ] ; ret [ 0 ] = SYNC_CHAR_1 ; ret [ 1 ] = SYNC_CHAR_2 ; ret [ 2 ] = Test :: CLASS ; ret [ 3 ] = Test :: ID ; let pack_len_bytes = 9u16 . to_le_bytes ( ) ; ret [ 4 ] = pack_len_bytes [ 0 ] ; ret [ 5 ] = pack_len_bytes [ 1 ] ; let bytes = self . itow . to_le_bytes ( ) ; ret [ 6usize ] = bytes [ 0usize ] ; ret [ 7usize ] = bytes [ 1usize ] ; ret [ 8usize ] = bytes [ 2usize ] ; ret [ 9usize ] = bytes [ 3usize ] ; let bytes = ScaleBack :: < f64 > ( 1. / 1e-7 ) . as_i32 ( self . lat_degrees ) . to_le_bytes ( ) ; ret [ 10usize ] = bytes [ 0usize ] ; ret [ 11usize ] = bytes [ 1usize ] ; ret [ 12usize ] = bytes [ 2usize ] ; ret [ 13usize ] = bytes [ 3usize ] ; let bytes = self . a . to_le_bytes ( ) ; ret [ 14usize ] = bytes [ 0usize ] ; let ( ck_a , ck_b ) = ubx_checksum ( & ret [ 2 .. 17usize - 2 ] ) ; ret [ 17usize - 2 ] = ck_a ; ret [ 17usize - 1 ] = ck_b ; ret } } impl From < TestBuilder > for [ u8 ; 17usize ] { fn from ( x : TestBuilder ) -> Self { x . into_packet_bytes ( ) } } impl UbxPacketCreator for TestBuilder { # [ inline ] fn create_packet < T : MemWriter > ( self , out : & mut T ) -> Result < ( ) , MemWriterError < T :: Error >> { out . reserve_allocate ( 17usize ) ? ; let len_bytes = 9u16 . to_le_bytes ( ) ; let header = [ SYNC_CHAR_1 , SYNC_CHAR_2 , Test :: CLASS , Test :: ID , len_bytes [ 0 ] , len_bytes [ 1 ] , ] ; out . write ( & header ) ? ; let mut checksum_calc = UbxChecksumCalc :: default ( ) ; checksum_calc . update ( & header [ 2 .. ] ) ; let bytes = self . itow . to_le_bytes ( ) ; out . write ( & bytes ) ? ; checksum_calc . update ( & bytes ) ; let bytes = ScaleBack :: < f64 > ( 1. / 1e-7 ) . as_i32 ( self . lat_degrees ) . to_le_bytes ( ) ; out . write ( & bytes ) ? ; checksum_calc . update ( & bytes ) ; let bytes = self . a . to_le_bytes ( ) ; out . write ( & bytes ) ? ; checksum_calc . update ( & bytes ) ; let ( ck_a , ck_b ) = checksum_calc . result ( ) ; out . write ( & [ ck_a , ck_b ] ) ? ; Ok ( ( ) ) } } [INFO] [stdout] g # [ doc = "Some comment" ] pub struct Test ; impl UbxPacketMeta for Test { const CLASS : u8 = 1u8 ; const ID : u8 = 2u8 ; const FIXED_PAYLOAD_LEN : Option < u16 > = Some ( 9u16 ) ; const MAX_PAYLOAD_LEN : u16 = 9u16 ; } # [ doc = "Some comment" ] # [ doc = "Struct that is used as \"builder\" for packet" ] # [ derive ( Default ) ] pub struct TestBuilder { # [ doc = "" ] pub itow : u32 , # [ doc = "this is lat" ] pub lat_degrees : f64 , # [ doc = "this is a" ] pub a : u8 } impl TestBuilder { pub const PACKET_LEN : usize = 17usize ; # [ inline ] pub fn into_packet_bytes ( self ) -> [ u8 ; Self :: PACKET_LEN ] { let mut ret = [ 0u8 ; Self :: PACKET_LEN ] ; ret [ 0 ] = SYNC_CHAR_1 ; ret [ 1 ] = SYNC_CHAR_2 ; ret [ 2 ] = Test :: CLASS ; ret [ 3 ] = Test :: ID ; let pack_len_bytes = 9u16 . to_le_bytes ( ) ; ret [ 4 ] = pack_len_bytes [ 0 ] ; ret [ 5 ] = pack_len_bytes [ 1 ] ; let bytes = self . itow . to_le_bytes ( ) ; ret [ 6usize ] = bytes [ 0usize ] ; ret [ 7usize ] = bytes [ 1usize ] ; ret [ 8usize ] = bytes [ 2usize ] ; ret [ 9usize ] = bytes [ 3usize ] ; let bytes = ScaleBack :: < f64 > ( 1. / 1e-7 ) . as_i32 ( self . lat_degrees ) . to_le_bytes ( ) ; ret [ 10usize ] = bytes [ 0usize ] ; ret [ 11usize ] = bytes [ 1usize ] ; ret [ 12usize ] = bytes [ 2usize ] ; ret [ 13usize ] = bytes [ 3usize ] ; let bytes = self . a . to_le_bytes ( ) ; ret [ 14usize ] = bytes [ 0usize ] ; let ( ck_a , ck_b ) = ubx_checksum ( & ret [ 2 .. 17usize - 2 ] ) ; ret [ 17usize - 2 ] = ck_a ; ret [ 17usize - 1 ] = ck_b ; ret } } impl From < TestBuilder > for [ u8 ; 17usize ] { fn from ( x : TestBuilder ) -> Self { x . into_packet_bytes ( ) } } impl UbxPacketCreator for TestBuilder { # [ inline ] fn create_packet < T : MemWriter > ( self , out : & mut T ) -> Result < ( ) , MemWriterError < T :: Error >> { out . reserve_allocate ( 17usize ) ? ; let len_bytes = 9u16 . to_le_bytes ( ) ; let header = [ SYNC_CHAR_1 , SYNC_CHAR_2 , Test :: CLASS , Test :: ID , len_bytes [ 0 ] , len_bytes [ 1 ] ] ; out . write ( & header ) ? ; let mut checksum_calc = UbxChecksumCalc :: default ( ) ; checksum_calc . update ( & header [ 2 .. ] ) ; let bytes = self . itow . to_le_bytes ( ) ; out . write ( & bytes ) ? ; checksum_calc . update ( & bytes ) ; let bytes = ScaleBack :: < f64 > ( 1. / 1e-7 ) . as_i32 ( self . lat_degrees ) . to_le_bytes ( ) ; out . write ( & bytes ) ? ; checksum_calc . update ( & bytes ) ; let bytes = self . a . to_le_bytes ( ) ; out . write ( & bytes ) ? ; checksum_calc . update ( & bytes ) ; let ( ck_a , ck_b ) = checksum_calc . result ( ) ; out . write ( & [ ck_a , ck_b ] ) ? ; Ok ( ( ) ) } } [INFO] [stdout] thread 'tests::test_ubx_packet_send' panicked at 'Expect: [INFO] [stdout] # [ doc = "Some comment" ] pub struct Test ; impl UbxPacketMeta for Test { const CLASS : u8 = 1u8 ; const ID : u8 = 2u8 ; const FIXED_PAYLOAD_LEN : Option < u16 > = Some ( 9u16 ) ; const MAX_PAYLOAD_LEN : u16 = 9u16 ; } # [ doc = "Some comment" ] # [ doc = "Struct that is used as \"builder\" for packet" ] # [ derive ( Default ) ] pub struct TestBuilder { # [ doc = "" ] pub itow : u32 , # [ doc = "this is lat" ] pub lat_degrees : f64 , # [ doc = "this is a" ] pub a : u8 , } impl TestBuilder { pub const PACKET_LEN : usize = 17usize ; # [ inline ] pub fn into_packet_bytes ( self ) -> [ u8 ; Self :: PACKET_LEN ] { let mut ret = [ 0u8 ; Self :: PACKET_LEN ] ; ret [ 0 ] = SYNC_CHAR_1 ; ret [ 1 ] = SYNC_CHAR_2 ; ret [ 2 ] = Test :: CLASS ; ret [ 3 ] = Test :: ID ; let pack_len_bytes = 9u16 . to_le_bytes ( ) ; ret [ 4 ] = pack_len_bytes [ 0 ] ; ret [ 5 ] = pack_len_bytes [ 1 ] ; let bytes = self . itow . to_le_bytes ( ) ; ret [ 6usize ] = bytes [ 0usize ] ; ret [ 7usize ] = bytes [ 1usize ] ; ret [ 8usize ] = bytes [ 2usize ] ; ret [ 9usize ] = bytes [ 3usize ] ; let bytes = ScaleBack :: < f64 > ( 1. / 1e-7 ) . as_i32 ( self . lat_degrees ) . to_le_bytes ( ) ; ret [ 10usize ] = bytes [ 0usize ] ; ret [ 11usize ] = bytes [ 1usize ] ; ret [ 12usize ] = bytes [ 2usize ] ; ret [ 13usize ] = bytes [ 3usize ] ; let bytes = self . a . to_le_bytes ( ) ; ret [ 14usize ] = bytes [ 0usize ] ; let ( ck_a , ck_b ) = ubx_checksum ( & ret [ 2 .. 17usize - 2 ] ) ; ret [ 17usize - 2 ] = ck_a ; ret [ 17usize - 1 ] = ck_b ; ret } } impl From < TestBuilder > for [ u8 ; 17usize ] { fn from ( x : TestBuilder ) -> Self { x . into_packet_bytes ( ) } } impl UbxPacketCreator for TestBuilder { # [ inline ] fn create_packet < T : MemWriter > ( self , out : & mut T ) -> Result < ( ) , MemWriterError < T :: Error >> { out . reserve_allocate ( 17usize ) ? ; let len_bytes = 9u16 . to_le_bytes ( ) ; let header = [ SYNC_CHAR_1 , SYNC_CHAR_2 , Test :: CLASS , Test :: ID , len_bytes [ 0 ] , len_bytes [ 1 ] , ] ; out . write ( & header ) ? ; let mut checksum_calc = UbxChecksumCalc :: default ( ) ; checksum_calc . update ( & header [ 2 .. ] ) ; let bytes = self . itow . to_le_bytes ( ) ; out . write ( & bytes ) ? ; checksum_calc . update ( & bytes ) ; let bytes = ScaleBack :: < f64 > ( 1. / 1e-7 ) . as_i32 ( self . lat_degrees ) . to_le_bytes ( ) ; out . write ( & bytes ) ? ; checksum_calc . update ( & bytes ) ; let bytes = self . a . to_le_bytes ( ) ; out . write ( & bytes ) ? ; checksum_calc . update ( & bytes ) ; let ( ck_a , ck_b ) = checksum_calc . result ( ) ; out . write ( & [ ck_a , ck_b ] ) ? ; Ok ( ( ) ) } } [INFO] [stdout] Got: [INFO] [stdout] # [ doc = "Some comment" ] pub struct Test ; impl UbxPacketMeta for Test { const CLASS : u8 = 1u8 ; const ID : u8 = 2u8 ; const FIXED_PAYLOAD_LEN : Option < u16 > = Some ( 9u16 ) ; const MAX_PAYLOAD_LEN : u16 = 9u16 ; } # [ doc = "Some comment" ] # [ doc = "Struct that is used as \"builder\" for packet" ] # [ derive ( Default ) ] pub struct TestBuilder { # [ doc = "" ] pub itow : u32 , # [ doc = "this is lat" ] pub lat_degrees : f64 , # [ doc = "this is a" ] pub a : u8 } impl TestBuilder { pub const PACKET_LEN : usize = 17usize ; # [ inline ] pub fn into_packet_bytes ( self ) -> [ u8 ; Self :: PACKET_LEN ] { let mut ret = [ 0u8 ; Self :: PACKET_LEN ] ; ret [ 0 ] = SYNC_CHAR_1 ; ret [ 1 ] = SYNC_CHAR_2 ; ret [ 2 ] = Test :: CLASS ; ret [ 3 ] = Test :: ID ; let pack_len_bytes = 9u16 . to_le_bytes ( ) ; ret [ 4 ] = pack_len_bytes [ 0 ] ; ret [ 5 ] = pack_len_bytes [ 1 ] ; let bytes = self . itow . to_le_bytes ( ) ; ret [ 6usize ] = bytes [ 0usize ] ; ret [ 7usize ] = bytes [ 1usize ] ; ret [ 8usize ] = bytes [ 2usize ] ; ret [ 9usize ] = bytes [ 3usize ] ; let bytes = ScaleBack :: < f64 > ( 1. / 1e-7 ) . as_i32 ( self . lat_degrees ) . to_le_bytes ( ) ; ret [ 10usize ] = bytes [ 0usize ] ; ret [ 11usize ] = bytes [ 1usize ] ; ret [ 12usize ] = bytes [ 2usize ] ; ret [ 13usize ] = bytes [ 3usize ] ; let bytes = self . a . to_le_bytes ( ) ; ret [ 14usize ] = bytes [ 0usize ] ; let ( ck_a , ck_b ) = ubx_checksum ( & ret [ 2 .. 17usize - 2 ] ) ; ret [ 17usize - 2 ] = ck_a ; ret [ 17usize - 1 ] = ck_b ; ret } } impl From < TestBuilder > for [ u8 ; 17usize ] { fn from ( x : TestBuilder ) -> Self { x . into_packet_bytes ( ) } } impl UbxPacketCreator for TestBuilder { # [ inline ] fn create_packet < T : MemWriter > ( self , out : & mut T ) -> Result < ( ) , MemWriterError < T :: Error >> { out . reserve_allocate ( 17usize ) ? ; let len_bytes = 9u16 . to_le_bytes ( ) ; let header = [ SYNC_CHAR_1 , SYNC_CHAR_2 , Test :: CLASS , Test :: ID , len_bytes [ 0 ] , len_bytes [ 1 ] ] ; out . write ( & header ) ? ; let mut checksum_calc = UbxChecksumCalc :: default ( ) ; checksum_calc . update ( & header [ 2 .. ] ) ; let bytes = self . itow . to_le_bytes ( ) ; out . write ( & bytes ) ? ; checksum_calc . update ( & bytes ) ; let bytes = ScaleBack :: < f64 > ( 1. / 1e-7 ) . as_i32 ( self . lat_degrees ) . to_le_bytes ( ) ; out . write ( & bytes ) ? ; checksum_calc . update ( & bytes ) ; let bytes = self . a . to_le_bytes ( ) ; out . write ( & bytes ) ? ; checksum_calc . update ( & bytes ) ; let ( ck_a , ck_b ) = checksum_calc . result ( ) ; out . write ( & [ ck_a , ck_b ] ) ? ; Ok ( ( ) ) } } [INFO] [stdout] ', src/tests.rs:503:9 [INFO] [stdout] stack backtrace: [INFO] [stdout] 0: 0x7fa4f692c0e5 - backtrace::backtrace::libunwind::trace::ha215bbf14e328799 [INFO] [stdout] at /cargo/registry/src/github.com-1ecc6299db9ec823/backtrace-0.3.46/src/backtrace/libunwind.rs:86 [INFO] [stdout] 1: 0x7fa4f692c0e5 - backtrace::backtrace::trace_unsynchronized::h3384b099b135857a [INFO] [stdout] at /cargo/registry/src/github.com-1ecc6299db9ec823/backtrace-0.3.46/src/backtrace/mod.rs:66 [INFO] [stdout] 2: 0x7fa4f692c0e5 - std::sys_common::backtrace::_print_fmt::hfec93740f7294682 [INFO] [stdout] at src/libstd/sys_common/backtrace.rs:78 [INFO] [stdout] 3: 0x7fa4f692c0e5 - ::fmt::h5fe20777f4174074 [INFO] [stdout] at src/libstd/sys_common/backtrace.rs:59 [INFO] [stdout] 4: 0x7fa4f69697fc - core::fmt::write::he14c3177144df275 [INFO] [stdout] at src/libcore/fmt/mod.rs:1076 [INFO] [stdout] 5: 0x7fa4f6bd3755 - std::io::Write::write_fmt::ha866504c9998fe5e [INFO] [stdout] at /rustc/d3fb005a39e62501b8b0b356166e515ae24e2e54/src/libstd/io/mod.rs:1537 [INFO] [stdout] 6: 0x7fa4f69191f1 - std::io::impls::>::write_fmt::h8f0a2af895559593 [INFO] [stdout] at src/libstd/io/impls.rs:176 [INFO] [stdout] 7: 0x7fa4f6931100 - std::sys_common::backtrace::_print::h9cfa4c87526ba064 [INFO] [stdout] at src/libstd/sys_common/backtrace.rs:62 [INFO] [stdout] 8: 0x7fa4f6931100 - std::sys_common::backtrace::print::h94936584848b3272 [INFO] [stdout] at src/libstd/sys_common/backtrace.rs:49 [INFO] [stdout] 9: 0x7fa4f6931100 - std::panicking::default_hook::{{closure}}::h733b20cc9b496e46 [INFO] [stdout] at src/libstd/panicking.rs:198 [INFO] [stdout] 10: 0x7fa4f6930dfa - std::panicking::default_hook::h556d8cff6c12a651 [INFO] [stdout] at src/libstd/panicking.rs:215 [INFO] [stdout] 11: 0x7fa4f69317ac - std::panicking::rust_panic_with_hook::ha0c7ca5b39baa9d5 [INFO] [stdout] at src/libstd/panicking.rs:490 [INFO] [stdout] 12: 0x7fa4f693138b - rust_begin_unwind [INFO] [stdout] at src/libstd/panicking.rs:388 [INFO] [stdout] 13: 0x7fa4f69312fb - std::panicking::begin_panic_fmt::ha757bc84d5ed8cb6 [INFO] [stdout] at src/libstd/panicking.rs:342 [INFO] [stdout] 14: 0x55a13c5d57c6 - ublox_derive::tests::run_compare_test::h97f44ede24b6eb64 [INFO] [stdout] at src/tests.rs:503 [INFO] [stdout] 15: 0x55a13c5e5ed6 - ublox_derive::tests::test_ubx_packet_send::hc7b17e292a6060d0 [INFO] [stdout] at src/tests.rs:209 [INFO] [stdout] 16: 0x55a13c5dfc0a - ublox_derive::tests::test_ubx_packet_send::{{closure}}::h850a168b119fc21d [INFO] [stdout] at src/tests.rs:188 [INFO] [stdout] 17: 0x55a13c6270ee - core::ops::function::FnOnce::call_once::h74dd3b296a5760c4 [INFO] [stdout] at /rustc/d3fb005a39e62501b8b0b356166e515ae24e2e54/src/libcore/ops/function.rs:232 [INFO] [stdout] 18: 0x7fa4f6bfd812 - as core::ops::function::FnOnce>::call_once::h1efcc6525b6aa145 [INFO] [stdout] at /rustc/d3fb005a39e62501b8b0b356166e515ae24e2e54/src/liballoc/boxed.rs:1076 [INFO] [stdout] 19: 0x7fa4f6bfd812 - as core::ops::function::FnOnce<()>>::call_once::hafd7ae2f3c23f399 [INFO] [stdout] at /rustc/d3fb005a39e62501b8b0b356166e515ae24e2e54/src/libstd/panic.rs:318 [INFO] [stdout] 20: 0x7fa4f6bfd812 - std::panicking::try::do_call::h83baf26f5fc8b0a5 [INFO] [stdout] at /rustc/d3fb005a39e62501b8b0b356166e515ae24e2e54/src/libstd/panicking.rs:297 [INFO] [stdout] 21: 0x7fa4f6bfd812 - std::panicking::try::h8d28a678b90bb6ac [INFO] [stdout] at /rustc/d3fb005a39e62501b8b0b356166e515ae24e2e54/src/libstd/panicking.rs:274 [INFO] [stdout] 22: 0x7fa4f6bfd812 - std::panic::catch_unwind::h20734e8710644f59 [INFO] [stdout] at /rustc/d3fb005a39e62501b8b0b356166e515ae24e2e54/src/libstd/panic.rs:394 [INFO] [stdout] 23: 0x7fa4f6bfd812 - test::run_test_in_process::h2c1fb2dd0c9013bb [INFO] [stdout] at src/libtest/lib.rs:541 [INFO] [stdout] 24: 0x7fa4f6bfd812 - test::run_test::run_test_inner::{{closure}}::h7c58b7aefdb9adf3 [INFO] [stdout] at src/libtest/lib.rs:450 [INFO] [stdout] 25: 0x7fa4f6bd2c16 - std::sys_common::backtrace::__rust_begin_short_backtrace::h498f21fd16bdff05 [INFO] [stdout] at /rustc/d3fb005a39e62501b8b0b356166e515ae24e2e54/src/libstd/sys_common/backtrace.rs:130 [INFO] [stdout] 26: 0x7fa4f6bd8c55 - std::thread::Builder::spawn_unchecked::{{closure}}::{{closure}}::hb35336a0a0430e6d [INFO] [stdout] at /rustc/d3fb005a39e62501b8b0b356166e515ae24e2e54/src/libstd/thread/mod.rs:475 [INFO] [stdout] 27: 0x7fa4f6bd8c55 - as core::ops::function::FnOnce<()>>::call_once::h8569a86268e08ad1 [INFO] [stdout] at /rustc/d3fb005a39e62501b8b0b356166e515ae24e2e54/src/libstd/panic.rs:318 [INFO] [stdout] 28: 0x7fa4f6bd8c55 - std::panicking::try::do_call::hcc5472a0f1ff31ac [INFO] [stdout] at /rustc/d3fb005a39e62501b8b0b356166e515ae24e2e54/src/libstd/panicking.rs:297 [INFO] [stdout] 29: 0x7fa4f6bd8c55 - std::panicking::try::h774b0c4fd770945c [INFO] [stdout] at /rustc/d3fb005a39e62501b8b0b356166e515ae24e2e54/src/libstd/panicking.rs:274 [INFO] [stdout] 30: 0x7fa4f6bd8c55 - std::panic::catch_unwind::hfaf7c6beb53320e7 [INFO] [stdout] at /rustc/d3fb005a39e62501b8b0b356166e515ae24e2e54/src/libstd/panic.rs:394 [INFO] [stdout] 31: 0x7fa4f6bd8c55 - std::thread::Builder::spawn_unchecked::{{closure}}::h481343a824704446 [INFO] [stdout] at /rustc/d3fb005a39e62501b8b0b356166e515ae24e2e54/src/libstd/thread/mod.rs:474 [INFO] [stdout] 32: 0x7fa4f6bd8c55 - core::ops::function::FnOnce::call_once{{vtable.shim}}::h9dcbc7fc2c4c6c48 [INFO] [stdout] at /rustc/d3fb005a39e62501b8b0b356166e515ae24e2e54/src/libcore/ops/function.rs:232 [INFO] [stdout] 33: 0x7fa4f694110a - as core::ops::function::FnOnce>::call_once::hf311c88f1fadb9b8 [INFO] [stdout] at /rustc/d3fb005a39e62501b8b0b356166e515ae24e2e54/src/liballoc/boxed.rs:1076 [INFO] [stdout] 34: 0x7fa4f694110a - as core::ops::function::FnOnce>::call_once::h8cfb7235b81393ef [INFO] [stdout] at /rustc/d3fb005a39e62501b8b0b356166e515ae24e2e54/src/liballoc/boxed.rs:1076 [INFO] [stdout] 35: 0x7fa4f694110a - std::sys::unix::thread::Thread::new::thread_start::hf745c8cf29a89648 [INFO] [stdout] at src/libstd/sys/unix/thread.rs:87 [INFO] [stdout] 36: 0x7fa4f6883609 - start_thread [INFO] [stdout] 37: 0x7fa4f678f103 - __clone [INFO] [stdout] 38: 0x0 - [INFO] [stdout] [INFO] [stdout] ---- tests::test_define_recv_packets stdout ---- [INFO] [stdout] warning=Internal rustfmt error [INFO] [stdout] warning=Internal rustfmt error [INFO] [stdout] first mismatch: [INFO] [stdout] e # [ doc = "All possible packets enum" ] pub enum PacketRef < 'a > { Pack1 ( Pack1Ref < 'a > ) , Pack2 ( Pack2Ref < 'a > ) , Unknown ( UnknownPacketRef < 'a > ) } impl < 'a > PacketRef < 'a > { pub fn class_and_msg_id ( & self ) -> ( u8 , u8 ) { match * self { PacketRef :: Pack1 ( _ ) => ( Pack1 :: CLASS , Pack1 :: ID ) , PacketRef :: Pack2 ( _ ) => ( Pack2 :: CLASS , Pack2 :: ID ) , PacketRef :: Unknown ( ref pack ) => ( pack . class , pack . msg_id ) , } } } pub ( crate ) fn match_packet ( class : u8 , msg_id : u8 , payload : & [ u8 ] , ) -> Result < PacketRef , ParserError > { match ( class , msg_id ) { ( Pack1 :: CLASS , Pack1 :: ID ) if < Pack1Ref > :: validate ( payload ) . is_ok ( ) => { Ok ( PacketRef :: Pack1 ( Pack1Ref ( payload ) ) ) } ( Pack2 :: CLASS , Pack2 :: ID ) if < Pack2Ref > :: validate ( payload ) . is_ok ( ) => { Ok ( PacketRef :: Pack2 ( Pack2Ref ( payload ) ) ) } _ => Ok ( PacketRef :: Unknown ( UnknownPacketRef { payload , class , msg_id , } ) ) , } } const fn max_u16 ( a : u16 , b : u16 ) -> u16 { [ a , b ] [ ( a < b ) as usize ] } pub ( crate ) const MAX_PAYLOAD_LEN : u16 = max_u16 ( Pack2 :: MAX_PAYLOAD_LEN , max_u16 ( Pack1 :: MAX_PAYLOAD_LEN , 0u16 ) ) ; [INFO] [stdout] g # [ doc = "All possible packets enum" ] pub enum PacketRef < 'a > { Pack1 ( Pack1Ref < 'a > ) , Pack2 ( Pack2Ref < 'a > ) , Unknown ( UnknownPacketRef < 'a > ) } impl < 'a > PacketRef < 'a > { pub fn class_and_msg_id ( & self ) -> ( u8 , u8 ) { match * self { PacketRef :: Pack1 ( _ ) => ( Pack1 :: CLASS , Pack1 :: ID ) , PacketRef :: Pack2 ( _ ) => ( Pack2 :: CLASS , Pack2 :: ID ) , PacketRef :: Unknown ( ref pack ) => ( pack . class , pack . msg_id ) , } } } pub ( crate ) fn match_packet ( class : u8 , msg_id : u8 , payload : & [ u8 ] ) -> Result < PacketRef , ParserError > { match ( class , msg_id ) { ( Pack1 :: CLASS , Pack1 :: ID ) if < Pack1Ref > :: validate ( payload ) . is_ok ( ) => { Ok ( PacketRef :: Pack1 ( Pack1Ref ( payload ) ) ) } ( Pack2 :: CLASS , Pack2 :: ID ) if < Pack2Ref > :: validate ( payload ) . is_ok ( ) => { Ok ( PacketRef :: Pack2 ( Pack2Ref ( payload ) ) ) } _ => Ok ( PacketRef :: Unknown ( UnknownPacketRef { payload , class , msg_id } ) ) , } } const fn max_u16 ( a : u16 , b : u16 ) -> u16 { [ a , b ] [ ( a < b ) as usize ] } pub ( crate ) const MAX_PAYLOAD_LEN : u16 = max_u16 ( Pack2 :: MAX_PAYLOAD_LEN , max_u16 ( Pack1 :: MAX_PAYLOAD_LEN , 0u16 ) ) ; [INFO] [stdout] thread 'tests::test_define_recv_packets' panicked at 'Expect: [INFO] [stdout] # [ doc = "All possible packets enum" ] pub enum PacketRef < 'a > { Pack1 ( Pack1Ref < 'a > ) , Pack2 ( Pack2Ref < 'a > ) , Unknown ( UnknownPacketRef < 'a > ) } impl < 'a > PacketRef < 'a > { pub fn class_and_msg_id ( & self ) -> ( u8 , u8 ) { match * self { PacketRef :: Pack1 ( _ ) => ( Pack1 :: CLASS , Pack1 :: ID ) , PacketRef :: Pack2 ( _ ) => ( Pack2 :: CLASS , Pack2 :: ID ) , PacketRef :: Unknown ( ref pack ) => ( pack . class , pack . msg_id ) , } } } pub ( crate ) fn match_packet ( class : u8 , msg_id : u8 , payload : & [ u8 ] , ) -> Result < PacketRef , ParserError > { match ( class , msg_id ) { ( Pack1 :: CLASS , Pack1 :: ID ) if < Pack1Ref > :: validate ( payload ) . is_ok ( ) => { Ok ( PacketRef :: Pack1 ( Pack1Ref ( payload ) ) ) } ( Pack2 :: CLASS , Pack2 :: ID ) if < Pack2Ref > :: validate ( payload ) . is_ok ( ) => { Ok ( PacketRef :: Pack2 ( Pack2Ref ( payload ) ) ) } _ => Ok ( PacketRef :: Unknown ( UnknownPacketRef { payload , class , msg_id , } ) ) , } } const fn max_u16 ( a : u16 , b : u16 ) -> u16 { [ a , b ] [ ( a < b ) as usize ] } pub ( crate ) const MAX_PAYLOAD_LEN : u16 = max_u16 ( Pack2 :: MAX_PAYLOAD_LEN , max_u16 ( Pack1 :: MAX_PAYLOAD_LEN , 0u16 ) ) ; [INFO] [stdout] Got: [INFO] [stdout] # [ doc = "All possible packets enum" ] pub enum PacketRef < 'a > { Pack1 ( Pack1Ref < 'a > ) , Pack2 ( Pack2Ref < 'a > ) , Unknown ( UnknownPacketRef < 'a > ) } impl < 'a > PacketRef < 'a > { pub fn class_and_msg_id ( & self ) -> ( u8 , u8 ) { match * self { PacketRef :: Pack1 ( _ ) => ( Pack1 :: CLASS , Pack1 :: ID ) , PacketRef :: Pack2 ( _ ) => ( Pack2 :: CLASS , Pack2 :: ID ) , PacketRef :: Unknown ( ref pack ) => ( pack . class , pack . msg_id ) , } } } pub ( crate ) fn match_packet ( class : u8 , msg_id : u8 , payload : & [ u8 ] ) -> Result < PacketRef , ParserError > { match ( class , msg_id ) { ( Pack1 :: CLASS , Pack1 :: ID ) if < Pack1Ref > :: validate ( payload ) . is_ok ( ) => { Ok ( PacketRef :: Pack1 ( Pack1Ref ( payload ) ) ) } ( Pack2 :: CLASS , Pack2 :: ID ) if < Pack2Ref > :: validate ( payload ) . is_ok ( ) => { Ok ( PacketRef :: Pack2 ( Pack2Ref ( payload ) ) ) } _ => Ok ( PacketRef :: Unknown ( UnknownPacketRef { payload , class , msg_id } ) ) , } } const fn max_u16 ( a : u16 , b : u16 ) -> u16 { [ a , b ] [ ( a < b ) as usize ] } pub ( crate ) const MAX_PAYLOAD_LEN : u16 = max_u16 ( Pack2 :: MAX_PAYLOAD_LEN , max_u16 ( Pack1 :: MAX_PAYLOAD_LEN , 0u16 ) ) ; [INFO] [stdout] ', src/tests.rs:503:9 [INFO] [stdout] stack backtrace: [INFO] [stdout] 0: 0x7fa4f692c0e5 - backtrace::backtrace::libunwind::trace::ha215bbf14e328799 [INFO] [stdout] at /cargo/registry/src/github.com-1ecc6299db9ec823/backtrace-0.3.46/src/backtrace/libunwind.rs:86 [INFO] [stdout] 1: 0x7fa4f692c0e5 - backtrace::backtrace::trace_unsynchronized::h3384b099b135857a [INFO] [stdout] at /cargo/registry/src/github.com-1ecc6299db9ec823/backtrace-0.3.46/src/backtrace/mod.rs:66 [INFO] [stdout] 2: 0x7fa4f692c0e5 - std::sys_common::backtrace::_print_fmt::hfec93740f7294682 [INFO] [stdout] at src/libstd/sys_common/backtrace.rs:78 [INFO] [stdout] 3: 0x7fa4f692c0e5 - ::fmt::h5fe20777f4174074 [INFO] [stdout] at src/libstd/sys_common/backtrace.rs:59 [INFO] [stdout] 4: 0x7fa4f69697fc - core::fmt::write::he14c3177144df275 [INFO] [stdout] at src/libcore/fmt/mod.rs:1076 [INFO] [stdout] 5: 0x7fa4f6bd3755 - std::io::Write::write_fmt::ha866504c9998fe5e [INFO] [stdout] at /rustc/d3fb005a39e62501b8b0b356166e515ae24e2e54/src/libstd/io/mod.rs:1537 [INFO] [stdout] 6: 0x7fa4f69191f1 - std::io::impls::>::write_fmt::h8f0a2af895559593 [INFO] [stdout] at src/libstd/io/impls.rs:176 [INFO] [stdout] 7: 0x7fa4f6931100 - std::sys_common::backtrace::_print::h9cfa4c87526ba064 [INFO] [stdout] at src/libstd/sys_common/backtrace.rs:62 [INFO] [stdout] 8: 0x7fa4f6931100 - std::sys_common::backtrace::print::h94936584848b3272 [INFO] [stdout] at src/libstd/sys_common/backtrace.rs:49 [INFO] [stdout] 9: 0x7fa4f6931100 - std::panicking::default_hook::{{closure}}::h733b20cc9b496e46 [INFO] [stdout] at src/libstd/panicking.rs:198 [INFO] [stdout] 10: 0x7fa4f6930dfa - std::panicking::default_hook::h556d8cff6c12a651 [INFO] [stdout] at src/libstd/panicking.rs:215 [INFO] [stdout] 11: 0x7fa4f69317ac - std::panicking::rust_panic_with_hook::ha0c7ca5b39baa9d5 [INFO] [stdout] at src/libstd/panicking.rs:490 [INFO] [stdout] 12: 0x7fa4f693138b - rust_begin_unwind [INFO] [stdout] at src/libstd/panicking.rs:388 [INFO] [stdout] 13: 0x7fa4f69312fb - std::panicking::begin_panic_fmt::ha757bc84d5ed8cb6 [INFO] [stdout] at src/libstd/panicking.rs:342 [INFO] [stdout] 14: 0x55a13c5d57c6 - ublox_derive::tests::run_compare_test::h97f44ede24b6eb64 [INFO] [stdout] at src/tests.rs:503 [INFO] [stdout] 15: 0x55a13c5eba24 - ublox_derive::tests::test_define_recv_packets::hbb85a51f099d6201 [INFO] [stdout] at src/tests.rs:386 [INFO] [stdout] 16: 0x55a13c5e8c2a - ublox_derive::tests::test_define_recv_packets::{{closure}}::hffc0c2ea27368f10 [INFO] [stdout] at src/tests.rs:373 [INFO] [stdout] 17: 0x55a13c62709e - core::ops::function::FnOnce::call_once::h6a683bd5b5d79ebc [INFO] [stdout] at /rustc/d3fb005a39e62501b8b0b356166e515ae24e2e54/src/libcore/ops/function.rs:232 [INFO] [stdout] 18: 0x7fa4f6bfd812 - as core::ops::function::FnOnce>::call_once::h1efcc6525b6aa145 [INFO] [stdout] at /rustc/d3fb005a39e62501b8b0b356166e515ae24e2e54/src/liballoc/boxed.rs:1076 [INFO] [stdout] 19: 0x7fa4f6bfd812 - as core::ops::function::FnOnce<()>>::call_once::hafd7ae2f3c23f399 [INFO] [stdout] at /rustc/d3fb005a39e62501b8b0b356166e515ae24e2e54/src/libstd/panic.rs:318 [INFO] [stdout] 20: 0x7fa4f6bfd812 - std::panicking::try::do_call::h83baf26f5fc8b0a5 [INFO] [stdout] at /rustc/d3fb005a39e62501b8b0b356166e515ae24e2e54/src/libstd/panicking.rs:297 [INFO] [stdout] 21: 0x7fa4f6bfd812 - std::panicking::try::h8d28a678b90bb6ac [INFO] [stdout] at /rustc/d3fb005a39e62501b8b0b356166e515ae24e2e54/src/libstd/panicking.rs:274 [INFO] [stdout] 22: 0x7fa4f6bfd812 - std::panic::catch_unwind::h20734e8710644f59 [INFO] [stdout] at /rustc/d3fb005a39e62501b8b0b356166e515ae24e2e54/src/libstd/panic.rs:394 [INFO] [stdout] 23: 0x7fa4f6bfd812 - test::run_test_in_process::h2c1fb2dd0c9013bb [INFO] [stdout] at src/libtest/lib.rs:541 [INFO] [stdout] 24: 0x7fa4f6bfd812 - test::run_test::run_test_inner::{{closure}}::h7c58b7aefdb9adf3 [INFO] [stdout] at src/libtest/lib.rs:450 [INFO] [stdout] 25: 0x7fa4f6bd2c16 - std::sys_common::backtrace::__rust_begin_short_backtrace::h498f21fd16bdff05 [INFO] [stdout] at /rustc/d3fb005a39e62501b8b0b356166e515ae24e2e54/src/libstd/sys_common/backtrace.rs:130 [INFO] [stdout] 26: 0x7fa4f6bd8c55 - std::thread::Builder::spawn_unchecked::{{closure}}::{{closure}}::hb35336a0a0430e6d [INFO] [stdout] at /rustc/d3fb005a39e62501b8b0b356166e515ae24e2e54/src/libstd/thread/mod.rs:475 [INFO] [stdout] 27: 0x7fa4f6bd8c55 - as core::ops::function::FnOnce<()>>::call_once::h8569a86268e08ad1 [INFO] [stdout] at /rustc/d3fb005a39e62501b8b0b356166e515ae24e2e54/src/libstd/panic.rs:318 [INFO] [stdout] 28: 0x7fa4f6bd8c55 - std::panicking::try::do_call::hcc5472a0f1ff31ac [INFO] [stdout] at /rustc/d3fb005a39e62501b8b0b356166e515ae24e2e54/src/libstd/panicking.rs:297 [INFO] [stdout] 29: 0x7fa4f6bd8c55 - std::panicking::try::h774b0c4fd770945c [INFO] [stdout] at /rustc/d3fb005a39e62501b8b0b356166e515ae24e2e54/src/libstd/panicking.rs:274 [INFO] [stdout] 30: 0x7fa4f6bd8c55 - std::panic::catch_unwind::hfaf7c6beb53320e7 [INFO] [stdout] at /rustc/d3fb005a39e62501b8b0b356166e515ae24e2e54/src/libstd/panic.rs:394 [INFO] [stdout] 31: 0x7fa4f6bd8c55 - std::thread::Builder::spawn_unchecked::{{closure}}::h481343a824704446 [INFO] [stdout] at /rustc/d3fb005a39e62501b8b0b356166e515ae24e2e54/src/libstd/thread/mod.rs:474 [INFO] [stdout] 32: 0x7fa4f6bd8c55 - core::ops::function::FnOnce::call_once{{vtable.shim}}::h9dcbc7fc2c4c6c48 [INFO] [stdout] at /rustc/d3fb005a39e62501b8b0b356166e515ae24e2e54/src/libcore/ops/function.rs:232 [INFO] [stdout] 33: 0x7fa4f694110a - as core::ops::function::FnOnce>::call_once::hf311c88f1fadb9b8 [INFO] [stdout] at /rustc/d3fb005a39e62501b8b0b356166e515ae24e2e54/src/liballoc/boxed.rs:1076 [INFO] [stdout] 34: 0x7fa4f694110a - as core::ops::function::FnOnce>::call_once::h8cfb7235b81393ef [INFO] [stdout] at /rustc/d3fb005a39e62501b8b0b356166e515ae24e2e54/src/liballoc/boxed.rs:1076 [INFO] [stdout] 35: 0x7fa4f694110a - std::sys::unix::thread::Thread::new::thread_start::hf745c8cf29a89648 [INFO] [stdout] at src/libstd/sys/unix/thread.rs:87 [INFO] [stdout] 36: 0x7fa4f6883609 - start_thread [INFO] [stdout] 37: 0x7fa4f678f103 - __clone [INFO] [stdout] 38: 0x0 - [INFO] [stdout] [INFO] [stdout] ---- tests::test_ubx_packet_recv_simple stdout ---- [INFO] [stdout] warning=Internal rustfmt error [INFO] [stdout] warning=Internal rustfmt error [INFO] [stdout] first mismatch: [INFO] [stdout] e # [ doc = "Some comment" ] pub struct Test ; impl UbxPacketMeta for Test { const CLASS : u8 = 1u8 ; const ID : u8 = 2u8 ; const FIXED_PAYLOAD_LEN : Option < u16 > = Some ( 16u16 ) ; const MAX_PAYLOAD_LEN : u16 = 16u16 ; } # [ doc = "Some comment" ] # [ doc = "It is just reference to internal parser's buffer" ] pub struct TestRef < 'a > ( & 'a [ u8 ] ) ; impl < 'a > TestRef < 'a > { # [ doc = "" ] # [ inline ] pub fn itow ( & self ) -> u32 { < u32 > :: from_le_bytes ( [ self . 0 [ 0usize ] , self . 0 [ 1usize ] , self . 0 [ 2usize ] , self . 0 [ 3usize ] ] ) } # [ doc = "this is lat" ] # [ inline ] pub fn lat_degrees ( & self ) -> f64 { let val = < i32 > :: from_le_bytes ( [ self . 0 [ 4usize ] , self . 0 [ 5usize ] , self . 0 [ 6usize ] , self . 0 [ 7usize ] ] ) ; let val = < f64 > :: from ( val ) ; val * 1e-7 } # [ doc = "this is a" ] # [ inline ] pub fn a ( & self ) -> u8 { self . 0 [ 8usize ] } # [ doc = "" ] # [ inline ] pub fn reserved1 ( & self ) -> [ u8 ; 5 ] { [ self . 0 [ 9usize ] , self . 0 [ 10usize ] , self . 0 [ 11usize ] , self . 0 [ 12usize ] , self . 0 [ 13usize ] , ] } # [ doc = "" ] # [ inline ] pub fn flags ( & self ) -> Flags { let val = self . 0 [ 14usize ] ; < Flags > :: from_unchecked ( val ) } # [ doc = "" ] # [ inline ] pub fn b ( & self ) -> i8 { < i8 > :: from_le_bytes ( [ self . 0 [ 15usize ] ] ) } fn validate ( payload : & [ u8 ] ) -> Result < ( ) , ParserError > { let expect = 16usize ; let got = payload . len ( ) ; if got == expect { let val = payload [ 14usize ] ; if ! < Flags > :: is_valid ( val ) { return Err ( ParserError :: InvalidField { packet : "Test" , field : stringify ! ( flags ) } ) ; } Ok ( ( ) ) } else { Err ( ParserError :: InvalidPacketLen { packet : "Test" , expect , got } ) } } } [INFO] [stdout] g # [ doc = "Some comment" ] pub struct Test ; impl UbxPacketMeta for Test { const CLASS : u8 = 1u8 ; const ID : u8 = 2u8 ; const FIXED_PAYLOAD_LEN : Option < u16 > = Some ( 16u16 ) ; const MAX_PAYLOAD_LEN : u16 = 16u16 ; } # [ doc = "Some comment" ] # [ doc = "It is just reference to internal parser's buffer" ] pub struct TestRef < 'a > ( & 'a [ u8 ] ) ; impl < 'a > TestRef < 'a > { # [ doc = "" ] # [ inline ] pub fn itow ( & self ) -> u32 { < u32 > :: from_le_bytes ( [ self . 0 [ 0usize ] , self . 0 [ 1usize ] , self . 0 [ 2usize ] , self . 0 [ 3usize ] ] ) } # [ doc = "this is lat" ] # [ inline ] pub fn lat_degrees ( & self ) -> f64 { let val = < i32 > :: from_le_bytes ( [ self . 0 [ 4usize ] , self . 0 [ 5usize ] , self . 0 [ 6usize ] , self . 0 [ 7usize ] ] ) ; let val = < f64 > :: from ( val ) ; val * 1e-7 } # [ doc = "this is a" ] # [ inline ] pub fn a ( & self ) -> u8 { self . 0 [ 8usize ] } # [ doc = "" ] # [ inline ] pub fn reserved1 ( & self ) -> [ u8 ; 5 ] { [ self . 0 [ 9usize ] , self . 0 [ 10usize ] , self . 0 [ 11usize ] , self . 0 [ 12usize ] , self . 0 [ 13usize ] ] } # [ doc = "" ] # [ inline ] pub fn flags ( & self ) -> Flags { let val = self . 0 [ 14usize ] ; < Flags > :: from_unchecked ( val ) } # [ doc = "" ] # [ inline ] pub fn b ( & self ) -> i8 { < i8 > :: from_le_bytes ( [ self . 0 [ 15usize ] ] ) } fn validate ( payload : & [ u8 ] ) -> Result < ( ) , ParserError > { let expect = 16usize ; let got = payload . len ( ) ; if got == expect { let val = payload [ 14usize ] ; if ! < Flags > :: is_valid ( val ) { return Err ( ParserError :: InvalidField { packet : "Test" , field : stringify ! ( flags ) } ) ; } Ok ( ( ) ) } else { Err ( ParserError :: InvalidPacketLen { packet : "Test" , expect , got } ) } } } [INFO] [stdout] thread 'tests::test_ubx_packet_recv_simple' panicked at 'Expect: [INFO] [stdout] # [ doc = "Some comment" ] pub struct Test ; impl UbxPacketMeta for Test { const CLASS : u8 = 1u8 ; const ID : u8 = 2u8 ; const FIXED_PAYLOAD_LEN : Option < u16 > = Some ( 16u16 ) ; const MAX_PAYLOAD_LEN : u16 = 16u16 ; } # [ doc = "Some comment" ] # [ doc = "It is just reference to internal parser's buffer" ] pub struct TestRef < 'a > ( & 'a [ u8 ] ) ; impl < 'a > TestRef < 'a > { # [ doc = "" ] # [ inline ] pub fn itow ( & self ) -> u32 { < u32 > :: from_le_bytes ( [ self . 0 [ 0usize ] , self . 0 [ 1usize ] , self . 0 [ 2usize ] , self . 0 [ 3usize ] ] ) } # [ doc = "this is lat" ] # [ inline ] pub fn lat_degrees ( & self ) -> f64 { let val = < i32 > :: from_le_bytes ( [ self . 0 [ 4usize ] , self . 0 [ 5usize ] , self . 0 [ 6usize ] , self . 0 [ 7usize ] ] ) ; let val = < f64 > :: from ( val ) ; val * 1e-7 } # [ doc = "this is a" ] # [ inline ] pub fn a ( & self ) -> u8 { self . 0 [ 8usize ] } # [ doc = "" ] # [ inline ] pub fn reserved1 ( & self ) -> [ u8 ; 5 ] { [ self . 0 [ 9usize ] , self . 0 [ 10usize ] , self . 0 [ 11usize ] , self . 0 [ 12usize ] , self . 0 [ 13usize ] , ] } # [ doc = "" ] # [ inline ] pub fn flags ( & self ) -> Flags { let val = self . 0 [ 14usize ] ; < Flags > :: from_unchecked ( val ) } # [ doc = "" ] # [ inline ] pub fn b ( & self ) -> i8 { < i8 > :: from_le_bytes ( [ self . 0 [ 15usize ] ] ) } fn validate ( payload : & [ u8 ] ) -> Result < ( ) , ParserError > { let expect = 16usize ; let got = payload . len ( ) ; if got == expect { let val = payload [ 14usize ] ; if ! < Flags > :: is_valid ( val ) { return Err ( ParserError :: InvalidField { packet : "Test" , field : stringify ! ( flags ) } ) ; } Ok ( ( ) ) } else { Err ( ParserError :: InvalidPacketLen { packet : "Test" , expect , got } ) } } } [INFO] [stdout] Got: [INFO] [stdout] # [ doc = "Some comment" ] pub struct Test ; impl UbxPacketMeta for Test { const CLASS : u8 = 1u8 ; const ID : u8 = 2u8 ; const FIXED_PAYLOAD_LEN : Option < u16 > = Some ( 16u16 ) ; const MAX_PAYLOAD_LEN : u16 = 16u16 ; } # [ doc = "Some comment" ] # [ doc = "It is just reference to internal parser's buffer" ] pub struct TestRef < 'a > ( & 'a [ u8 ] ) ; impl < 'a > TestRef < 'a > { # [ doc = "" ] # [ inline ] pub fn itow ( & self ) -> u32 { < u32 > :: from_le_bytes ( [ self . 0 [ 0usize ] , self . 0 [ 1usize ] , self . 0 [ 2usize ] , self . 0 [ 3usize ] ] ) } # [ doc = "this is lat" ] # [ inline ] pub fn lat_degrees ( & self ) -> f64 { let val = < i32 > :: from_le_bytes ( [ self . 0 [ 4usize ] , self . 0 [ 5usize ] , self . 0 [ 6usize ] , self . 0 [ 7usize ] ] ) ; let val = < f64 > :: from ( val ) ; val * 1e-7 } # [ doc = "this is a" ] # [ inline ] pub fn a ( & self ) -> u8 { self . 0 [ 8usize ] } # [ doc = "" ] # [ inline ] pub fn reserved1 ( & self ) -> [ u8 ; 5 ] { [ self . 0 [ 9usize ] , self . 0 [ 10usize ] , self . 0 [ 11usize ] , self . 0 [ 12usize ] , self . 0 [ 13usize ] ] } # [ doc = "" ] # [ inline ] pub fn flags ( & self ) -> Flags { let val = self . 0 [ 14usize ] ; < Flags > :: from_unchecked ( val ) } # [ doc = "" ] # [ inline ] pub fn b ( & self ) -> i8 { < i8 > :: from_le_bytes ( [ self . 0 [ 15usize ] ] ) } fn validate ( payload : & [ u8 ] ) -> Result < ( ) , ParserError > { let expect = 16usize ; let got = payload . len ( ) ; if got == expect { let val = payload [ 14usize ] ; if ! < Flags > :: is_valid ( val ) { return Err ( ParserError :: InvalidField { packet : "Test" , field : stringify ! ( flags ) } ) ; } Ok ( ( ) ) } else { Err ( ParserError :: InvalidPacketLen { packet : "Test" , expect , got } ) } } } [INFO] [stdout] ', src/tests.rs:503:9 [INFO] [stdout] stack backtrace: [INFO] [stdout] 0: 0x7fa4f692c0e5 - backtrace::backtrace::libunwind::trace::ha215bbf14e328799 [INFO] [stdout] at /cargo/registry/src/github.com-1ecc6299db9ec823/backtrace-0.3.46/src/backtrace/libunwind.rs:86 [INFO] [stdout] 1: 0x7fa4f692c0e5 - backtrace::backtrace::trace_unsynchronized::h3384b099b135857a [INFO] [stdout] at /cargo/registry/src/github.com-1ecc6299db9ec823/backtrace-0.3.46/src/backtrace/mod.rs:66 [INFO] [stdout] 2: 0x7fa4f692c0e5 - std::sys_common::backtrace::_print_fmt::hfec93740f7294682 [INFO] [stdout] at src/libstd/sys_common/backtrace.rs:78 [INFO] [stdout] 3: 0x7fa4f692c0e5 - ::fmt::h5fe20777f4174074 [INFO] [stdout] at src/libstd/sys_common/backtrace.rs:59 [INFO] [stdout] 4: 0x7fa4f69697fc - core::fmt::write::he14c3177144df275 [INFO] [stdout] at src/libcore/fmt/mod.rs:1076 [INFO] [stdout] 5: 0x7fa4f6bd3755 - std::io::Write::write_fmt::ha866504c9998fe5e [INFO] [stdout] at /rustc/d3fb005a39e62501b8b0b356166e515ae24e2e54/src/libstd/io/mod.rs:1537 [INFO] [stdout] 6: 0x7fa4f69191f1 - std::io::impls::>::write_fmt::h8f0a2af895559593 [INFO] [stdout] at src/libstd/io/impls.rs:176 [INFO] [stdout] 7: 0x7fa4f6931100 - std::sys_common::backtrace::_print::h9cfa4c87526ba064 [INFO] [stdout] at src/libstd/sys_common/backtrace.rs:62 [INFO] [stdout] 8: 0x7fa4f6931100 - std::sys_common::backtrace::print::h94936584848b3272 [INFO] [stdout] at src/libstd/sys_common/backtrace.rs:49 [INFO] [stdout] 9: 0x7fa4f6931100 - std::panicking::default_hook::{{closure}}::h733b20cc9b496e46 [INFO] [stdout] at src/libstd/panicking.rs:198 [INFO] [stdout] 10: 0x7fa4f6930dfa - std::panicking::default_hook::h556d8cff6c12a651 [INFO] [stdout] at src/libstd/panicking.rs:215 [INFO] [stdout] 11: 0x7fa4f69317ac - std::panicking::rust_panic_with_hook::ha0c7ca5b39baa9d5 [INFO] [stdout] at src/libstd/panicking.rs:490 [INFO] [stdout] 12: 0x7fa4f693138b - rust_begin_unwind [INFO] [stdout] at src/libstd/panicking.rs:388 [INFO] [stdout] 13: 0x7fa4f69312fb - std::panicking::begin_panic_fmt::ha757bc84d5ed8cb6 [INFO] [stdout] at src/libstd/panicking.rs:342 [INFO] [stdout] 14: 0x55a13c5d57c6 - ublox_derive::tests::run_compare_test::h97f44ede24b6eb64 [INFO] [stdout] at src/tests.rs:503 [INFO] [stdout] 15: 0x55a13c5dc636 - ublox_derive::tests::test_ubx_packet_recv_simple::h3ea77decfb51e625 [INFO] [stdout] at src/tests.rs:37 [INFO] [stdout] 16: 0x55a13c5d730a - ublox_derive::tests::test_ubx_packet_recv_simple::{{closure}}::h9ac4f809ed6f0ba5 [INFO] [stdout] at src/tests.rs:12 [INFO] [stdout] 17: 0x55a13c62714e - core::ops::function::FnOnce::call_once::h9096fc2a5355095e [INFO] [stdout] at /rustc/d3fb005a39e62501b8b0b356166e515ae24e2e54/src/libcore/ops/function.rs:232 [INFO] [stdout] 18: 0x7fa4f6bfd812 - as core::ops::function::FnOnce>::call_once::h1efcc6525b6aa145 [INFO] [stdout] at /rustc/d3fb005a39e62501b8b0b356166e515ae24e2e54/src/liballoc/boxed.rs:1076 [INFO] [stdout] 19: 0x7fa4f6bfd812 - as core::ops::function::FnOnce<()>>::call_once::hafd7ae2f3c23f399 [INFO] [stdout] at /rustc/d3fb005a39e62501b8b0b356166e515ae24e2e54/src/libstd/panic.rs:318 [INFO] [stdout] 20: 0x7fa4f6bfd812 - std::panicking::try::do_call::h83baf26f5fc8b0a5 [INFO] [stdout] at /rustc/d3fb005a39e62501b8b0b356166e515ae24e2e54/src/libstd/panicking.rs:297 [INFO] [stdout] 21: 0x7fa4f6bfd812 - std::panicking::try::h8d28a678b90bb6ac [INFO] [stdout] at /rustc/d3fb005a39e62501b8b0b356166e515ae24e2e54/src/libstd/panicking.rs:274 [INFO] [stdout] 22: 0x7fa4f6bfd812 - std::panic::catch_unwind::h20734e8710644f59 [INFO] [stdout] at /rustc/d3fb005a39e62501b8b0b356166e515ae24e2e54/src/libstd/panic.rs:394 [INFO] [stdout] 23: 0x7fa4f6bfd812 - test::run_test_in_process::h2c1fb2dd0c9013bb [INFO] [stdout] at src/libtest/lib.rs:541 [INFO] [stdout] 24: 0x7fa4f6bfd812 - test::run_test::run_test_inner::{{closure}}::h7c58b7aefdb9adf3 [INFO] [stdout] at src/libtest/lib.rs:450 [INFO] [stdout] 25: 0x7fa4f6bd2c16 - std::sys_common::backtrace::__rust_begin_short_backtrace::h498f21fd16bdff05 [INFO] [stdout] at /rustc/d3fb005a39e62501b8b0b356166e515ae24e2e54/src/libstd/sys_common/backtrace.rs:130 [INFO] [stdout] 26: 0x7fa4f6bd8c55 - std::thread::Builder::spawn_unchecked::{{closure}}::{{closure}}::hb35336a0a0430e6d [INFO] [stdout] at /rustc/d3fb005a39e62501b8b0b356166e515ae24e2e54/src/libstd/thread/mod.rs:475 [INFO] [stdout] 27: 0x7fa4f6bd8c55 - as core::ops::function::FnOnce<()>>::call_once::h8569a86268e08ad1 [INFO] [stdout] at /rustc/d3fb005a39e62501b8b0b356166e515ae24e2e54/src/libstd/panic.rs:318 [INFO] [stdout] 28: 0x7fa4f6bd8c55 - std::panicking::try::do_call::hcc5472a0f1ff31ac [INFO] [stdout] at /rustc/d3fb005a39e62501b8b0b356166e515ae24e2e54/src/libstd/panicking.rs:297 [INFO] [stdout] 29: 0x7fa4f6bd8c55 - std::panicking::try::h774b0c4fd770945c [INFO] [stdout] at /rustc/d3fb005a39e62501b8b0b356166e515ae24e2e54/src/libstd/panicking.rs:274 [INFO] [stdout] 30: 0x7fa4f6bd8c55 - std::panic::catch_unwind::hfaf7c6beb53320e7 [INFO] [stdout] at /rustc/d3fb005a39e62501b8b0b356166e515ae24e2e54/src/libstd/panic.rs:394 [INFO] [stdout] 31: 0x7fa4f6bd8c55 - std::thread::Builder::spawn_unchecked::{{closure}}::h481343a824704446 [INFO] [stdout] at /rustc/d3fb005a39e62501b8b0b356166e515ae24e2e54/src/libstd/thread/mod.rs:474 [INFO] [stdout] 32: 0x7fa4f6bd8c55 - core::ops::function::FnOnce::call_once{{vtable.shim}}::h9dcbc7fc2c4c6c48 [INFO] [stdout] at /rustc/d3fb005a39e62501b8b0b356166e515ae24e2e54/src/libcore/ops/function.rs:232 [INFO] [stdout] 33: 0x7fa4f694110a - as core::ops::function::FnOnce>::call_once::hf311c88f1fadb9b8 [INFO] [stdout] at /rustc/d3fb005a39e62501b8b0b356166e515ae24e2e54/src/liballoc/boxed.rs:1076 [INFO] [stdout] 34: 0x7fa4f694110a - as core::ops::function::FnOnce>::call_once::h8cfb7235b81393ef [INFO] [stdout] at /rustc/d3fb005a39e62501b8b0b356166e515ae24e2e54/src/liballoc/boxed.rs:1076 [INFO] [stdout] 35: 0x7fa4f694110a - std::sys::unix::thread::Thread::new::thread_start::hf745c8cf29a89648 [INFO] [stdout] at src/libstd/sys/unix/thread.rs:87 [INFO] [stdout] 36: 0x7fa4f6883609 - start_thread [INFO] [stdout] 37: 0x7fa4f678f103 - __clone [INFO] [stdout] 38: 0x0 - [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] failures: [INFO] [stdout] tests::test_define_recv_packets [INFO] [stdout] tests::test_ubx_packet_recv_simple [INFO] [stdout] tests::test_ubx_packet_send [INFO] [stdout] [INFO] [stdout] test result: FAILED. 3 passed; 3 failed; 0 ignored; 0 measured; 0 filtered out [INFO] [stdout] [INFO] [stderr] error: test failed, to rerun pass '--lib' [INFO] running `Command { std: "docker" "inspect" "5fa1260b9ae0719179a2ea07cba1517768e394eb06d71c31f4ed74af26f1344d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "5fa1260b9ae0719179a2ea07cba1517768e394eb06d71c31f4ed74af26f1344d", kill_on_drop: false }` [INFO] [stdout] 5fa1260b9ae0719179a2ea07cba1517768e394eb06d71c31f4ed74af26f1344d