[INFO] fetching crate samd-dma 0.3.0... [INFO] building samd-dma-0.3.0 against try#4987e9d4227139400384ab59296ffee3b0fb1183 for pr-146237-2 [INFO] extracting crate samd-dma 0.3.0 into /workspace/builds/worker-0-tc2/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-0-tc2/source/Cargo.toml [INFO] validating manifest of crates.io crate samd-dma 0.3.0 on toolchain 4987e9d4227139400384ab59296ffee3b0fb1183 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+4987e9d4227139400384ab59296ffee3b0fb1183" "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" "+4987e9d4227139400384ab59296ffee3b0fb1183" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+4987e9d4227139400384ab59296ffee3b0fb1183" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 1993e6b62e6fa660755969418d178a45ab3cfe2bf0de9eaf1c9a1a4e98ef524f [INFO] running `Command { std: "docker" "start" "-a" "1993e6b62e6fa660755969418d178a45ab3cfe2bf0de9eaf1c9a1a4e98ef524f", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "1993e6b62e6fa660755969418d178a45ab3cfe2bf0de9eaf1c9a1a4e98ef524f", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "1993e6b62e6fa660755969418d178a45ab3cfe2bf0de9eaf1c9a1a4e98ef524f", kill_on_drop: false }` [INFO] [stdout] 1993e6b62e6fa660755969418d178a45ab3cfe2bf0de9eaf1c9a1a4e98ef524f [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+4987e9d4227139400384ab59296ffee3b0fb1183" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] c3555101527ded7bed7c0b43e4e8f558c8a036bb1deb0b90b662561b3633b4ed [INFO] running `Command { std: "docker" "start" "-a" "c3555101527ded7bed7c0b43e4e8f558c8a036bb1deb0b90b662561b3633b4ed", kill_on_drop: false }` [INFO] [stderr] Compiling typenum v1.12.0 [INFO] [stderr] Compiling semver-parser v0.7.0 [INFO] [stderr] Compiling proc-macro2 v1.0.18 [INFO] [stderr] Compiling syn v1.0.34 [INFO] [stderr] Compiling vcell v0.1.2 [INFO] [stderr] Compiling proc-macro-hack v0.5.16 [INFO] [stderr] Compiling cortex-m v0.6.2 [INFO] [stderr] Compiling volatile-register v0.2.0 [INFO] [stderr] Compiling semver v0.9.0 [INFO] [stderr] Compiling rustc_version v0.2.3 [INFO] [stderr] Compiling paste-impl v0.1.18 [INFO] [stderr] Compiling quote v1.0.7 [INFO] [stderr] Compiling bare-metal v0.2.5 [INFO] [stderr] Compiling generic-array v0.13.2 [INFO] [stderr] Compiling generic-array v0.12.3 [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/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[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/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[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[E0609]: no field `channels` on type `&mut DMAController` [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[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[E0609]: no field `channels` on type `&mut DMAController` [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` [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: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[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/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] 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: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: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: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/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] 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" "c3555101527ded7bed7c0b43e4e8f558c8a036bb1deb0b90b662561b3633b4ed", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "c3555101527ded7bed7c0b43e4e8f558c8a036bb1deb0b90b662561b3633b4ed", kill_on_drop: false }` [INFO] [stdout] c3555101527ded7bed7c0b43e4e8f558c8a036bb1deb0b90b662561b3633b4ed