@@ -267,7 +267,7 @@ impl I2S {
267
267
pub fn rx < W , B > ( mut self , mut buffer : B ) -> Result < Transfer < B > , Error >
268
268
where
269
269
W : SupportedWordSize ,
270
- B : WriteBuffer < Word = W > ,
270
+ B : WriteBuffer < Word = W > + ' static ,
271
271
{
272
272
let ( ptr, len) = unsafe { buffer. write_buffer ( ) } ;
273
273
if ptr as u32 % 4 != 0 {
@@ -300,8 +300,8 @@ impl I2S {
300
300
) -> Result < TransferFullDuplex < TxB , RxB > , Error >
301
301
where
302
302
W : SupportedWordSize ,
303
- TxB : ReadBuffer < Word = W > ,
304
- RxB : WriteBuffer < Word = W > ,
303
+ TxB : ReadBuffer < Word = W > + ' static ,
304
+ RxB : WriteBuffer < Word = W > + ' static ,
305
305
{
306
306
let ( rx_ptr, rx_len) = unsafe { rx_buffer. write_buffer ( ) } ;
307
307
let ( tx_ptr, tx_len) = unsafe { tx_buffer. read_buffer ( ) } ;
@@ -345,7 +345,7 @@ impl I2S {
345
345
pub fn tx < W , B > ( mut self , buffer : B ) -> Result < Transfer < B > , Error >
346
346
where
347
347
W : SupportedWordSize ,
348
- B : ReadBuffer < Word = W > ,
348
+ B : ReadBuffer < Word = W > + ' static ,
349
349
{
350
350
let ( ptr, len) = unsafe { buffer. read_buffer ( ) } ;
351
351
if ptr as u32 % 4 != 0 {
@@ -602,6 +602,7 @@ pub enum I2SEvent {
602
602
603
603
/// A DMA transfer
604
604
pub struct Transfer < B > {
605
+ // FIXME: Always `Some`, only using `Option` here to allow moving fields out of `inner`.
605
606
inner : Option < Inner < B > > ,
606
607
}
607
608
@@ -635,6 +636,7 @@ impl<B> Drop for Transfer<B> {
635
636
}
636
637
/// A full duplex DMA transfer
637
638
pub struct TransferFullDuplex < TxB , RxB > {
639
+ // FIXME: Always `Some`, only using `Option` here to allow moving fields out of `inner`.
638
640
inner : Option < InnerFullDuplex < TxB , RxB > > ,
639
641
}
640
642
0 commit comments