error[E0308]: mismatched types --> $DIR/arg-position-impl-trait-too-long.rs:18:9 | LL | y: impl FnOnce( | ________- LL | | &mut Header, LL | | &mut [EntryMetadata], LL | | &mut [Entry] LL | | ) -> R, | |__________- expected this type parameter LL | ) { LL | let () = y; | ^^ - this expression has type `impl FnOnce(&mut Header, &mut [EntryMetadata], &mut [Entry]) -> R` | | | expected type parameter `impl FnOnce(&mut Header, &mut [EntryMetadata], &mut [Entry]) -> R`, found `()` | = note: expected type parameter `impl FnOnce(&mut Header, &mut [EntryMetadata], &mut [Entry]) -> R` found unit type `()` error: aborting due to previous error For more information about this error, try `rustc --explain E0308`.