summary refs log tree commit diff
path: root/src/test/ui/recursion/issue-38591-non-regular-dropck-recursion.rs
blob: c857eb459b8de0af33d9b3c94a26efdf56fa12bf (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
// Dropck shouldn't hit a recursion limit from checking `S<u32>` since it has
// no free regions or type parameters.
// Codegen however, has to error for the infinitely many `drop_in_place`
// functions it has been asked to create.

// build-fail
// normalize-stderr-test: ".nll/" -> "/"
// compile-flags: -Zmir-opt-level=0

struct S<T> {
    t: T,
    s: Box<S<fn(u: T)>>,
}

fn f(x: S<u32>) {}

fn main() {
    // Force instantiation.
    f as fn(_);
}