Add regression test for #106630

This commit is contained in:
Dominic 2023-12-28 14:53:23 +01:00
parent 625c2c401f
commit a88c9a644c
No known key found for this signature in database
GPG Key ID: DCC8C247452E98F9

View File

@ -0,0 +1,33 @@
// edition:2018
// run-pass
use std::future::Future;
trait AsyncCallback<'a> {
type Out;
}
impl<'a, Fut, T, F> AsyncCallback<'a> for F
where
F: FnOnce(&'a mut ()) -> Fut,
Fut: Future<Output = T> + Send + 'a,
{
type Out = T;
}
trait CallbackMarker {}
impl<F, T> CallbackMarker for F
where
T: 'static,
for<'a> F: AsyncCallback<'a, Out = T> + Send,
{
}
fn do_sth<F: CallbackMarker>(_: F) {}
async fn callback(_: &mut ()) -> impl Send {}
fn main() {
do_sth(callback);
}