4 #![cfg_attr(full, feature(const_generics))]
5 #![cfg_attr(full, allow(incomplete_features))]
6 #![cfg_attr(min, feature(min_const_generics))]
8 async fn foo<const N: usize>(arg: [u8; N]) -> usize { arg.len() }
10 async fn bar<const N: usize>() -> [u8; N] {
14 trait Trait<const N: usize> {
15 fn fynn(&self) -> usize;
17 impl<const N: usize> Trait<N> for [u8; N] {
18 fn fynn(&self) -> usize {
22 async fn baz<const N: usize>() -> impl Trait<N> {
26 async fn biz<const N: usize>(v: impl Trait<N>) -> usize {
30 async fn user<const N: usize>() {
31 let _ = foo::<N>(bar().await).await;
32 let _ = biz(baz::<N>().await).await;