//@ revisions: cfail #![feature(generic_const_exprs, adt_const_params)] #![allow(incomplete_features)] use std::marker::ConstParamTy; #[derive(PartialEq, Eq, ConstParamTy)] struct NonZeroUsize(usize); impl NonZeroUsize { const fn get(self) -> usize { self.0 } } // regression test for #77650 struct C([T; N.get()]) where [T; N.get()]: Sized; impl<'a, const N: NonZeroUsize, A, B: PartialEq> PartialEq<&'a [A]> for C where [B; N.get()]: Sized, { fn eq(&self, other: &&'a [A]) -> bool { self.0 == other //~^ error: can't compare } } fn main() {}