//@ edition:2018 | |
pub trait Foo<const N: usize> {} | |
struct Local; | |
impl<const N: usize> Foo<N> for Local {} | |
pub fn out_foo<const N: usize>() -> impl Foo<N> { Local } | |
pub fn in_foo<const N: usize>(_: impl Foo<N>) {} | |
pub async fn async_simple<const N: usize>(_: [u8; N]) {} | |
pub async fn async_out_foo<const N: usize>() -> impl Foo<N> { Local } | |
pub async fn async_in_foo<const N: usize>(_: impl Foo<N>) {} | |
pub trait Bar<const N: usize> { | |
type Assoc: Foo<N>; | |
} |