Jacob Pratt 537d5f40a6
Rollup merge of #145297 - adwinwhite:recursive-debuginfo, r=wesleywiser
fix(debuginfo): handle false positives in overflow check

Fixes rust-lang/rust#144636.

Duplicate wrappers and normal recursive types can lead to false positives.
```rust
struct Recursive {
	a: Box<Box<Recursive>>,
}
```
The ADT stack can be:
- `Box<Recursive>`
- `Recursive`
- `Box<Box<Recursive>>` (`Box` now detected as expanding)

We can filter them out by tracing the generic arg back through the stack, as true expanding recursive types must have their expanding arg used as generic arg throughout.

r? ````@wesleywiser````
2025-08-21 01:12:16 -04:00
..
2025-08-20 19:08:16 +02:00
2025-08-20 19:08:16 +02:00
2025-07-31 14:19:27 +02:00
2025-07-18 16:30:42 -07:00
2025-07-18 16:23:54 -07:00
2025-08-20 00:35:42 +02:00
2025-08-15 19:35:35 +10:00