rust/tests/ui/const-generics/issues/issue-105821.rs

27 lines
733 B
Rust

//@ check-pass
// If this test starts failing because it ICEs due to not being able to convert a `ReErased` to
// something then feel free to just convert this to a known-bug. I'm pretty sure this is still
// a failing test, we just started masking the bug.
#![allow(incomplete_features)]
#![feature(adt_const_params, unsized_const_params, generic_const_exprs)]
#![allow(dead_code)]
const fn catone<const M: usize>(_a: &[u8; M]) -> [u8; M + 1]
where
[(); M + 1]:,
{
unimplemented!()
}
struct Catter<const A: &'static [u8]>;
impl<const A: &'static [u8]> Catter<A>
where
[(); A.len() + 1]:,
{
const ZEROS: &'static [u8; A.len()] = &[0_u8; A.len()];
const R: &'static [u8] = &catone(Self::ZEROS);
}
fn main() {}