[INFO] fetching crate samd-dma 0.3.0...
[INFO] testing samd-dma-0.3.0 against master#c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38 for pr-146098-8
[INFO] extracting crate samd-dma 0.3.0 into /workspace/builds/worker-5-tc1/source
[INFO] started tweaking crates.io crate samd-dma 0.3.0
[INFO] removed 0 missing examples
[INFO] finished tweaking crates.io crate samd-dma 0.3.0
[INFO] tweaked toml for crates.io crate samd-dma 0.3.0 written to /workspace/builds/worker-5-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate samd-dma 0.3.0 on toolchain c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate samd-dma 0.3.0 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded smart-default v0.6.0
[INFO] [stderr]   Downloaded aligned v0.3.2
[INFO] [stderr]   Downloaded vcell v0.1.2
[INFO] [stderr]   Downloaded volatile-register v0.2.0
[INFO] [stderr]   Downloaded as-slice v0.1.3
[INFO] [stderr]   Downloaded proc-macro-hack v0.5.16
[INFO] [stderr]   Downloaded cortex-m v0.6.2
[INFO] [stderr]   Downloaded atsamd21g18a v0.6.0
[INFO] [stderr]   Downloaded atsamd51j20a v0.6.0
[INFO] [stderr]   Downloaded atsamd21e18a v0.6.0
[INFO] [stderr]   Downloaded atsamd21j18a v0.6.0
[INFO] [stderr]   Downloaded atsamd51g19a v0.6.0
[INFO] [stderr]   Downloaded atsamd51j19a v0.6.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 1e1b57f4caa4d699990a33afc66f807d2de0f18eef959bcf74731d4a761041ba
[INFO] running `Command { std: "docker" "start" "-a" "1e1b57f4caa4d699990a33afc66f807d2de0f18eef959bcf74731d4a761041ba", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "1e1b57f4caa4d699990a33afc66f807d2de0f18eef959bcf74731d4a761041ba", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "1e1b57f4caa4d699990a33afc66f807d2de0f18eef959bcf74731d4a761041ba", kill_on_drop: false }`
[INFO] [stdout] 1e1b57f4caa4d699990a33afc66f807d2de0f18eef959bcf74731d4a761041ba
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] dca15ab9cbc0183066af050afe7f155a9d24f622a1d7b6fb58fb26b8269ca331
[INFO] running `Command { std: "docker" "start" "-a" "dca15ab9cbc0183066af050afe7f155a9d24f622a1d7b6fb58fb26b8269ca331", kill_on_drop: false }`
[INFO] [stderr]    Compiling typenum v1.12.0
[INFO] [stderr]    Compiling proc-macro2 v1.0.18
[INFO] [stderr]    Compiling syn v1.0.34
[INFO] [stderr]    Compiling stable_deref_trait v1.2.0
[INFO] [stderr]    Compiling vcell v0.1.2
[INFO] [stderr]    Compiling cortex-m v0.6.2
[INFO] [stderr]    Compiling proc-macro-hack v0.5.16
[INFO] [stderr]    Compiling bare-metal v0.2.5
[INFO] [stderr]    Compiling volatile-register v0.2.0
[INFO] [stderr]    Compiling quote v1.0.7
[INFO] [stderr]    Compiling paste-impl v0.1.18
[INFO] [stderr]    Compiling generic-array v0.12.3
[INFO] [stderr]    Compiling generic-array v0.13.2
[INFO] [stderr]    Compiling paste v0.1.18
[INFO] [stderr]    Compiling as-slice v0.1.3
[INFO] [stderr]    Compiling aligned v0.3.2
[INFO] [stderr]    Compiling smart-default v0.6.0
[INFO] [stderr]    Compiling samd-dma v0.3.0 (/opt/rustwide/workdir)
[INFO] [stdout] error: Please use this crate's feature flags to select a SAM micro-controller to target.
[INFO] [stdout]   --> src/lib.rs:24:1
[INFO] [stdout]    |
[INFO] [stdout] 24 | compile_error!("Please use this crate's feature flags to select a SAM micro-controller to target.");
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `target_device` in the crate root
[INFO] [stdout]   --> src/types.rs:4:12
[INFO] [stdout]    |
[INFO] [stdout]  4 | use crate::target_device::generic::Variant;
[INFO] [stdout]    |            ^^^^^^^^^^^^^ could not find `target_device` in the crate root
[INFO] [stdout]    |
[INFO] [stdout] note: found an item that was configured out
[INFO] [stdout]   --> src/lib.rs:31:21
[INFO] [stdout]    |
[INFO] [stdout] 30 | #[cfg(feature = "samd51j19a")]
[INFO] [stdout]    |       ---------------------- the item is gated behind the `samd51j19a` feature
[INFO] [stdout] 31 | use atsamd51j19a as target_device;
[INFO] [stdout]    |                     ^^^^^^^^^^^^^
[INFO] [stdout] note: found an item that was configured out
[INFO] [stdout]   --> src/lib.rs:34:21
[INFO] [stdout]    |
[INFO] [stdout] 33 | #[cfg(feature = "samd51j20a")]
[INFO] [stdout]    |       ---------------------- the item is gated behind the `samd51j20a` feature
[INFO] [stdout] 34 | use atsamd51j20a as target_device;
[INFO] [stdout]    |                     ^^^^^^^^^^^^^
[INFO] [stdout] note: found an item that was configured out
[INFO] [stdout]   --> src/lib.rs:37:21
[INFO] [stdout]    |
[INFO] [stdout] 36 | #[cfg(feature = "samd51g19a")]
[INFO] [stdout]    |       ---------------------- the item is gated behind the `samd51g19a` feature
[INFO] [stdout] 37 | use atsamd51g19a as target_device;
[INFO] [stdout]    |                     ^^^^^^^^^^^^^
[INFO] [stdout] note: found an item that was configured out
[INFO] [stdout]   --> src/lib.rs:40:21
[INFO] [stdout]    |
[INFO] [stdout] 39 | #[cfg(feature = "samd21g18a")]
[INFO] [stdout]    |       ---------------------- the item is gated behind the `samd21g18a` feature
[INFO] [stdout] 40 | use atsamd21g18a as target_device;
[INFO] [stdout]    |                     ^^^^^^^^^^^^^
[INFO] [stdout] note: found an item that was configured out
[INFO] [stdout]   --> src/lib.rs:43:21
[INFO] [stdout]    |
[INFO] [stdout] 42 | #[cfg(feature = "samd21e18a")]
[INFO] [stdout]    |       ---------------------- the item is gated behind the `samd21e18a` feature
[INFO] [stdout] 43 | use atsamd21e18a as target_device;
[INFO] [stdout]    |                     ^^^^^^^^^^^^^
[INFO] [stdout] note: found an item that was configured out
[INFO] [stdout]   --> src/lib.rs:46:21
[INFO] [stdout]    |
[INFO] [stdout] 45 | #[cfg(feature = "samd21j18a")]
[INFO] [stdout]    |       ---------------------- the item is gated behind the `samd21j18a` feature
[INFO] [stdout] 46 | use atsamd21j18a as target_device;
[INFO] [stdout]    |                     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::target_device`
[INFO] [stdout]   --> src/channel.rs:2:12
[INFO] [stdout]    |
[INFO] [stdout]  2 | use crate::target_device::DMAC;
[INFO] [stdout]    |            ^^^^^^^^^^^^^ could not find `target_device` in the crate root
[INFO] [stdout]    |
[INFO] [stdout] note: found an item that was configured out
[INFO] [stdout]   --> src/lib.rs:31:21
[INFO] [stdout]    |
[INFO] [stdout] 30 | #[cfg(feature = "samd51j19a")]
[INFO] [stdout]    |       ---------------------- the item is gated behind the `samd51j19a` feature
[INFO] [stdout] 31 | use atsamd51j19a as target_device;
[INFO] [stdout]    |                     ^^^^^^^^^^^^^
[INFO] [stdout] note: found an item that was configured out
[INFO] [stdout]   --> src/lib.rs:34:21
[INFO] [stdout]    |
[INFO] [stdout] 33 | #[cfg(feature = "samd51j20a")]
[INFO] [stdout]    |       ---------------------- the item is gated behind the `samd51j20a` feature
[INFO] [stdout] 34 | use atsamd51j20a as target_device;
[INFO] [stdout]    |                     ^^^^^^^^^^^^^
[INFO] [stdout] note: found an item that was configured out
[INFO] [stdout]   --> src/lib.rs:37:21
[INFO] [stdout]    |
[INFO] [stdout] 36 | #[cfg(feature = "samd51g19a")]
[INFO] [stdout]    |       ---------------------- the item is gated behind the `samd51g19a` feature
[INFO] [stdout] 37 | use atsamd51g19a as target_device;
[INFO] [stdout]    |                     ^^^^^^^^^^^^^
[INFO] [stdout] note: found an item that was configured out
[INFO] [stdout]   --> src/lib.rs:40:21
[INFO] [stdout]    |
[INFO] [stdout] 39 | #[cfg(feature = "samd21g18a")]
[INFO] [stdout]    |       ---------------------- the item is gated behind the `samd21g18a` feature
[INFO] [stdout] 40 | use atsamd21g18a as target_device;
[INFO] [stdout]    |                     ^^^^^^^^^^^^^
[INFO] [stdout] note: found an item that was configured out
[INFO] [stdout]   --> src/lib.rs:43:21
[INFO] [stdout]    |
[INFO] [stdout] 42 | #[cfg(feature = "samd21e18a")]
[INFO] [stdout]    |       ---------------------- the item is gated behind the `samd21e18a` feature
[INFO] [stdout] 43 | use atsamd21e18a as target_device;
[INFO] [stdout]    |                     ^^^^^^^^^^^^^
[INFO] [stdout] note: found an item that was configured out
[INFO] [stdout]   --> src/lib.rs:46:21
[INFO] [stdout]    |
[INFO] [stdout] 45 | #[cfg(feature = "samd21j18a")]
[INFO] [stdout]    |       ---------------------- the item is gated behind the `samd21j18a` feature
[INFO] [stdout] 46 | use atsamd21j18a as target_device;
[INFO] [stdout]    |                     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `self::TRIGACT_A`
[INFO] [stdout]    --> src/types.rs:297:19
[INFO] [stdout]     |
[INFO] [stdout] 297 |         use self::TRIGACT_A::*;
[INFO] [stdout]     |                   ^^^^^^^^^ could not find `TRIGACT_A` in `self`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `target_device`
[INFO] [stdout]    --> src/lib.rs:103:5
[INFO] [stdout]     |
[INFO] [stdout] 103 | use target_device::DMAC;
[INFO] [stdout]     |     ^^^^^^^^^^^^^ use of unresolved module or unlinked crate `target_device`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `target_device`, use `cargo add target_device` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `channel_reg` in this scope
[INFO] [stdout]    --> src/channel.rs:219:40
[INFO] [stdout]     |
[INFO] [stdout] 219 |         Interrupts::from_bits_truncate(channel_reg!(chintflag, self.id).read().bits())
[INFO] [stdout]     |                                        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `channel_reg` in this scope
[INFO] [stdout]    --> src/channel.rs:224:9
[INFO] [stdout]     |
[INFO] [stdout] 224 |         channel_reg!(chintflag, self.id).reset();
[INFO] [stdout]     |         ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `channel_reg` in this scope
[INFO] [stdout]    --> src/channel.rs:229:9
[INFO] [stdout]     |
[INFO] [stdout] 229 |         channel_reg!(chintenset, self.id).write(|w| unsafe { w.bits(interrupts.bits()) });
[INFO] [stdout]     |         ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `channel_reg` in this scope
[INFO] [stdout]    --> src/channel.rs:230:9
[INFO] [stdout]     |
[INFO] [stdout] 230 |         channel_reg!(chintenclr, self.id).write(|w| unsafe { w.bits(!interrupts.bits()) });
[INFO] [stdout]     |         ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `channel_reg` in this scope
[INFO] [stdout]    --> src/channel.rs:235:40
[INFO] [stdout]     |
[INFO] [stdout] 235 |         Interrupts::from_bits_truncate(channel_reg!(chintenset, self.id).read().bits())
[INFO] [stdout]     |                                        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `channel_reg` in this scope
[INFO] [stdout]    --> src/channel.rs:253:9
[INFO] [stdout]     |
[INFO] [stdout] 253 |         channel_reg!(chctrla, self.id).modify(|_, w| w.enable().set_bit());
[INFO] [stdout]     |         ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `channel_reg` in this scope
[INFO] [stdout]    --> src/channel.rs:258:9
[INFO] [stdout]     |
[INFO] [stdout] 258 |         channel_reg!(chctrla, self.id).read().enable().bit()
[INFO] [stdout]     |         ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `channel_reg` in this scope
[INFO] [stdout]    --> src/channel.rs:265:9
[INFO] [stdout]     |
[INFO] [stdout] 265 |         channel_reg!(chctrla, self.id).modify(|_, w| w.swrst().set_bit());
[INFO] [stdout]     |         ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `channel_reg` in this scope
[INFO] [stdout]    --> src/channel.rs:287:9
[INFO] [stdout]     |
[INFO] [stdout] 287 |         channel_reg!(chctrlb, self.id).modify(|r, w| {
[INFO] [stdout]     |         ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `channel_reg` in this scope
[INFO] [stdout]    --> src/channel.rs:301:9
[INFO] [stdout]     |
[INFO] [stdout] 301 |         channel_reg!(chctrlb, self.id).modify(|r, w| {
[INFO] [stdout]     |         ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `channel_reg` in this scope
[INFO] [stdout]    --> src/channel.rs:316:9
[INFO] [stdout]     |
[INFO] [stdout] 316 |         channel_reg!(chctrla, self.id).modify(|_, w| w.enable().clear_bit());
[INFO] [stdout]     |         ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `channel_reg` in this scope
[INFO] [stdout]    --> src/channel.rs:322:9
[INFO] [stdout]     |
[INFO] [stdout] 322 |         channel_reg!(chstatus, self.id).read().pend().bit()
[INFO] [stdout]     |         ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `channel_reg` in this scope
[INFO] [stdout]    --> src/channel.rs:328:9
[INFO] [stdout]     |
[INFO] [stdout] 328 |         channel_reg!(chstatus, self.id).read().busy().bit()
[INFO] [stdout]     |         ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `channel_reg` in this scope
[INFO] [stdout]    --> src/channel.rs:340:22
[INFO] [stdout]     |
[INFO] [stdout] 340 |         let status = channel_reg!(chstatus, self.id).read();
[INFO] [stdout]     |                      ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `channel_reg` in this scope
[INFO] [stdout]    --> src/channel.rs:343:12
[INFO] [stdout]     |
[INFO] [stdout] 343 |         if channel_reg!(chctrla, self.id).read().enable().bit_is_set() {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/channel.rs:152:24
[INFO] [stdout]     |
[INFO] [stdout] 152 |         reg.modify(|_, w| unsafe { w.trigact().bits(trig_act as u8) });
[INFO] [stdout]     |                        ^           - type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving this closure parameter an explicit type
[INFO] [stdout]     |
[INFO] [stdout] 152 |         reg.modify(|_, w: /* Type */| unsafe { w.trigact().bits(trig_act as u8) });
[INFO] [stdout]     |                         ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/channel.rs:183:24
[INFO] [stdout]     |
[INFO] [stdout] 183 |         reg.modify(|_, w| unsafe { w.trigsrc().bits(source as u8)});
[INFO] [stdout]     |                        ^           - type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving this closure parameter an explicit type
[INFO] [stdout]     |
[INFO] [stdout] 183 |         reg.modify(|_, w: /* Type */| unsafe { w.trigsrc().bits(source as u8)});
[INFO] [stdout]     |                         ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/channel.rs:205:35
[INFO] [stdout]     |
[INFO] [stdout] 205 |     pub fn get_priority(&self) -> Priority {
[INFO] [stdout]     |            ------------           ^^^^^^^^ expected `Priority`, found `()`
[INFO] [stdout]     |            |
[INFO] [stdout]     |            implicitly returns `()` as its body has no tail or `return` expression
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/channel.rs:229:50
[INFO] [stdout]     |
[INFO] [stdout] 229 |         channel_reg!(chintenset, self.id).write(|w| unsafe { w.bits(interrupts.bits()) });
[INFO] [stdout]     |                                                  ^           - type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving this closure parameter an explicit type
[INFO] [stdout]     |
[INFO] [stdout] 229 |         channel_reg!(chintenset, self.id).write(|w: /* Type */| unsafe { w.bits(interrupts.bits()) });
[INFO] [stdout]     |                                                   ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/channel.rs:230:50
[INFO] [stdout]     |
[INFO] [stdout] 230 |         channel_reg!(chintenclr, self.id).write(|w| unsafe { w.bits(!interrupts.bits()) });
[INFO] [stdout]     |                                                  ^           - type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving this closure parameter an explicit type
[INFO] [stdout]     |
[INFO] [stdout] 230 |         channel_reg!(chintenclr, self.id).write(|w: /* Type */| unsafe { w.bits(!interrupts.bits()) });
[INFO] [stdout]     |                                                   ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/channel.rs:253:51
[INFO] [stdout]     |
[INFO] [stdout] 253 |         channel_reg!(chctrla, self.id).modify(|_, w| w.enable().set_bit());
[INFO] [stdout]     |                                                   ^  - type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving this closure parameter an explicit type
[INFO] [stdout]     |
[INFO] [stdout] 253 |         channel_reg!(chctrla, self.id).modify(|_, w: /* Type */| w.enable().set_bit());
[INFO] [stdout]     |                                                    ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/channel.rs:265:51
[INFO] [stdout]     |
[INFO] [stdout] 265 |         channel_reg!(chctrla, self.id).modify(|_, w| w.swrst().set_bit());
[INFO] [stdout]     |                                                   ^  - type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving this closure parameter an explicit type
[INFO] [stdout]     |
[INFO] [stdout] 265 |         channel_reg!(chctrla, self.id).modify(|_, w: /* Type */| w.swrst().set_bit());
[INFO] [stdout]     |                                                    ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/channel.rs:275:54
[INFO] [stdout]     |
[INFO] [stdout] 275 |         unsafe {&*DMAC::ptr()}.swtrigctrl.modify(|r, w| unsafe {
[INFO] [stdout]     |                                                      ^
[INFO] [stdout] 276 |             w.bits(r.bits() | (1 << self.id))
[INFO] [stdout]     |             - type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving this closure parameter an explicit type
[INFO] [stdout]     |
[INFO] [stdout] 275 |         unsafe {&*DMAC::ptr()}.swtrigctrl.modify(|r, w: /* Type */| unsafe {
[INFO] [stdout]     |                                                       ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/channel.rs:275:51
[INFO] [stdout]     |
[INFO] [stdout] 275 |         unsafe {&*DMAC::ptr()}.swtrigctrl.modify(|r, w| unsafe {
[INFO] [stdout]     |                                                   ^
[INFO] [stdout] 276 |             w.bits(r.bits() | (1 << self.id))
[INFO] [stdout]     |                    - type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving this closure parameter an explicit type
[INFO] [stdout]     |
[INFO] [stdout] 275 |         unsafe {&*DMAC::ptr()}.swtrigctrl.modify(|r: /* Type */, w| unsafe {
[INFO] [stdout]     |                                                    ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/channel.rs:287:48
[INFO] [stdout]     |
[INFO] [stdout] 287 |         channel_reg!(chctrlb, self.id).modify(|r, w| {
[INFO] [stdout]     |                                                ^
[INFO] [stdout] 288 |             if r.cmd().is_noact() {
[INFO] [stdout]     |                - type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving this closure parameter an explicit type
[INFO] [stdout]     |
[INFO] [stdout] 287 |         channel_reg!(chctrlb, self.id).modify(|r: /* Type */, w| {
[INFO] [stdout]     |                                                 ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/channel.rs:287:51
[INFO] [stdout]     |
[INFO] [stdout] 287 |         channel_reg!(chctrlb, self.id).modify(|r, w| {
[INFO] [stdout]     |                                                   ^
[INFO] [stdout] 288 |             if r.cmd().is_noact() {
[INFO] [stdout] 289 |                 w.cmd().suspend();
[INFO] [stdout]     |                 - type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving this closure parameter an explicit type
[INFO] [stdout]     |
[INFO] [stdout] 287 |         channel_reg!(chctrlb, self.id).modify(|r, w: /* Type */| {
[INFO] [stdout]     |                                                    ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/channel.rs:301:48
[INFO] [stdout]     |
[INFO] [stdout] 301 |         channel_reg!(chctrlb, self.id).modify(|r, w| {
[INFO] [stdout]     |                                                ^
[INFO] [stdout] 302 |             if r.cmd().is_noact() {
[INFO] [stdout]     |                - type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving this closure parameter an explicit type
[INFO] [stdout]     |
[INFO] [stdout] 301 |         channel_reg!(chctrlb, self.id).modify(|r: /* Type */, w| {
[INFO] [stdout]     |                                                 ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/channel.rs:301:51
[INFO] [stdout]     |
[INFO] [stdout] 301 |         channel_reg!(chctrlb, self.id).modify(|r, w| {
[INFO] [stdout]     |                                                   ^
[INFO] [stdout] 302 |             if r.cmd().is_noact() {
[INFO] [stdout] 303 |                 w.cmd().resume();
[INFO] [stdout]     |                 - type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving this closure parameter an explicit type
[INFO] [stdout]     |
[INFO] [stdout] 301 |         channel_reg!(chctrlb, self.id).modify(|r, w: /* Type */| {
[INFO] [stdout]     |                                                    ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/channel.rs:316:51
[INFO] [stdout]     |
[INFO] [stdout] 316 |         channel_reg!(chctrla, self.id).modify(|_, w| w.enable().clear_bit());
[INFO] [stdout]     |                                                   ^  - type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving this closure parameter an explicit type
[INFO] [stdout]     |
[INFO] [stdout] 316 |         channel_reg!(chctrla, self.id).modify(|_, w: /* Type */| w.enable().clear_bit());
[INFO] [stdout]     |                                                    ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/lib.rs:127:30
[INFO] [stdout]     |
[INFO] [stdout] 127 |         dmac.baseaddr.write(|w| unsafe { w.bits(storage.baseaddr() as u32) });
[INFO] [stdout]     |                              ^           - type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving this closure parameter an explicit type
[INFO] [stdout]     |
[INFO] [stdout] 127 |         dmac.baseaddr.write(|w: /* Type */| unsafe { w.bits(storage.baseaddr() as u32) });
[INFO] [stdout]     |                               ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/lib.rs:128:29
[INFO] [stdout]     |
[INFO] [stdout] 128 |         dmac.wrbaddr.write(|w| unsafe { w.bits(storage.wbaddr() as u32) });
[INFO] [stdout]     |                             ^           - type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving this closure parameter an explicit type
[INFO] [stdout]     |
[INFO] [stdout] 128 |         dmac.wrbaddr.write(|w: /* Type */| unsafe { w.bits(storage.wbaddr() as u32) });
[INFO] [stdout]     |                              ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/lib.rs:142:35
[INFO] [stdout]     |
[INFO] [stdout] 142 |         self.dmac.ctrl.modify(|_, w| w.dmaenable().clear_bit());
[INFO] [stdout]     |                                   ^  - type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving this closure parameter an explicit type
[INFO] [stdout]     |
[INFO] [stdout] 142 |         self.dmac.ctrl.modify(|_, w: /* Type */| w.dmaenable().clear_bit());
[INFO] [stdout]     |                                    ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/lib.rs:147:32
[INFO] [stdout]     |
[INFO] [stdout] 147 |         self.dmac.ctrl.modify(|r, w| if r.dmaenable().bit_is_clear() {
[INFO] [stdout]     |                                ^        - type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving this closure parameter an explicit type
[INFO] [stdout]     |
[INFO] [stdout] 147 |         self.dmac.ctrl.modify(|r: /* Type */, w| if r.dmaenable().bit_is_clear() {
[INFO] [stdout]     |                                 ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/lib.rs:147:35
[INFO] [stdout]     |
[INFO] [stdout] 147 |         self.dmac.ctrl.modify(|r, w| if r.dmaenable().bit_is_clear() {
[INFO] [stdout]     |                                   ^
[INFO] [stdout] 148 |             w.dmaenable().set_bit()
[INFO] [stdout]     |             - type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving this closure parameter an explicit type
[INFO] [stdout]     |
[INFO] [stdout] 147 |         self.dmac.ctrl.modify(|r, w: /* Type */| if r.dmaenable().bit_is_clear() {
[INFO] [stdout]     |                                    ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/lib.rs:166:34
[INFO] [stdout]     |
[INFO] [stdout] 166 |         self.dmac.dbgctrl.write(|w| w.dbgrun().bit(val));
[INFO] [stdout]     |                                  ^  - type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving this closure parameter an explicit type
[INFO] [stdout]     |
[INFO] [stdout] 166 |         self.dmac.dbgctrl.write(|w: /* Type */| w.dbgrun().bit(val));
[INFO] [stdout]     |                                   ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `channels` on type `&mut DMAController<T>`
[INFO] [stdout]    --> src/lib.rs:182:17
[INFO] [stdout]     |
[INFO] [stdout] 182 |         if self.channels & (1 << U::USIZE) == 0 {
[INFO] [stdout]     |                 ^^^^^^^^ unknown field
[INFO] [stdout]     |
[INFO] [stdout]     = note: available fields are: `storage`, `dmac`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `channels` on type `&mut DMAController<T>`
[INFO] [stdout]    --> src/lib.rs:185:18
[INFO] [stdout]     |
[INFO] [stdout] 185 |             self.channels |= 1 << U::USIZE;
[INFO] [stdout]     |                  ^^^^^^^^ unknown field
[INFO] [stdout]     |
[INFO] [stdout]     = note: available fields are: `storage`, `dmac`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `channels` on type `&mut DMAController<T>`
[INFO] [stdout]    --> src/lib.rs:203:14
[INFO] [stdout]     |
[INFO] [stdout] 203 |         self.channels &= !(1 << channel.id());
[INFO] [stdout]     |              ^^^^^^^^ unknown field
[INFO] [stdout]     |
[INFO] [stdout]     = note: available fields are: `storage`, `dmac`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/lib.rs:217:35
[INFO] [stdout]     |
[INFO] [stdout] 217 |         self.dmac.ctrl.modify(|_, w| match level {
[INFO] [stdout]     |                                   ^
[INFO] [stdout] 218 |             Priority::Level0 => w.lvlen0().bit(value),
[INFO] [stdout]     |                                 - type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving this closure parameter an explicit type
[INFO] [stdout]     |
[INFO] [stdout] 217 |         self.dmac.ctrl.modify(|_, w: /* Type */| match level {
[INFO] [stdout]     |                                    ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/lib.rs:296:39
[INFO] [stdout]     |
[INFO] [stdout] 296 |         self.dmac.prictrl0.modify(|_, w| match level {
[INFO] [stdout]     |                                       ^
[INFO] [stdout] 297 |             Priority::Level0 => w.rrlvlen0().bit(enable),
[INFO] [stdout]     |                                 - type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving this closure parameter an explicit type
[INFO] [stdout]     |
[INFO] [stdout] 296 |         self.dmac.prictrl0.modify(|_, w: /* Type */| match level {
[INFO] [stdout]     |                                        ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/lib.rs:328:41
[INFO] [stdout]     |
[INFO] [stdout] 328 |         self.dmac.swtrigctrl.modify(|r, w| unsafe { w.bits(r.bits() | 1 << id) })
[INFO] [stdout]     |                                         ^           - type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving this closure parameter an explicit type
[INFO] [stdout]     |
[INFO] [stdout] 328 |         self.dmac.swtrigctrl.modify(|r, w: /* Type */| unsafe { w.bits(r.bits() | 1 << id) })
[INFO] [stdout]     |                                          ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/lib.rs:328:38
[INFO] [stdout]     |
[INFO] [stdout] 328 |         self.dmac.swtrigctrl.modify(|r, w| unsafe { w.bits(r.bits() | 1 << id) })
[INFO] [stdout]     |                                      ^                     - type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving this closure parameter an explicit type
[INFO] [stdout]     |
[INFO] [stdout] 328 |         self.dmac.swtrigctrl.modify(|r: /* Type */, w| unsafe { w.bits(r.bits() | 1 << id) })
[INFO] [stdout]     |                                       ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/lib.rs:396:38
[INFO] [stdout]     |
[INFO] [stdout] 396 |         self.dmac.intpend.modify(|_, w| unsafe { w.id().bits(id) });
[INFO] [stdout]     |                                      ^           - type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving this closure parameter an explicit type
[INFO] [stdout]     |
[INFO] [stdout] 396 |         self.dmac.intpend.modify(|_, w: /* Type */| unsafe { w.id().bits(id) });
[INFO] [stdout]     |                                       ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/lib.rs:402:34
[INFO] [stdout]     |
[INFO] [stdout] 402 |         self.dmac.intpend.write(|w| unsafe { w.bits(u16::from_be_bytes([int.bits(), id])) })
[INFO] [stdout]     |                                  ^           - type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving this closure parameter an explicit type
[INFO] [stdout]     |
[INFO] [stdout] 402 |         self.dmac.intpend.write(|w: /* Type */| unsafe { w.bits(u16::from_be_bytes([int.bits(), id])) })
[INFO] [stdout]     |                                   ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/lib.rs:407:38
[INFO] [stdout]     |
[INFO] [stdout] 407 |         self.dmac.intpend.modify(|_, w| unsafe { w.id().bits(id) });
[INFO] [stdout]     |                                      ^           - type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving this closure parameter an explicit type
[INFO] [stdout]     |
[INFO] [stdout] 407 |         self.dmac.intpend.modify(|_, w: /* Type */| unsafe { w.id().bits(id) });
[INFO] [stdout]     |                                       ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `priority`
[INFO] [stdout]    --> src/channel.rs:197:36
[INFO] [stdout]     |
[INFO] [stdout] 197 |     pub fn set_priority(&mut self, priority: Priority) {
[INFO] [stdout]     |                                    ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_priority`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function cannot return without recursing
[INFO] [stdout]   --> src/descriptors.rs:41:5
[INFO] [stdout]    |
[INFO] [stdout] 41 |     fn default() -> Self {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^ cannot return without recursing
[INFO] [stdout] ...
[INFO] [stdout] 46 |             ..Default::default()
[INFO] [stdout]    |               ------------------ recursive call site
[INFO] [stdout]    |
[INFO] [stdout]    = help: a `loop` may express intention better if this is on purpose
[INFO] [stdout]    = note: `#[warn(unconditional_recursion)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0282, E0308, E0432, E0433, E0609.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0282`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `samd-dma` (lib) due to 50 previous errors; 2 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "dca15ab9cbc0183066af050afe7f155a9d24f622a1d7b6fb58fb26b8269ca331", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "dca15ab9cbc0183066af050afe7f155a9d24f622a1d7b6fb58fb26b8269ca331", kill_on_drop: false }`
[INFO] [stdout] dca15ab9cbc0183066af050afe7f155a9d24f622a1d7b6fb58fb26b8269ca331
