Add #[must_use] to all futures
				
					
				
			This commit is contained in:
		| @@ -24,6 +24,7 @@ pub fn yield_now() -> impl Future<Output = ()> { | ||||
|     YieldNowFuture { yielded: false } | ||||
| } | ||||
|  | ||||
| #[must_use = "futures do nothing unless you `.await` or poll them"] | ||||
| struct YieldNowFuture { | ||||
|     yielded: bool, | ||||
| } | ||||
|   | ||||
| @@ -315,6 +315,7 @@ impl<'d, C: Channel, T: GpioPin> OutputChannel<'d, C, T> { | ||||
|  | ||||
| // ======================= | ||||
|  | ||||
| #[must_use = "futures do nothing unless you `.await` or poll them"] | ||||
| pub(crate) struct PortInputFuture<'a> { | ||||
|     pin: PeripheralRef<'a, AnyPin>, | ||||
| } | ||||
|   | ||||
| @@ -151,6 +151,7 @@ fn copy_inner<'a, C: Channel>( | ||||
|     Transfer::new(ch) | ||||
| } | ||||
|  | ||||
| #[must_use = "futures do nothing unless you `.await` or poll them"] | ||||
| pub struct Transfer<'a, C: Channel> { | ||||
|     channel: PeripheralRef<'a, C>, | ||||
| } | ||||
|   | ||||
| @@ -193,6 +193,7 @@ unsafe fn IO_IRQ_BANK0() { | ||||
|     } | ||||
| } | ||||
|  | ||||
| #[must_use = "futures do nothing unless you `.await` or poll them"] | ||||
| struct InputFuture<'a, T: Pin> { | ||||
|     pin: PeripheralRef<'a, T>, | ||||
|     level: InterruptTrigger, | ||||
|   | ||||
| @@ -120,6 +120,7 @@ unsafe fn PIO1_IRQ_0() { | ||||
| } | ||||
|  | ||||
| /// Future that waits for TX-FIFO to become writable | ||||
| #[must_use = "futures do nothing unless you `.await` or poll them"] | ||||
| pub struct FifoOutFuture<'a, PIO: PioInstance, SM: PioStateMachine + Unpin> { | ||||
|     sm: &'a mut SM, | ||||
|     pio: PhantomData<PIO>, | ||||
| @@ -182,6 +183,7 @@ impl<'d, PIO: PioInstance, SM: PioStateMachine + Unpin> Drop for FifoOutFuture<' | ||||
| } | ||||
|  | ||||
| /// Future that waits for RX-FIFO to become readable | ||||
| #[must_use = "futures do nothing unless you `.await` or poll them"] | ||||
| pub struct FifoInFuture<'a, PIO: PioInstance, SM: PioStateMachine> { | ||||
|     sm: &'a mut SM, | ||||
|     pio: PhantomData<PIO>, | ||||
| @@ -241,6 +243,7 @@ impl<'d, PIO: PioInstance, SM: PioStateMachine> Drop for FifoInFuture<'d, PIO, S | ||||
| } | ||||
|  | ||||
| /// Future that waits for IRQ | ||||
| #[must_use = "futures do nothing unless you `.await` or poll them"] | ||||
| pub struct IrqFuture<PIO: PioInstance> { | ||||
|     pio: PhantomData<PIO>, | ||||
|     irq_no: u8, | ||||
|   | ||||
| @@ -273,6 +273,7 @@ mod transfers { | ||||
|         Transfer::new(channel) | ||||
|     } | ||||
|  | ||||
|     #[must_use = "futures do nothing unless you `.await` or poll them"] | ||||
|     pub(crate) struct Transfer<'a, C: Channel> { | ||||
|         channel: PeripheralRef<'a, C>, | ||||
|     } | ||||
|   | ||||
| @@ -198,6 +198,7 @@ mod eha { | ||||
|     } | ||||
| } | ||||
|  | ||||
| #[must_use = "futures do nothing unless you `.await` or poll them"] | ||||
| struct ExtiInputFuture<'a> { | ||||
|     pin: u8, | ||||
|     phantom: PhantomData<&'a mut AnyPin>, | ||||
|   | ||||
| @@ -181,6 +181,7 @@ where | ||||
| } | ||||
|  | ||||
| /// Future returned by [`Channel::recv`] and  [`Receiver::recv`]. | ||||
| #[must_use = "futures do nothing unless you `.await` or poll them"] | ||||
| pub struct RecvFuture<'ch, M, T, const N: usize> | ||||
| where | ||||
|     M: RawMutex, | ||||
| @@ -203,6 +204,7 @@ where | ||||
| } | ||||
|  | ||||
| /// Future returned by [`DynamicReceiver::recv`]. | ||||
| #[must_use = "futures do nothing unless you `.await` or poll them"] | ||||
| pub struct DynamicRecvFuture<'ch, T> { | ||||
|     channel: &'ch dyn DynamicChannel<T>, | ||||
| } | ||||
| @@ -219,6 +221,7 @@ impl<'ch, T> Future for DynamicRecvFuture<'ch, T> { | ||||
| } | ||||
|  | ||||
| /// Future returned by [`Channel::send`] and  [`Sender::send`]. | ||||
| #[must_use = "futures do nothing unless you `.await` or poll them"] | ||||
| pub struct SendFuture<'ch, M, T, const N: usize> | ||||
| where | ||||
|     M: RawMutex, | ||||
| @@ -250,6 +253,7 @@ where | ||||
| impl<'ch, M, T, const N: usize> Unpin for SendFuture<'ch, M, T, N> where M: RawMutex {} | ||||
|  | ||||
| /// Future returned by [`DynamicSender::send`]. | ||||
| #[must_use = "futures do nothing unless you `.await` or poll them"] | ||||
| pub struct DynamicSendFuture<'ch, T> { | ||||
|     channel: &'ch dyn DynamicChannel<T>, | ||||
|     message: Option<T>, | ||||
|   | ||||
| @@ -48,6 +48,7 @@ where | ||||
| } | ||||
|  | ||||
| /// Future returned by [`Pipe::write`] and  [`Writer::write`]. | ||||
| #[must_use = "futures do nothing unless you `.await` or poll them"] | ||||
| pub struct WriteFuture<'p, M, const N: usize> | ||||
| where | ||||
|     M: RawMutex, | ||||
| @@ -110,6 +111,7 @@ where | ||||
| } | ||||
|  | ||||
| /// Future returned by [`Pipe::read`] and  [`Reader::read`]. | ||||
| #[must_use = "futures do nothing unless you `.await` or poll them"] | ||||
| pub struct ReadFuture<'p, M, const N: usize> | ||||
| where | ||||
|     M: RawMutex, | ||||
|   | ||||
| @@ -26,6 +26,7 @@ pub async fn with_timeout<F: Future>(timeout: Duration, fut: F) -> Result<F::Out | ||||
| } | ||||
|  | ||||
| /// A future that completes at a specified [Instant](struct.Instant.html). | ||||
| #[must_use = "futures do nothing unless you `.await` or poll them"] | ||||
| pub struct Timer { | ||||
|     expires_at: Instant, | ||||
|     yielded_once: bool, | ||||
|   | ||||
		Reference in New Issue
	
	Block a user