// revisions: rpass cfail

trait Tr
where
    (Self::Arr,): Sized,
{
    type Arr;

    const C: usize = 0;
}

impl Tr for str {
    #[cfg(rpass)]
    type Arr = [u8; 8];
    #[cfg(cfail)]
    type Arr = [u8; Self::C];
    //[cfail]~^ ERROR cycle detected when evaluating type-level constant
}

fn main() {}
