[INFO] fetching crate nxtusb 0.2.0...
[INFO] testing nxtusb-0.2.0 against 1.99.0-beta.8+cargoflags=--release for beta-release-1.100-2
[INFO] extracting crate nxtusb 0.2.0 into /workspace/builds/worker-7-tc1/source
[INFO] started tweaking crates.io crate nxtusb 0.2.0
[INFO] removed 0 missing examples
[INFO] finished tweaking crates.io crate nxtusb 0.2.0
[INFO] tweaked toml for crates.io crate nxtusb 0.2.0 written to /workspace/builds/worker-7-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate nxtusb 0.2.0 on toolchain 1.99.0-beta.8
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.99.0-beta.8" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate nxtusb 0.2.0 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.99.0-beta.8" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded tracing-log v0.2.0
[INFO] [stderr]   Downloaded malloc_buf v0.0.6
[INFO] [stderr]   Downloaded color_quant v1.1.0
[INFO] [stderr]   Downloaded glutin-winit v0.3.0
[INFO] [stderr]   Downloaded thread_local v1.1.7
[INFO] [stderr]   Downloaded windows-implement v0.48.0
[INFO] [stderr]   Downloaded wayland-sys v0.30.1
[INFO] [stderr]   Downloaded strum v0.25.0
[INFO] [stderr]   Downloaded windows-interface v0.48.0
[INFO] [stderr]   Downloaded glutin v0.30.10
[INFO] [stderr]   Downloaded memoffset v0.7.1
[INFO] [stderr]   Downloaded walkdir v2.4.0
[INFO] [stderr]   Downloaded smithay-clipboard v0.6.6
[INFO] [stderr]   Downloaded egui_glow v0.24.1
[INFO] [stderr]   Downloaded ecolor v0.24.1
[INFO] [stderr]   Downloaded home v0.5.9
[INFO] [stderr]   Downloaded web-time v0.2.4
[INFO] [stderr]   Downloaded objc_id v0.1.1
[INFO] [stderr]   Downloaded error-code v2.3.1
[INFO] [stderr]   Downloaded zvariant_utils v1.0.1
[INFO] [stderr]   Downloaded xdg-home v1.0.0
[INFO] [stderr]   Downloaded event-listener-strategy v0.4.0
[INFO] [stderr]   Downloaded async-signal v0.2.5
[INFO] [stderr]   Downloaded thiserror-impl v1.0.52
[INFO] [stderr]   Downloaded glutin_wgl_sys v0.4.0
[INFO] [stderr]   Downloaded nohash-hasher v0.2.0
[INFO] [stderr]   Downloaded simd-adler32 v0.3.7
[INFO] [stderr]   Downloaded num-derive v0.4.1
[INFO] [stderr]   Downloaded emath v0.24.1
[INFO] [stderr]   Downloaded accesskit v0.12.1
[INFO] [stderr]   Downloaded egui-winit v0.24.1
[INFO] [stderr]   Downloaded gethostname v0.3.0
[INFO] [stderr]   Downloaded block v0.1.6
[INFO] [stderr]   Downloaded clipboard-win v4.5.0
[INFO] [stderr]   Downloaded zvariant_derive v3.15.0
[INFO] [stderr]   Downloaded enumflags2_derive v0.7.8
[INFO] [stderr]   Downloaded uds_windows v1.1.0
[INFO] [stderr]   Downloaded memoffset v0.9.0
[INFO] [stderr]   Downloaded event-listener v2.5.3
[INFO] [stderr]   Downloaded async-channel v2.1.1
[INFO] [stderr]   Downloaded waker-fn v1.1.1
[INFO] [stderr]   Downloaded atspi v0.19.0
[INFO] [stderr]   Downloaded inotify-sys v0.1.5
[INFO] [stderr]   Downloaded glutin_glx_sys v0.4.0
[INFO] [stderr]   Downloaded cgl v0.3.2
[INFO] [stderr]   Downloaded async-recursion v1.0.5
[INFO] [stderr]   Downloaded str-buf v1.0.6
[INFO] [stderr]   Downloaded enumflags2 v0.7.8
[INFO] [stderr]   Downloaded zbus_names v2.6.0
[INFO] [stderr]   Downloaded serde_repr v0.1.17
[INFO] [stderr]   Downloaded atspi-connection v0.3.0
[INFO] [stderr]   Downloaded winapi-wsapoll v0.1.1
[INFO] [stderr]   Downloaded objc-foundation v0.1.1
[INFO] [stderr]   Downloaded piper v0.2.1
[INFO] [stderr]   Downloaded parking v2.2.0
[INFO] [stderr]   Downloaded num-rational v0.4.1
[INFO] [stderr]   Downloaded libloading v0.7.4
[INFO] [stderr]   Downloaded glutin_egl_sys v0.5.1
[INFO] [stderr]   Downloaded winapi-util v0.1.6
[INFO] [stderr]   Downloaded accesskit_winit v0.15.0
[INFO] [stderr]   Downloaded zbus_macros v3.14.1
[INFO] [stderr]   Downloaded ordered-stream v0.2.0
[INFO] [stderr]   Downloaded blocking v1.5.1
[INFO] [stderr]   Downloaded async-process v1.8.1
[INFO] [stderr]   Downloaded async-broadcast v0.5.1
[INFO] [stderr]   Downloaded atspi-proxies v0.3.0
[INFO] [stderr]   Downloaded accesskit_consumer v0.16.1
[INFO] [stderr]   Downloaded concurrent-queue v2.4.0
[INFO] [stderr]   Downloaded fastrand v1.9.0
[INFO] [stderr]   Downloaded async-fs v1.6.0
[INFO] [stderr]   Downloaded async-executor v1.8.0
[INFO] [stderr]   Downloaded async-once-cell v0.5.3
[INFO] [stderr]   Downloaded libudev-sys v0.1.4
[INFO] [stderr]   Downloaded wayland-sys v0.29.5
[INFO] [stderr]   Downloaded dlib v0.5.2
[INFO] [stderr]   Downloaded strict-num v0.1.1
[INFO] [stderr]   Downloaded arrayref v0.3.7
[INFO] [stderr]   Downloaded num-integer v0.1.45
[INFO] [stderr]   Downloaded zerocopy-derive v0.7.32
[INFO] [stderr]   Downloaded webbrowser v0.8.12
[INFO] [stderr]   Downloaded arboard v3.3.0
[INFO] [stderr]   Downloaded paste v1.0.14
[INFO] [stderr]   Downloaded accesskit_unix v0.6.2
[INFO] [stderr]   Downloaded tempfile v3.9.0
[INFO] [stderr]   Downloaded derivative v2.2.0
[INFO] [stderr]   Downloaded futures-lite v2.1.0
[INFO] [stderr]   Downloaded async-task v4.6.0
[INFO] [stderr]   Downloaded async-lock v3.2.0
[INFO] [stderr]   Downloaded event-listener v4.0.1
[INFO] [stderr]   Downloaded async-trait v0.1.77
[INFO] [stderr]   Downloaded futures-lite v1.13.0
[INFO] [stderr]   Downloaded event-listener v3.1.0
[INFO] [stderr]   Downloaded async-lock v2.8.0
[INFO] [stderr]   Downloaded async-io v1.13.0
[INFO] [stderr]   Downloaded socket2 v0.4.10
[INFO] [stderr]   Downloaded io-lifetimes v1.0.11
[INFO] [stderr]   Downloaded polling v2.8.0
[INFO] [stderr]   Downloaded atspi-common v0.3.0
[INFO] [stderr]   Downloaded displaydoc v0.2.4
[INFO] [stderr]   Downloaded dbus-tokio v0.7.6
[INFO] [stderr]   Downloaded ab_glyph_rasterizer v0.1.8
[INFO] [stderr]   Downloaded block2 v0.2.0-alpha.6
[INFO] [stderr]   Downloaded ahash v0.8.7
[INFO] [stderr]   Downloaded accesskit_windows v0.15.1
[INFO] [stderr]   Downloaded async-io v2.2.2
[INFO] [stderr]   Downloaded polling v3.3.1
[INFO] [stderr]   Downloaded accesskit_macos v0.10.1
[INFO] [stderr]   Downloaded cocoa-foundation v0.1.2
[INFO] [stderr]   Downloaded pin-project v1.1.3
[INFO] [stderr]   Downloaded custom_debug v0.5.1
[INFO] [stderr]   Downloaded memoffset v0.6.5
[INFO] [stderr]   Downloaded scoped-tls v1.0.1
[INFO] [stderr]   Downloaded downcast-rs v1.2.0
[INFO] [stderr]   Downloaded wayland-cursor v0.29.5
[INFO] [stderr]   Downloaded xcursor v0.3.5
[INFO] [stderr]   Downloaded libredox v0.0.2
[INFO] [stderr]   Downloaded num_enum_derive v0.5.11
[INFO] [stderr]   Downloaded proc-macro-crate v1.3.1
[INFO] [stderr]   Downloaded jni-sys v0.3.0
[INFO] [stderr]   Downloaded instant v0.1.12
[INFO] [stderr]   Downloaded core-graphics-types v0.1.3
[INFO] [stderr]   Downloaded cfg_aliases v0.1.1
[INFO] [stderr]   Downloaded num_enum_derive v0.6.1
[INFO] [stderr]   Downloaded ndk-context v0.1.1
[INFO] [stderr]   Downloaded android-properties v0.2.2
[INFO] [stderr]   Downloaded zvariant v3.15.0
[INFO] [stderr]   Downloaded custom_debug_derive v0.5.1
[INFO] [stderr]   Downloaded synstructure v0.12.6
[INFO] [stderr]   Downloaded unicode-xid v0.2.4
[INFO] [stderr]   Downloaded cocoa v0.24.1
[INFO] [stderr]   Downloaded dbus-crossroads v0.5.2
[INFO] [stderr]   Downloaded combine v4.6.6
[INFO] [stderr]   Downloaded macaddr v1.0.1
[INFO] [stderr]   Downloaded valuable v0.1.0
[INFO] [stderr]   Downloaded nu-ansi-term v0.46.0
[INFO] [stderr]   Downloaded overload v0.1.1
[INFO] [stderr]   Downloaded tracing-attributes v0.1.27
[INFO] [stderr]   Downloaded quote v1.0.35
[INFO] [stderr]   Downloaded thiserror v1.0.52
[INFO] [stderr]   Downloaded mach2 v0.4.2
[INFO] [stderr]   Downloaded inotify v0.10.2
[INFO] [stderr]   Downloaded wayland-commons v0.29.5
[INFO] [stderr]   Downloaded libloading v0.8.1
[INFO] [stderr]   Downloaded bytemuck_derive v1.5.0
[INFO] [stderr]   Downloaded fdeflate v0.3.3
[INFO] [stderr]   Downloaded arrayvec v0.7.4
[INFO] [stderr]   Downloaded ab_glyph v0.2.23
[INFO] [stderr]   Downloaded redox_syscall v0.3.5
[INFO] [stderr]   Downloaded toml_datetime v0.6.5
[INFO] [stderr]   Downloaded objc v0.2.7
[INFO] [stderr]   Downloaded glow v0.12.3
[INFO] [stderr]   Downloaded zerocopy v0.7.32
[INFO] [stderr]   Downloaded tracing-subscriber v0.3.18
[INFO] [stderr]   Downloaded jobserver v0.1.27
[INFO] [stderr]   Downloaded serde_json v1.0.109
[INFO] [stderr]   Downloaded dbus v0.9.7
[INFO] [stderr]   Downloaded raw-window-handle v0.5.2
[INFO] [stderr]   Downloaded objc-sys v0.2.0-beta.2
[INFO] [stderr]   Downloaded num_enum v0.5.11
[INFO] [stderr]   Downloaded num_enum v0.6.1
[INFO] [stderr]   Downloaded zbus v3.14.1
[INFO] [stderr]   Downloaded block-sys v0.1.0-beta.1
[INFO] [stderr]   Downloaded aho-corasick v1.1.2
[INFO] [stderr]   Downloaded pin-project-internal v1.1.3
[INFO] [stderr]   Downloaded proc-macro2 v1.0.76
[INFO] [stderr]   Downloaded rustversion v1.0.14
[INFO] [stderr]   Downloaded gilrs-core v0.5.10
[INFO] [stderr]   Downloaded io-kit-sys v0.4.0
[INFO] [stderr]   Downloaded core-graphics v0.22.3
[INFO] [stderr]   Downloaded strum_macros v0.25.3
[INFO] [stderr]   Downloaded rusb v0.9.3
[INFO] [stderr]   Downloaded wayland-scanner v0.29.5
[INFO] [stderr]   Downloaded memmap2 v0.5.10
[INFO] [stderr]   Downloaded sctk-adwaita v0.5.4
[INFO] [stderr]   Downloaded bytemuck v1.14.0
[INFO] [stderr]   Downloaded crc32fast v1.3.2
[INFO] [stderr]   Downloaded objc2-encode v2.0.0-pre.2
[INFO] [stderr]   Downloaded x11rb v0.12.0
[INFO] [stderr]   Downloaded sharded-slab v0.1.7
[INFO] [stderr]   Downloaded num-traits v0.2.17
[INFO] [stderr]   Downloaded xml-rs v0.8.19
[INFO] [stderr]   Downloaded calloop v0.10.6
[INFO] [stderr]   Downloaded slotmap v1.0.7
[INFO] [stderr]   Downloaded ndk v0.7.0
[INFO] [stderr]   Downloaded regex v1.10.2
[INFO] [stderr]   Downloaded tokio-stream v0.1.14
[INFO] [stderr]   Downloaded x11-dl v2.21.0
[INFO] [stderr]   Downloaded tiny-skia-path v0.8.4
[INFO] [stderr]   Downloaded flate2 v1.0.28
[INFO] [stderr]   Downloaded egui v0.24.1
[INFO] [stderr]   Downloaded eframe v0.24.1
[INFO] [stderr]   Downloaded wayland-client v0.29.5
[INFO] [stderr]   Downloaded toml_edit v0.19.15
[INFO] [stderr]   Downloaded nix v0.26.4
[INFO] [stderr]   Downloaded memchr v2.7.1
[INFO] [stderr]   Downloaded png v0.17.10
[INFO] [stderr]   Downloaded smithay-client-toolkit v0.16.1
[INFO] [stderr]   Downloaded rustix v0.37.27
[INFO] [stderr]   Downloaded gilrs v0.10.4
[INFO] [stderr]   Downloaded wayland-protocols v0.29.5
[INFO] [stderr]   Downloaded owned_ttf_parser v0.20.0
[INFO] [stderr]   Downloaded regex-syntax v0.8.2
[INFO] [stderr]   Downloaded ttf-parser v0.20.0
[INFO] [stderr]   Downloaded objc2 v0.3.0-beta.3.patch-leaks.3
[INFO] [stderr]   Downloaded winnow v0.5.31
[INFO] [stderr]   Downloaded bluer v0.16.1
[INFO] [stderr]   Downloaded tiny-skia v0.8.4
[INFO] [stderr]   Downloaded syn v2.0.48
[INFO] [stderr]   Downloaded nix v0.27.1
[INFO] [stderr]   Downloaded nix v0.24.3
[INFO] [stderr]   Downloaded nix v0.25.1
[INFO] [stderr]   Downloaded android-activity v0.4.3
[INFO] [stderr]   Downloaded libusb1-sys v0.6.4
[INFO] [stderr]   Downloaded x11rb-protocol v0.12.0
[INFO] [stderr]   Downloaded ndk-sys v0.4.1+23.1.7779620
[INFO] [stderr]   Downloaded image v0.24.7
[INFO] [stderr]   Downloaded winit v0.28.7
[INFO] [stderr]   Downloaded regex-automata v0.4.3
[INFO] [stderr]   Downloaded epaint v0.24.1
[INFO] [stderr]   Downloaded linux-raw-sys v0.3.8
[INFO] [stderr]   Downloaded orbclient v0.3.47
[INFO] [stderr]   Downloaded libdbus-sys v0.2.5
[INFO] [stderr]   Downloaded windows v0.48.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,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" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:77db811e55d90add9212f6832c23229e3de5f1c1f9905e8cb07319ea15df73ac" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] a378b5c4d09ca10fbc87b47a227947da5a38eb2cefa6bd2a751c759c0639c957
[INFO] running `Command { std: "docker" "start" "a378b5c4d09ca10fbc87b47a227947da5a38eb2cefa6bd2a751c759c0639c957", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "a378b5c4d09ca10fbc87b47a227947da5a38eb2cefa6bd2a751c759c0639c957", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "a378b5c4d09ca10fbc87b47a227947da5a38eb2cefa6bd2a751c759c0639c957" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "a378b5c4d09ca10fbc87b47a227947da5a38eb2cefa6bd2a751c759c0639c957", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "a378b5c4d09ca10fbc87b47a227947da5a38eb2cefa6bd2a751c759c0639c957" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "build" "--frozen" "--message-format=json" "--release", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.76
[INFO] [stderr]    Compiling unicode-ident v1.0.12
[INFO] [stderr]    Compiling libc v0.2.151
[INFO] [stderr]    Compiling autocfg v1.1.0
[INFO] [stderr]    Compiling pkg-config v0.3.28
[INFO] [stderr]    Compiling pin-project-lite v0.2.13
[INFO] [stderr]    Compiling futures-core v0.3.30
[INFO] [stderr]    Compiling futures-sink v0.3.30
[INFO] [stderr]    Compiling pin-utils v0.1.0
[INFO] [stderr]    Compiling futures-channel v0.3.30
[INFO] [stderr]    Compiling memchr v2.7.1
[INFO] [stderr]    Compiling futures-io v0.3.30
[INFO] [stderr]    Compiling futures-task v0.3.30
[INFO] [stderr]    Compiling slab v0.4.9
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling serde v1.0.193
[INFO] [stderr]    Compiling libdbus-sys v0.2.5
[INFO] [stderr]    Compiling serde_json v1.0.109
[INFO] [stderr]    Compiling rustversion v1.0.14
[INFO] [stderr]    Compiling unicode-xid v0.2.4
[INFO] [stderr]    Compiling cfg-if v1.0.0
[INFO] [stderr]    Compiling bytes v1.5.0
[INFO] [stderr]    Compiling ryu v1.0.16
[INFO] [stderr]    Compiling itoa v1.0.10
[INFO] [stderr]    Compiling num-traits v0.2.17
[INFO] [stderr]    Compiling quote v1.0.35
[INFO] [stderr]    Compiling uuid v1.6.1
[INFO] [stderr]    Compiling cc v1.0.83
[INFO] [stderr]    Compiling heck v0.4.1
[INFO] [stderr]    Compiling async-trait v0.1.77
[INFO] [stderr]    Compiling syn v2.0.48
[INFO] [stderr]    Compiling rusb v0.9.3
[INFO] [stderr]    Compiling once_cell v1.19.0
[INFO] [stderr]    Compiling bitflags v2.4.1
[INFO] [stderr]    Compiling thiserror v1.0.52
[INFO] [stderr]    Compiling tracing-core v0.1.32
[INFO] [stderr]    Compiling log v0.4.20
[INFO] [stderr]    Compiling lazy_static v1.4.0
[INFO] [stderr]    Compiling mio v0.8.10
[INFO] [stderr]    Compiling socket2 v0.5.5
[INFO] [stderr]    Compiling libusb1-sys v0.6.4
[INFO] [stderr]    Compiling getrandom v0.2.11
[INFO] [stderr]    Compiling nix v0.27.1
[INFO] [stderr]    Compiling macaddr v1.0.1
[INFO] [stderr]    Compiling hex v0.4.3
[INFO] [stderr]    Compiling synstructure v0.12.6
[INFO] [stderr]    Compiling custom_debug_derive v0.5.1
[INFO] [stderr]    Compiling custom_debug v0.5.1
[INFO] [stderr]    Compiling futures-macro v0.3.30
[INFO] [stderr]    Compiling serde_derive v1.0.193
[INFO] [stderr]    Compiling tokio-macros v2.2.0
[INFO] [stderr]    Compiling pin-project-internal v1.1.3
[INFO] [stderr]    Compiling strum_macros v0.25.3
[INFO] [stderr]    Compiling num-derive v0.4.1
[INFO] [stderr]    Compiling tracing-attributes v0.1.27
[INFO] [stderr]    Compiling thiserror-impl v1.0.52
[INFO] [stderr]    Compiling tokio v1.35.1
[INFO] [stderr]    Compiling futures-util v0.3.30
[INFO] [stderr]    Compiling displaydoc v0.2.4
[INFO] [stderr]    Compiling pin-project v1.1.3
[INFO] [stderr]    Compiling tracing v0.1.40
[INFO] [stderr]    Compiling strum v0.25.0
[INFO] [stderr]    Compiling dbus v0.9.7
[INFO] [stderr]    Compiling futures-executor v0.3.30
[INFO] [stderr]    Compiling futures v0.3.30
[INFO] [stderr]    Compiling tokio-stream v0.1.14
[INFO] [stderr]    Compiling bluer v0.16.1
[INFO] [stderr]    Compiling dbus-crossroads v0.5.2
[INFO] [stderr]    Compiling dbus-tokio v0.7.6
[INFO] [stderr]    Compiling nxtusb v0.2.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/motor.rs:17:51
[INFO] [stdout]    |
[INFO] [stdout] 17 | #[derive(Copy, Clone, Debug, Hash, PartialEq, Eq, FromPrimitive)]
[INFO] [stdout]    |                                                   ^------------
[INFO] [stdout]    |                                                   |
[INFO] [stdout]    |                                                   `FromPrimitive` is not local
[INFO] [stdout]    |                                                   move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_OutPort`
[INFO] [stdout] ...
[INFO] [stdout] 20 | pub enum OutPort {
[INFO] [stdout]    |          ------- `OutPort` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stdout]    = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/motor.rs:40:45
[INFO] [stdout]    |
[INFO] [stdout] 40 | #[derive(Copy, Clone, Debug, PartialEq, Eq, FromPrimitive)]
[INFO] [stdout]    |                                             ^------------
[INFO] [stdout]    |                                             |
[INFO] [stdout]    |                                             `FromPrimitive` is not local
[INFO] [stdout]    |                                             move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_OutMode`
[INFO] [stdout] 41 | pub struct OutMode(pub(crate) u8);
[INFO] [stdout]    |            ------- `OutMode` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/motor.rs:70:54
[INFO] [stdout]    |
[INFO] [stdout] 70 | #[derive(Copy, Clone, Debug, Default, PartialEq, Eq, FromPrimitive)]
[INFO] [stdout]    |                                                      ^------------
[INFO] [stdout]    |                                                      |
[INFO] [stdout]    |                                                      `FromPrimitive` is not local
[INFO] [stdout]    |                                                      move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_RegulationMode`
[INFO] [stdout] 71 | #[repr(u8)]
[INFO] [stdout] 72 | pub enum RegulationMode {
[INFO] [stdout]    |          -------------- `RegulationMode` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/motor.rs:91:45
[INFO] [stdout]    |
[INFO] [stdout] 91 | #[derive(Copy, Clone, Debug, PartialEq, Eq, FromPrimitive)]
[INFO] [stdout]    |                                             ^------------
[INFO] [stdout]    |                                             |
[INFO] [stdout]    |                                             `FromPrimitive` is not local
[INFO] [stdout]    |                                             move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_RunState`
[INFO] [stdout] 92 | #[repr(u8)]
[INFO] [stdout] 93 | pub enum RunState {
[INFO] [stdout]    |          -------- `RunState` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/protocol.rs:13:30
[INFO] [stdout]    |
[INFO] [stdout] 13 | #[derive(Copy, Clone, Debug, FromPrimitive, PartialEq, Eq)]
[INFO] [stdout]    |                              ^------------
[INFO] [stdout]    |                              |
[INFO] [stdout]    |                              `FromPrimitive` is not local
[INFO] [stdout]    |                              move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_Opcode`
[INFO] [stdout] 14 | #[repr(u8)]
[INFO] [stdout] 15 | pub enum Opcode {
[INFO] [stdout]    |          ------ `Opcode` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/protocol.rs:96:30
[INFO] [stdout]    |
[INFO] [stdout] 96 | #[derive(Copy, Clone, Debug, FromPrimitive, thiserror::Error)]
[INFO] [stdout]    |                              ^------------
[INFO] [stdout]    |                              |
[INFO] [stdout]    |                              `FromPrimitive` is not local
[INFO] [stdout]    |                              move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_DeviceError`
[INFO] [stdout] ...
[INFO] [stdout] 99 | pub enum DeviceError {
[INFO] [stdout]    |          ----------- `DeviceError` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/protocol.rs:196:30
[INFO] [stdout]     |
[INFO] [stdout] 196 | #[derive(Copy, Clone, Debug, FromPrimitive, PartialEq, Eq)]
[INFO] [stdout]     |                              ^------------
[INFO] [stdout]     |                              |
[INFO] [stdout]     |                              `FromPrimitive` is not local
[INFO] [stdout]     |                              move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_PacketType`
[INFO] [stdout] ...
[INFO] [stdout] 199 | pub enum PacketType {
[INFO] [stdout]     |          ---------- `PacketType` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/sensor.rs:9:51
[INFO] [stdout]    |
[INFO] [stdout]  9 | #[derive(Debug, Copy, Clone, Hash, PartialEq, Eq, FromPrimitive)]
[INFO] [stdout]    |                                                   ^------------
[INFO] [stdout]    |                                                   |
[INFO] [stdout]    |                                                   `FromPrimitive` is not local
[INFO] [stdout]    |                                                   move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_InPort`
[INFO] [stdout] ...
[INFO] [stdout] 13 | pub enum InPort {
[INFO] [stdout]    |          ------ `InPort` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/sensor.rs:28:54
[INFO] [stdout]    |
[INFO] [stdout] 28 | #[derive(Debug, Default, Copy, Clone, PartialEq, Eq, FromPrimitive)]
[INFO] [stdout]    |                                                      ^------------
[INFO] [stdout]    |                                                      |
[INFO] [stdout]    |                                                      `FromPrimitive` is not local
[INFO] [stdout]    |                                                      move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_SensorType`
[INFO] [stdout] ...
[INFO] [stdout] 32 | pub enum SensorType {
[INFO] [stdout]    |          ---------- `SensorType` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/sensor.rs:68:54
[INFO] [stdout]    |
[INFO] [stdout] 68 | #[derive(Debug, Default, Copy, Clone, PartialEq, Eq, FromPrimitive)]
[INFO] [stdout]    |                                                      ^------------
[INFO] [stdout]    |                                                      |
[INFO] [stdout]    |                                                      `FromPrimitive` is not local
[INFO] [stdout]    |                                                      move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_SensorMode`
[INFO] [stdout] ...
[INFO] [stdout] 72 | pub enum SensorMode {
[INFO] [stdout]    |          ---------- `SensorMode` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 1m 12s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: bluer v0.16.1
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1`
[INFO] running `Command { std: "docker" "inspect" "a378b5c4d09ca10fbc87b47a227947da5a38eb2cefa6bd2a751c759c0639c957", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "a378b5c4d09ca10fbc87b47a227947da5a38eb2cefa6bd2a751c759c0639c957" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "test" "--frozen" "--no-run" "--message-format=json" "--release", kill_on_drop: false }`
[INFO] [stderr]    Compiling num_cpus v1.16.0
[INFO] [stderr]    Compiling tokio v1.35.1
[INFO] [stderr]    Compiling tokio-stream v0.1.14
[INFO] [stderr]    Compiling dbus-tokio v0.7.6
[INFO] [stderr]    Compiling bluer v0.16.1
[INFO] [stderr]    Compiling nxtusb v0.2.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/motor.rs:17:51
[INFO] [stdout]    |
[INFO] [stdout] 17 | #[derive(Copy, Clone, Debug, Hash, PartialEq, Eq, FromPrimitive)]
[INFO] [stdout]    |                                                   ^------------
[INFO] [stdout]    |                                                   |
[INFO] [stdout]    |                                                   `FromPrimitive` is not local
[INFO] [stdout]    |                                                   move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_OutPort`
[INFO] [stdout] ...
[INFO] [stdout] 20 | pub enum OutPort {
[INFO] [stdout]    |          ------- `OutPort` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stdout]    = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/motor.rs:40:45
[INFO] [stdout]    |
[INFO] [stdout] 40 | #[derive(Copy, Clone, Debug, PartialEq, Eq, FromPrimitive)]
[INFO] [stdout]    |                                             ^------------
[INFO] [stdout]    |                                             |
[INFO] [stdout]    |                                             `FromPrimitive` is not local
[INFO] [stdout]    |                                             move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_OutMode`
[INFO] [stdout] 41 | pub struct OutMode(pub(crate) u8);
[INFO] [stdout]    |            ------- `OutMode` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/motor.rs:70:54
[INFO] [stdout]    |
[INFO] [stdout] 70 | #[derive(Copy, Clone, Debug, Default, PartialEq, Eq, FromPrimitive)]
[INFO] [stdout]    |                                                      ^------------
[INFO] [stdout]    |                                                      |
[INFO] [stdout]    |                                                      `FromPrimitive` is not local
[INFO] [stdout]    |                                                      move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_RegulationMode`
[INFO] [stdout] 71 | #[repr(u8)]
[INFO] [stdout] 72 | pub enum RegulationMode {
[INFO] [stdout]    |          -------------- `RegulationMode` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/motor.rs:91:45
[INFO] [stdout]    |
[INFO] [stdout] 91 | #[derive(Copy, Clone, Debug, PartialEq, Eq, FromPrimitive)]
[INFO] [stdout]    |                                             ^------------
[INFO] [stdout]    |                                             |
[INFO] [stdout]    |                                             `FromPrimitive` is not local
[INFO] [stdout]    |                                             move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_RunState`
[INFO] [stdout] 92 | #[repr(u8)]
[INFO] [stdout] 93 | pub enum RunState {
[INFO] [stdout]    |          -------- `RunState` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/protocol.rs:13:30
[INFO] [stdout]    |
[INFO] [stdout] 13 | #[derive(Copy, Clone, Debug, FromPrimitive, PartialEq, Eq)]
[INFO] [stdout]    |                              ^------------
[INFO] [stdout]    |                              |
[INFO] [stdout]    |                              `FromPrimitive` is not local
[INFO] [stdout]    |                              move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_Opcode`
[INFO] [stdout] 14 | #[repr(u8)]
[INFO] [stdout] 15 | pub enum Opcode {
[INFO] [stdout]    |          ------ `Opcode` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/protocol.rs:96:30
[INFO] [stdout]    |
[INFO] [stdout] 96 | #[derive(Copy, Clone, Debug, FromPrimitive, thiserror::Error)]
[INFO] [stdout]    |                              ^------------
[INFO] [stdout]    |                              |
[INFO] [stdout]    |                              `FromPrimitive` is not local
[INFO] [stdout]    |                              move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_DeviceError`
[INFO] [stdout] ...
[INFO] [stdout] 99 | pub enum DeviceError {
[INFO] [stdout]    |          ----------- `DeviceError` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/protocol.rs:196:30
[INFO] [stdout]     |
[INFO] [stdout] 196 | #[derive(Copy, Clone, Debug, FromPrimitive, PartialEq, Eq)]
[INFO] [stdout]     |                              ^------------
[INFO] [stdout]     |                              |
[INFO] [stdout]     |                              `FromPrimitive` is not local
[INFO] [stdout]     |                              move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_PacketType`
[INFO] [stdout] ...
[INFO] [stdout] 199 | pub enum PacketType {
[INFO] [stdout]     |          ---------- `PacketType` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/sensor.rs:9:51
[INFO] [stdout]    |
[INFO] [stdout]  9 | #[derive(Debug, Copy, Clone, Hash, PartialEq, Eq, FromPrimitive)]
[INFO] [stdout]    |                                                   ^------------
[INFO] [stdout]    |                                                   |
[INFO] [stdout]    |                                                   `FromPrimitive` is not local
[INFO] [stdout]    |                                                   move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_InPort`
[INFO] [stdout] ...
[INFO] [stdout] 13 | pub enum InPort {
[INFO] [stdout]    |          ------ `InPort` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/sensor.rs:28:54
[INFO] [stdout]    |
[INFO] [stdout] 28 | #[derive(Debug, Default, Copy, Clone, PartialEq, Eq, FromPrimitive)]
[INFO] [stdout]    |                                                      ^------------
[INFO] [stdout]    |                                                      |
[INFO] [stdout]    |                                                      `FromPrimitive` is not local
[INFO] [stdout]    |                                                      move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_SensorType`
[INFO] [stdout] ...
[INFO] [stdout] 32 | pub enum SensorType {
[INFO] [stdout]    |          ---------- `SensorType` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/sensor.rs:68:54
[INFO] [stdout]    |
[INFO] [stdout] 68 | #[derive(Debug, Default, Copy, Clone, PartialEq, Eq, FromPrimitive)]
[INFO] [stdout]    |                                                      ^------------
[INFO] [stdout]    |                                                      |
[INFO] [stdout]    |                                                      `FromPrimitive` is not local
[INFO] [stdout]    |                                                      move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_SensorMode`
[INFO] [stdout] ...
[INFO] [stdout] 72 | pub enum SensorMode {
[INFO] [stdout]    |          ---------- `SensorMode` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/motor.rs:17:51
[INFO] [stdout]    |
[INFO] [stdout] 17 | #[derive(Copy, Clone, Debug, Hash, PartialEq, Eq, FromPrimitive)]
[INFO] [stdout]    |                                                   ^------------
[INFO] [stdout]    |                                                   |
[INFO] [stdout]    |                                                   `FromPrimitive` is not local
[INFO] [stdout]    |                                                   move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_OutPort`
[INFO] [stdout] ...
[INFO] [stdout] 20 | pub enum OutPort {
[INFO] [stdout]    |          ------- `OutPort` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stdout]    = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/motor.rs:40:45
[INFO] [stdout]    |
[INFO] [stdout] 40 | #[derive(Copy, Clone, Debug, PartialEq, Eq, FromPrimitive)]
[INFO] [stdout]    |                                             ^------------
[INFO] [stdout]    |                                             |
[INFO] [stdout]    |                                             `FromPrimitive` is not local
[INFO] [stdout]    |                                             move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_OutMode`
[INFO] [stdout] 41 | pub struct OutMode(pub(crate) u8);
[INFO] [stdout]    |            ------- `OutMode` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/motor.rs:70:54
[INFO] [stdout]    |
[INFO] [stdout] 70 | #[derive(Copy, Clone, Debug, Default, PartialEq, Eq, FromPrimitive)]
[INFO] [stdout]    |                                                      ^------------
[INFO] [stdout]    |                                                      |
[INFO] [stdout]    |                                                      `FromPrimitive` is not local
[INFO] [stdout]    |                                                      move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_RegulationMode`
[INFO] [stdout] 71 | #[repr(u8)]
[INFO] [stdout] 72 | pub enum RegulationMode {
[INFO] [stdout]    |          -------------- `RegulationMode` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/motor.rs:91:45
[INFO] [stdout]    |
[INFO] [stdout] 91 | #[derive(Copy, Clone, Debug, PartialEq, Eq, FromPrimitive)]
[INFO] [stdout]    |                                             ^------------
[INFO] [stdout]    |                                             |
[INFO] [stdout]    |                                             `FromPrimitive` is not local
[INFO] [stdout]    |                                             move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_RunState`
[INFO] [stdout] 92 | #[repr(u8)]
[INFO] [stdout] 93 | pub enum RunState {
[INFO] [stdout]    |          -------- `RunState` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/protocol.rs:13:30
[INFO] [stdout]    |
[INFO] [stdout] 13 | #[derive(Copy, Clone, Debug, FromPrimitive, PartialEq, Eq)]
[INFO] [stdout]    |                              ^------------
[INFO] [stdout]    |                              |
[INFO] [stdout]    |                              `FromPrimitive` is not local
[INFO] [stdout]    |                              move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_Opcode`
[INFO] [stdout] 14 | #[repr(u8)]
[INFO] [stdout] 15 | pub enum Opcode {
[INFO] [stdout]    |          ------ `Opcode` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/protocol.rs:96:30
[INFO] [stdout]    |
[INFO] [stdout] 96 | #[derive(Copy, Clone, Debug, FromPrimitive, thiserror::Error)]
[INFO] [stdout]    |                              ^------------
[INFO] [stdout]    |                              |
[INFO] [stdout]    |                              `FromPrimitive` is not local
[INFO] [stdout]    |                              move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_DeviceError`
[INFO] [stdout] ...
[INFO] [stdout] 99 | pub enum DeviceError {
[INFO] [stdout]    |          ----------- `DeviceError` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/protocol.rs:196:30
[INFO] [stdout]     |
[INFO] [stdout] 196 | #[derive(Copy, Clone, Debug, FromPrimitive, PartialEq, Eq)]
[INFO] [stdout]     |                              ^------------
[INFO] [stdout]     |                              |
[INFO] [stdout]     |                              `FromPrimitive` is not local
[INFO] [stdout]     |                              move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_PacketType`
[INFO] [stdout] ...
[INFO] [stdout] 199 | pub enum PacketType {
[INFO] [stdout]     |          ---------- `PacketType` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/sensor.rs:9:51
[INFO] [stdout]    |
[INFO] [stdout]  9 | #[derive(Debug, Copy, Clone, Hash, PartialEq, Eq, FromPrimitive)]
[INFO] [stdout]    |                                                   ^------------
[INFO] [stdout]    |                                                   |
[INFO] [stdout]    |                                                   `FromPrimitive` is not local
[INFO] [stdout]    |                                                   move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_InPort`
[INFO] [stdout] ...
[INFO] [stdout] 13 | pub enum InPort {
[INFO] [stdout]    |          ------ `InPort` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/sensor.rs:28:54
[INFO] [stdout]    |
[INFO] [stdout] 28 | #[derive(Debug, Default, Copy, Clone, PartialEq, Eq, FromPrimitive)]
[INFO] [stdout]    |                                                      ^------------
[INFO] [stdout]    |                                                      |
[INFO] [stdout]    |                                                      `FromPrimitive` is not local
[INFO] [stdout]    |                                                      move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_SensorType`
[INFO] [stdout] ...
[INFO] [stdout] 32 | pub enum SensorType {
[INFO] [stdout]    |          ---------- `SensorType` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/sensor.rs:68:54
[INFO] [stdout]    |
[INFO] [stdout] 68 | #[derive(Debug, Default, Copy, Clone, PartialEq, Eq, FromPrimitive)]
[INFO] [stdout]    |                                                      ^------------
[INFO] [stdout]    |                                                      |
[INFO] [stdout]    |                                                      `FromPrimitive` is not local
[INFO] [stdout]    |                                                      move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_SensorMode`
[INFO] [stdout] ...
[INFO] [stdout] 72 | pub enum SensorMode {
[INFO] [stdout]    |          ---------- `SensorMode` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 27.24s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: bluer v0.16.1
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1`
[INFO] running `Command { std: "docker" "inspect" "a378b5c4d09ca10fbc87b47a227947da5a38eb2cefa6bd2a751c759c0639c957", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "a378b5c4d09ca10fbc87b47a227947da5a38eb2cefa6bd2a751c759c0639c957" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "test" "--frozen" "--release", kill_on_drop: false }`
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> src/motor.rs:17:51
[INFO] [stderr]    |
[INFO] [stderr] 17 | #[derive(Copy, Clone, Debug, Hash, PartialEq, Eq, FromPrimitive)]
[INFO] [stderr]    |                                                   ^------------
[INFO] [stderr]    |                                                   |
[INFO] [stderr]    |                                                   `FromPrimitive` is not local
[INFO] [stderr]    |                                                   move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_OutPort`
[INFO] [stderr] ...
[INFO] [stderr] 20 | pub enum OutPort {
[INFO] [stderr]    |          ------- `OutPort` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stderr]    = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> src/motor.rs:40:45
[INFO] [stderr]    |
[INFO] [stderr] 40 | #[derive(Copy, Clone, Debug, PartialEq, Eq, FromPrimitive)]
[INFO] [stderr]    |                                             ^------------
[INFO] [stderr]    |                                             |
[INFO] [stderr]    |                                             `FromPrimitive` is not local
[INFO] [stderr]    |                                             move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_OutMode`
[INFO] [stderr] 41 | pub struct OutMode(pub(crate) u8);
[INFO] [stderr]    |            ------- `OutMode` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> src/motor.rs:70:54
[INFO] [stderr]    |
[INFO] [stderr] 70 | #[derive(Copy, Clone, Debug, Default, PartialEq, Eq, FromPrimitive)]
[INFO] [stderr]    |                                                      ^------------
[INFO] [stderr]    |                                                      |
[INFO] [stderr]    |                                                      `FromPrimitive` is not local
[INFO] [stderr]    |                                                      move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_RegulationMode`
[INFO] [stderr] 71 | #[repr(u8)]
[INFO] [stderr] 72 | pub enum RegulationMode {
[INFO] [stderr]    |          -------------- `RegulationMode` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> src/motor.rs:91:45
[INFO] [stderr]    |
[INFO] [stderr] 91 | #[derive(Copy, Clone, Debug, PartialEq, Eq, FromPrimitive)]
[INFO] [stderr]    |                                             ^------------
[INFO] [stderr]    |                                             |
[INFO] [stderr]    |                                             `FromPrimitive` is not local
[INFO] [stderr]    |                                             move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_RunState`
[INFO] [stderr] 92 | #[repr(u8)]
[INFO] [stderr] 93 | pub enum RunState {
[INFO] [stderr]    |          -------- `RunState` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> src/protocol.rs:13:30
[INFO] [stderr]    |
[INFO] [stderr] 13 | #[derive(Copy, Clone, Debug, FromPrimitive, PartialEq, Eq)]
[INFO] [stderr]    |                              ^------------
[INFO] [stderr]    |                              |
[INFO] [stderr]    |                              `FromPrimitive` is not local
[INFO] [stderr]    |                              move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_Opcode`
[INFO] [stderr] 14 | #[repr(u8)]
[INFO] [stderr] 15 | pub enum Opcode {
[INFO] [stderr]    |          ------ `Opcode` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> src/protocol.rs:96:30
[INFO] [stderr]    |
[INFO] [stderr] 96 | #[derive(Copy, Clone, Debug, FromPrimitive, thiserror::Error)]
[INFO] [stderr]    |                              ^------------
[INFO] [stderr]    |                              |
[INFO] [stderr]    |                              `FromPrimitive` is not local
[INFO] [stderr]    |                              move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_DeviceError`
[INFO] [stderr] ...
[INFO] [stderr] 99 | pub enum DeviceError {
[INFO] [stderr]    |          ----------- `DeviceError` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> src/protocol.rs:196:30
[INFO] [stderr]     |
[INFO] [stderr] 196 | #[derive(Copy, Clone, Debug, FromPrimitive, PartialEq, Eq)]
[INFO] [stderr]     |                              ^------------
[INFO] [stderr]     |                              |
[INFO] [stderr]     |                              `FromPrimitive` is not local
[INFO] [stderr]     |                              move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_PacketType`
[INFO] [stderr] ...
[INFO] [stderr] 199 | pub enum PacketType {
[INFO] [stderr]     |          ---------- `PacketType` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> src/sensor.rs:9:51
[INFO] [stderr]    |
[INFO] [stderr]  9 | #[derive(Debug, Copy, Clone, Hash, PartialEq, Eq, FromPrimitive)]
[INFO] [stderr]    |                                                   ^------------
[INFO] [stderr]    |                                                   |
[INFO] [stderr]    |                                                   `FromPrimitive` is not local
[INFO] [stderr]    |                                                   move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_InPort`
[INFO] [stderr] ...
[INFO] [stderr] 13 | pub enum InPort {
[INFO] [stderr]    |          ------ `InPort` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> src/sensor.rs:28:54
[INFO] [stderr]    |
[INFO] [stderr] 28 | #[derive(Debug, Default, Copy, Clone, PartialEq, Eq, FromPrimitive)]
[INFO] [stderr]    |                                                      ^------------
[INFO] [stderr]    |                                                      |
[INFO] [stderr]    |                                                      `FromPrimitive` is not local
[INFO] [stderr]    |                                                      move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_SensorType`
[INFO] [stderr] ...
[INFO] [stderr] 32 | pub enum SensorType {
[INFO] [stderr]    |          ---------- `SensorType` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> src/sensor.rs:68:54
[INFO] [stderr]    |
[INFO] [stderr] 68 | #[derive(Debug, Default, Copy, Clone, PartialEq, Eq, FromPrimitive)]
[INFO] [stderr]    |                                                      ^------------
[INFO] [stderr]    |                                                      |
[INFO] [stderr]    |                                                      `FromPrimitive` is not local
[INFO] [stderr]    |                                                      move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_SensorMode`
[INFO] [stderr] ...
[INFO] [stderr] 72 | pub enum SensorMode {
[INFO] [stderr]    |          ---------- `SensorMode` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: `nxtusb` (lib) generated 10 warnings
[INFO] [stderr] warning: `nxtusb` (lib test) generated 10 warnings (10 duplicates)
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 0.23s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: bluer v0.16.1
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1`
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/release/deps/nxtusb-602371d9ff5dcc36)
[INFO] [stdout] 
[INFO] [stdout] running 4 tests
[INFO] [stdout] test system::test::display_raster ... ok
[INFO] [stderr]    Doc-tests nxtusb
[INFO] [stdout] test protocol::test::brick_name ... ok
[INFO] [stdout] test protocol::test::batt_level ... ok
[INFO] [stdout] test protocol::test::push_filename_adds_20_bytes ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test src/lib.rs - (line 20) - compile ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.11s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "a378b5c4d09ca10fbc87b47a227947da5a38eb2cefa6bd2a751c759c0639c957", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a378b5c4d09ca10fbc87b47a227947da5a38eb2cefa6bd2a751c759c0639c957", kill_on_drop: false }`
[INFO] [stdout] a378b5c4d09ca10fbc87b47a227947da5a38eb2cefa6bd2a751c759c0639c957
