-
Notifications
You must be signed in to change notification settings - Fork 12.9k
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
Regression on beta: three dots in a trait leads to an infinite loop(?) #32446
Comments
They were probably meant as a shorthand for omitted code. Part of rust-lang#32446 but there should be a separate fix for the issue. Signed-off-by: NODA, Kai <nodakai@gmail.com>
Rustdoc not only falls into an infinite loop but also consumes infinitely growing amount of memory (only) when the bad trait with dots is surrounded by definitions:
This must have caused the Travis failure in #31689 |
I don't think this is about inclusive ranges. |
triage: I-nominated |
cc @nrc |
triage: P-high |
My guess is that we are trying to recover from an invalid token but forgetting to |
Remove ungrammatical dots from the error index. They were probably meant as a shorthand for omitted code. Part of rust-lang#32446 but there should be a separate fix for the issue.
Remove ungrammatical dots from the error index. They were probably meant as a shorthand for omitted code. Part of rust-lang#32446 but there should be a separate fix for the issue.
Prevent bumping the parser past the EOF. Makes `Parser::bump` after EOF into an ICE, forcing callers to avoid repeated EOF bumps. This ICE is intended to break infinite loops where EOF wasn't stopping the loop. For example, the handling of EOF in `parse_trait_items`' recovery loop fixes #32446. But even without this specific fix, the ICE is triggered, which helps diagnosis and UX. This is a `[breaking-change]` for plugins authors who eagerly eat multiple EOFs. See docopt/docopt.rs#171 for such an example and the necessary fix.
(Yes, just a single line.)
Possibly related to #32245 ?
Like #32445 , it was found during
make check-docs
. One doctest contained three dots probably just to mean some codes had been omitted.The text was updated successfully, but these errors were encountered: