2022-06-28 15:56:32 -05:00
|
|
|
// `S` is infinitely recursing so it's not possible to generate a finite
|
|
|
|
// drop impl (ignoring polymorphization).
|
|
|
|
//
|
|
|
|
// Dropck should therefore detect that this is the case and eagerly error.
|
2019-12-30 07:30:34 -06:00
|
|
|
|
|
|
|
struct S<T> {
|
|
|
|
t: T,
|
|
|
|
s: Box<S<fn(u: T)>>,
|
|
|
|
}
|
|
|
|
|
2022-06-28 15:56:32 -05:00
|
|
|
fn f(x: S<u32>) {} //~ ERROR overflow while adding drop-check rules for S<u32>
|
2019-12-30 07:30:34 -06:00
|
|
|
|
|
|
|
fn main() {
|
|
|
|
// Force instantiation.
|
|
|
|
f as fn(_);
|
|
|
|
}
|