Skip to content
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

Invalid Recursive Enum (2+ occurances) causes compiler out-of-memory on beta/nightly #32326

Closed
alex-ozdemir opened this issue Mar 18, 2016 · 2 comments
Assignees
Labels
P-high High priority regression-from-stable-to-beta Performance or correctness regression from stable to beta. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue.

Comments

@alex-ozdemir
Copy link
Contributor

For example, compiling

enum Expr {
    Plus(Expr, Expr),
    Literal(i64),
}

with rustc causes the error message fatal runtime error: out of memory

Single occurrences seem to work fine.

@eddyb eddyb added regression-from-stable-to-beta Performance or correctness regression from stable to beta. I-nominated T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. labels Mar 18, 2016
@nikomatsakis
Copy link
Contributor

Yeah, I can imagine why this is happening. We are exploring out the nested obligations in a breadth-first-fashion, and hence this blows up memory usage dramatically.

@nikomatsakis
Copy link
Contributor

triage: P-high

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
P-high High priority regression-from-stable-to-beta Performance or correctness regression from stable to beta. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue.
Projects
None yet
Development

No branches or pull requests

4 participants