// revisions: cfail #![feature(generic_const_exprs)] #![allow(incomplete_features, unused_braces)] struct Buffer where [(); { S * 2 }]: Default, { data: [T; { S * 2 }], } struct BufferIter<'a, T, const S: usize>(&'a Buffer) where [(); { S * 2 }]: Default; impl<'a, T, const S: usize> Iterator for BufferIter<'a, T, S> { //~^ error: the trait bound //~^^ error: unconstrained generic constant type Item = &'a T; fn next(&mut self) -> Option { //~^ error: the trait bound //~^^ error: unconstrained generic constant None } } fn main() {}