//@ compile-flags: -Znext-solver
//@ revisions: works fails
//@[works] check-pass

trait Trait<const N: usize> {}

impl Trait<{ 1 - 1 }> for () {}
impl Trait<{ 1 + 1 }> for () {}

fn needs<const N: usize>() where (): Trait<N> {}

#[cfg(works)]
fn main() {
    needs::<0>();
    needs::<2>();
}

#[cfg(fails)]
fn main() {
    needs::<1>();
    //[fails]~^ ERROR the trait bound `(): Trait<1>` is not satisfied
}
