rust/tests/ui/traits/next-solver/overflow/recursion-limit-normalizes-to-constraints.rs
David Wood 1fd13fddba
tests: add #![rustc_no_implicit_bounds]
After reviewing all tests with `?Sized` and discussing with lcnr, these
tests seem like they could probably benefit from
`#![rustc_no_implicit_bounds]`.
2025-06-27 05:34:08 +00:00

28 lines
599 B
Rust

//@ compile-flags: -Znext-solver=coherence
//@ check-pass
#![feature(rustc_attrs)]
#![rustc_no_implicit_bounds]
// A regression test for trait-system-refactor-initiative#70.
trait Trait {
type Assoc;
}
struct W<T>(*mut T);
impl<T> Trait for W<W<T>>
where
W<T>: Trait,
{
type Assoc = ();
}
trait NoOverlap {}
impl<T: Trait<Assoc = u32>> NoOverlap for T {}
// `Projection(<W<_> as Trait>::Assoc, u32)` should result in error even
// though applying the impl results in overflow. This is necessary to match
// the behavior of the old solver.
impl<T> NoOverlap for W<T> {}
fn main() {}