2025-05-13 06:44:21 +00:00
|
|
|
//@ compile-flags: --crate-type=lib
|
|
|
|
|
//@ revisions: current next
|
|
|
|
|
//@ ignore-compare-mode-next-solver (explicit revisions)
|
2025-07-17 09:10:37 +00:00
|
|
|
//@[current] check-fail
|
2025-05-13 06:44:21 +00:00
|
|
|
//@[next] check-pass
|
|
|
|
|
//@[next] compile-flags: -Znext-solver
|
|
|
|
|
|
|
|
|
|
use std::marker::PhantomData;
|
|
|
|
|
|
|
|
|
|
trait ParseTokens {
|
|
|
|
|
type Output;
|
|
|
|
|
}
|
|
|
|
|
impl<T: ParseTokens + ?Sized> ParseTokens for Box<T> {
|
|
|
|
|
type Output = ();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
struct Element(<Box<Box<Element>> as ParseTokens>::Output);
|
2025-07-17 09:10:37 +00:00
|
|
|
//[current]~^ ERROR: overflow
|
2025-05-13 06:44:21 +00:00
|
|
|
impl ParseTokens for Element {
|
2025-07-17 09:10:37 +00:00
|
|
|
//[current]~^ ERROR: overflow
|
2025-05-13 06:44:21 +00:00
|
|
|
type Output = ();
|
|
|
|
|
}
|