Files
rust/tests/ui/codegen/normalization-overflow/recursion-issue-139659.rs

31 lines
557 B
Rust
Raw Normal View History

//@ build-fail
2025-04-15 22:46:29 +02:00
//@compile-flags: -Cdebuginfo=2 -Copt-level=0 --crate-type lib
//~^^ ERROR: reached the recursion limit while instantiating
2025-04-15 22:46:29 +02:00
trait Trait {
type Output;
}
impl<O, F: Fn() -> O> Trait for F {
type Output = O;
}
struct Wrap<P>(P);
struct WrapOutput<O>(O);
impl<P: Trait> Trait for Wrap<P> {
type Output = WrapOutput<P::Output>;
}
fn wrap<P: Trait>(x: P) -> impl Trait {
Wrap(x)
}
fn consume<P: Trait>(_: P) -> P::Output {
unimplemented!()
}
pub fn recurse() -> impl Sized {
consume(wrap(recurse))
}
pub fn main() {}