#![feature(generic_const_exprs)] | |
#![allow(incomplete_features)] | |
// `N + 1` also depends on `T` here even if it doesn't use it. | |
fn q<T, const N: usize>(_: T) -> [u8; N + 1] { | |
todo!() | |
} | |
fn supplier<T>() -> T { | |
todo!() | |
} | |
fn catch_me<const N: usize>() where [u8; N + 1]: Default { | |
let mut x = supplier(); | |
x = q::<_, N>(x); //~ ERROR mismatched types | |
} | |
fn main() { | |
catch_me::<3>(); | |
} |