-
Notifications
You must be signed in to change notification settings - Fork 13k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
ICE when nesting managed pointers to a depth of 500 #5009
Comments
This specific depth may be fixed by #3695 |
I think the "bug" here is basically OOM, no? I mean our stacks currently have no defined upper limit on their size? (@brson?) |
Tried this with haskell, with a type But, I think it'd be ok to impose an arbitrary limit on type structure depth. The hard question there would be how can we know what the depth is... |
SML/NJ is actually quite fast, and can handle 8000+ nesting depth with O(1) memory consumption, although it seems to take superlinear time. Using ghc instead of ghci appears to work for 1000+, although I have to set the |
This no longer ICEs, at least for me. Closing. |
This would probably be a good candidate for a test |
Actually, when compiling this with Removing the needstest tag. |
@alexcrichton just said this now works. Flagging as |
(Also, the test now passes in part because the threshold for stack exhaustion has increased; using 2500 instead of 500 causes rustc to blow its stack.) |
Note that going deeper to something like 2500 |
Flagged as needtest I confirm what's been said in the previous comments |
A test for this specific issue is unnecessary because managed pointers are being removed, so it would be counter-productive to start adding new tests for the feature. A new example of this issue with a non-deprecated type would be worthy of a new issue. |
Travis: Use windows-msvc target for Windows build changelog: none closes rust-lang#5005
Hitting a recursion limit, perhaps?
Yeah, this is silly.
The text was updated successfully, but these errors were encountered: