//@ known-bug: #140577 //@ compile-flags: -Znext-solver=globally //@ edition:2021 use std::future::Future; use std::pin::Pin; trait Acquire { type Connection; } impl Acquire for &'static () { type Connection = (); } fn b() -> impl Future + Send { let x: Pin + Send>> = todo!(); x } fn main() { async { b::<&()>().await; } .aa(); } impl Filter for F where F: Send {} trait Filter { fn aa(self) where Self: Sized, { } }