| //@ 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 | |
| } |