-
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
rustdoc: do not panic all the way when lexing a source snippet fails #33510
Conversation
Currently, the libsyntax lexer panics on invalid source, which makes rustdoc panic when trying to highlight it. I assume there are efforts underway to make the lexer panic-free, but until this is done this should be an acceptable workaround. Note that the panic is still printed like normal as "thread X panicked, run with RUST_BACKTRACE=1 ...", so I added the printout below to make it seem less like a fatal error. I didn't touch `render_inner_with_highlighting` below, as it is currently unused. It returns a Result whose Err type would have to be changed if it was to support lexer errors. Fixes: rust-lang#30032
(rust_highfive has picked a reviewer for you, use r? to override) |
Sorry, I should not be the reviewer on this one, as it's out of my area of specialty. Maybe someone from @rust-lang/tools ? |
This is unfortunately basically what |
See OP:
|
Right, I'm just wondering if it's reasonable to accelerate those ephemeral efforts by implementing it as part of this PR. |
I would work on this, but I don't know if someone else is already doing it/planning to do it - I know there were already a few iterations of removing panics. |
Ah I don't recall too much activity working on the parser recently, so you should be good to go! |
Personally I don't mind doing this. I'd even say this is exactly what |
☔ The latest upstream changes (presumably #34187) made this pull request unmergeable. Please resolve the merge conflicts. |
Thanks for the ping @steveklabnik, I'm gonna close this out of inactivity for now, but feel free to resubmit with a rebase! |
Currently, the libsyntax lexer panics on invalid source, which makes rustdoc panic when trying to highlight it.
I assume there are efforts underway to make the lexer panic-free, but until this is done this should be an acceptable workaround.
Note that the panic is still printed like normal as "thread X panicked, run with RUST_BACKTRACE=1 ...", so I added the printout below to make it seem less like a fatal error.
I didn't touch
render_inner_with_highlighting
below, as it is currently unused. It returns a Result whose Err type would have to be changed if it was to support lexer errors.Fixes: #30032