Join GitHub today
GitHub is home to over 31 million developers working together to host and review code, manage projects, and build software together.
Sign upType expansion does not terminate when faced with erroneous recursive associated types #22672
Comments
steveklabnik
added
the
A-typesystem
label
Feb 23, 2015
This comment has been minimized.
This comment has been minimized.
|
This is still an issue after removing the outdated |
This comment has been minimized.
This comment has been minimized.
Zaerei
commented
Sep 22, 2015
|
Yup, still an issue, I just spent a while debugging a cryptic "rustc overflowed its stack" bug, it would be useful if, when this can be detected, we could print a more specific error message on accidental circular type references. |
dlrobertson
referenced this issue
Mar 30, 2016
Closed
Recursive type results in infinite recursion #32619
brson
added
I-nominated
T-compiler
labels
Mar 9, 2017
This comment has been minimized.
This comment has been minimized.
|
Old type checking bug. P-tag? |
This comment has been minimized.
This comment has been minimized.
Not any more:
given
I agree, and this is fixed. |
steveklabnik
closed this
Mar 9, 2017
This comment has been minimized.
This comment has been minimized.
|
Thanks! |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
knz commentedFeb 22, 2015
rustc does not terminate (or will perhaps terminate with a stack overflow given sufficient time and insufficient memory) when provided the following code as input:
I expected an error message stating that the expansion recursion depth limit was exceeded (like when one makes such a mistake with C++ templates).
Instead, rustc does not terminate, and attaching gdb reveals an ever growing call stack (see backtrace below).
Meta
rustc --version --verbose:Backtrace: