diff --git a/embassy-boot/boot/src/lib.rs b/embassy-boot/boot/src/lib.rs index 8eb3ba96d..4521fecb0 100644 --- a/embassy-boot/boot/src/lib.rs +++ b/embassy-boot/boot/src/lib.rs @@ -1,5 +1,4 @@ #![cfg_attr(feature = "nightly", feature(async_fn_in_trait))] -#![allow(incomplete_features)] #![no_std] #![warn(missing_docs)] #![doc = include_str!("../README.md")] diff --git a/embassy-embedded-hal/src/lib.rs b/embassy-embedded-hal/src/lib.rs index a783151e4..73c81b465 100644 --- a/embassy-embedded-hal/src/lib.rs +++ b/embassy-embedded-hal/src/lib.rs @@ -1,6 +1,5 @@ #![cfg_attr(not(feature = "std"), no_std)] #![cfg_attr(feature = "nightly", feature(async_fn_in_trait, impl_trait_projections, try_blocks))] -#![cfg_attr(feature = "nightly", allow(incomplete_features))] #![warn(missing_docs)] //! Utilities to use `embedded-hal` traits with Embassy. diff --git a/embassy-lora/src/lib.rs b/embassy-lora/src/lib.rs index 3facee6f3..c23d1d0dd 100644 --- a/embassy-lora/src/lib.rs +++ b/embassy-lora/src/lib.rs @@ -1,6 +1,5 @@ #![no_std] #![feature(async_fn_in_trait, impl_trait_projections)] -#![allow(incomplete_features)] //! embassy-lora holds LoRa-specific functionality. pub(crate) mod fmt; diff --git a/embassy-net/src/lib.rs b/embassy-net/src/lib.rs index 9487c0913..bccbad521 100644 --- a/embassy-net/src/lib.rs +++ b/embassy-net/src/lib.rs @@ -1,6 +1,5 @@ #![cfg_attr(not(feature = "std"), no_std)] #![cfg_attr(feature = "nightly", feature(async_fn_in_trait, impl_trait_projections))] -#![cfg_attr(feature = "nightly", allow(incomplete_features))] #![warn(missing_docs)] #![doc = include_str!("../README.md")] diff --git a/embassy-nrf/src/lib.rs b/embassy-nrf/src/lib.rs index 7c60b32b2..d4d7a1cad 100644 --- a/embassy-nrf/src/lib.rs +++ b/embassy-nrf/src/lib.rs @@ -1,6 +1,5 @@ #![no_std] #![cfg_attr(feature = "nightly", feature(async_fn_in_trait, impl_trait_projections))] -#![cfg_attr(feature = "nightly", allow(incomplete_features))] #![doc = include_str!("../README.md")] #![warn(missing_docs)] diff --git a/embassy-nrf/src/uarte.rs b/embassy-nrf/src/uarte.rs index 586c88b2d..032089635 100644 --- a/embassy-nrf/src/uarte.rs +++ b/embassy-nrf/src/uarte.rs @@ -791,20 +791,18 @@ impl<'d, T: Instance, U: TimerInstance> UarteRxWithIdle<'d, T, U> { } } -#[cfg(not(any(feature = "_nrf9160", feature = "nrf5340")))] +#[cfg(not(any(feature = "_nrf9160", feature = "_nrf5340")))] pub(crate) fn apply_workaround_for_enable_anomaly(_r: &crate::pac::uarte0::RegisterBlock) { // Do nothing } -#[cfg(any(feature = "_nrf9160", feature = "nrf5340"))] +#[cfg(any(feature = "_nrf9160", feature = "_nrf5340"))] pub(crate) fn apply_workaround_for_enable_anomaly(r: &crate::pac::uarte0::RegisterBlock) { - use core::ops::Deref; - // Apply workaround for anomalies: // - nRF9160 - anomaly 23 // - nRF5340 - anomaly 44 - let rxenable_reg: *const u32 = ((r.deref() as *const _ as usize) + 0x564) as *const u32; - let txenable_reg: *const u32 = ((r.deref() as *const _ as usize) + 0x568) as *const u32; + let rxenable_reg: *const u32 = ((r as *const _ as usize) + 0x564) as *const u32; + let txenable_reg: *const u32 = ((r as *const _ as usize) + 0x568) as *const u32; // NB Safety: This is taken from Nordic's driver - // https://github.com/NordicSemiconductor/nrfx/blob/master/drivers/src/nrfx_uarte.c#L197 diff --git a/embassy-rp/src/lib.rs b/embassy-rp/src/lib.rs index 980ebe7f4..4e4542d70 100644 --- a/embassy-rp/src/lib.rs +++ b/embassy-rp/src/lib.rs @@ -1,6 +1,5 @@ #![no_std] #![cfg_attr(feature = "nightly", feature(async_fn_in_trait, impl_trait_projections))] -#![cfg_attr(feature = "nightly", allow(incomplete_features))] // This mod MUST go first, so that the others see its macros. pub(crate) mod fmt; diff --git a/embassy-stm32/src/lib.rs b/embassy-stm32/src/lib.rs index 3283c4062..1920e2642 100644 --- a/embassy-stm32/src/lib.rs +++ b/embassy-stm32/src/lib.rs @@ -1,6 +1,5 @@ #![no_std] #![cfg_attr(feature = "nightly", feature(async_fn_in_trait, impl_trait_projections))] -#![cfg_attr(feature = "nightly", allow(incomplete_features))] // This must go FIRST so that all the other modules see its macros. pub mod fmt; diff --git a/embassy-stm32/src/sdmmc/mod.rs b/embassy-stm32/src/sdmmc/mod.rs index 433f73d79..be788f1b0 100644 --- a/embassy-stm32/src/sdmmc/mod.rs +++ b/embassy-stm32/src/sdmmc/mod.rs @@ -188,7 +188,9 @@ fn clk_div(ker_ck: Hertz, sdmmc_ck: u32) -> Result<(bool, u16, Hertz), Error> { #[cfg(sdmmc_v1)] type Transfer<'a, C> = crate::dma::Transfer<'a, C>; #[cfg(sdmmc_v2)] -type Transfer<'a, C> = core::marker::PhantomData<&'a mut C>; +struct Transfer<'a, C> { + _dummy: core::marker::PhantomData<&'a mut C>, +} #[cfg(all(sdmmc_v1, dma))] const DMA_TRANSFER_OPTIONS: crate::dma::TransferOptions = crate::dma::TransferOptions { @@ -539,7 +541,9 @@ impl<'d, T: Instance, Dma: SdmmcDma<T> + 'd> Sdmmc<'d, T, Dma> { let transfer = { regs.idmabase0r().write(|w| w.set_idmabase0(buffer.as_mut_ptr() as u32)); regs.idmactrlr().modify(|w| w.set_idmaen(true)); - core::marker::PhantomData + Transfer { + _dummy: core::marker::PhantomData, + } }; regs.dctrl().modify(|w| { @@ -593,7 +597,9 @@ impl<'d, T: Instance, Dma: SdmmcDma<T> + 'd> Sdmmc<'d, T, Dma> { let transfer = { regs.idmabase0r().write(|w| w.set_idmabase0(buffer.as_ptr() as u32)); regs.idmactrlr().modify(|w| w.set_idmaen(true)); - core::marker::PhantomData + Transfer { + _dummy: core::marker::PhantomData, + } }; regs.dctrl().modify(|w| { diff --git a/embassy-sync/src/lib.rs b/embassy-sync/src/lib.rs index f9435ecff..53d95d081 100644 --- a/embassy-sync/src/lib.rs +++ b/embassy-sync/src/lib.rs @@ -1,6 +1,5 @@ #![cfg_attr(not(any(feature = "std", feature = "wasm")), no_std)] #![cfg_attr(feature = "nightly", feature(async_fn_in_trait, impl_trait_projections))] -#![cfg_attr(feature = "nightly", allow(incomplete_features))] #![allow(clippy::new_without_default)] #![doc = include_str!("../README.md")] #![warn(missing_docs)] diff --git a/embassy-time/src/lib.rs b/embassy-time/src/lib.rs index 8b0aebe19..8f57eabcb 100644 --- a/embassy-time/src/lib.rs +++ b/embassy-time/src/lib.rs @@ -1,6 +1,5 @@ #![cfg_attr(not(any(feature = "std", feature = "wasm", test)), no_std)] #![cfg_attr(feature = "nightly", feature(async_fn_in_trait))] -#![cfg_attr(feature = "nightly", allow(incomplete_features))] #![doc = include_str!("../README.md")] #![allow(clippy::new_without_default)] #![warn(missing_docs)] diff --git a/embassy-time/src/queue_generic.rs b/embassy-time/src/queue_generic.rs index 0f67d9dbb..64a8af4bc 100644 --- a/embassy-time/src/queue_generic.rs +++ b/embassy-time/src/queue_generic.rs @@ -64,7 +64,7 @@ impl InnerQueue { self.queue .iter_mut() .find(|timer| timer.waker.will_wake(waker)) - .map(|mut timer| { + .map(|timer| { timer.at = min(timer.at, at); }) .unwrap_or_else(|| { diff --git a/embassy-usb-driver/src/lib.rs b/embassy-usb-driver/src/lib.rs index 2c05f94f7..86e37595b 100644 --- a/embassy-usb-driver/src/lib.rs +++ b/embassy-usb-driver/src/lib.rs @@ -1,6 +1,5 @@ #![no_std] #![feature(async_fn_in_trait)] -#![allow(incomplete_features)] #![doc = include_str!("../README.md")] #![warn(missing_docs)] diff --git a/examples/stm32wl/src/bin/lora_lorawan.rs b/examples/stm32wl/src/bin/lora_lorawan.rs index 644ce2959..1a271b2f2 100644 --- a/examples/stm32wl/src/bin/lora_lorawan.rs +++ b/examples/stm32wl/src/bin/lora_lorawan.rs @@ -4,7 +4,6 @@ #![no_main] #![macro_use] #![feature(type_alias_impl_trait, async_fn_in_trait)] -#![allow(incomplete_features)] use defmt::info; use embassy_executor::Spawner; diff --git a/examples/stm32wl/src/bin/lora_p2p_receive.rs b/examples/stm32wl/src/bin/lora_p2p_receive.rs index 81e9c7057..5e80e8f6a 100644 --- a/examples/stm32wl/src/bin/lora_p2p_receive.rs +++ b/examples/stm32wl/src/bin/lora_p2p_receive.rs @@ -4,7 +4,6 @@ #![no_main] #![macro_use] #![feature(type_alias_impl_trait, async_fn_in_trait)] -#![allow(incomplete_features)] use defmt::info; use embassy_executor::Spawner; diff --git a/examples/stm32wl/src/bin/lora_p2p_send.rs b/examples/stm32wl/src/bin/lora_p2p_send.rs index 263d4e670..e22c714bd 100644 --- a/examples/stm32wl/src/bin/lora_p2p_send.rs +++ b/examples/stm32wl/src/bin/lora_p2p_send.rs @@ -4,7 +4,6 @@ #![no_main] #![macro_use] #![feature(type_alias_impl_trait, async_fn_in_trait)] -#![allow(incomplete_features)] use defmt::info; use embassy_executor::Spawner; diff --git a/examples/wasm/src/lib.rs b/examples/wasm/src/lib.rs index d44c020b6..edfe8bafc 100644 --- a/examples/wasm/src/lib.rs +++ b/examples/wasm/src/lib.rs @@ -1,5 +1,4 @@ #![feature(type_alias_impl_trait)] -#![allow(incomplete_features)] use embassy_executor::Spawner; use embassy_time::{Duration, Timer}; diff --git a/rust-toolchain.toml b/rust-toolchain.toml index 2301ddc8d..fd454db26 100644 --- a/rust-toolchain.toml +++ b/rust-toolchain.toml @@ -1,7 +1,7 @@ # Before upgrading check that everything is available on all tier1 targets here: # https://rust-lang.github.io/rustup-components-history [toolchain] -channel = "nightly-2023-04-18" +channel = "nightly-2023-05-18" components = [ "rust-src", "rustfmt", "llvm-tools-preview" ] targets = [ "thumbv7em-none-eabi",