-
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 ICEs when a dependency has duplicate generic bounds to functions returning tuples #57180
Comments
This will work around rust-lang/rust#57180 (which prevents docs from building if they depend on datafrog). Thankfully they were not needed.
I'll try to take this on later tonight. |
I tracked this bug down to this commit: 6aa7493 It's not clear to me exactly why this commit would cause that issue. Any idea @QuietMisdreavus ? |
Stems from this PR #53162 |
I reran cargo-bisect-rustc with |
…meGomez Fix ICE in rustdoc when merging generic and where bounds of an Fn with an output Fixes rust-lang#57180
Fix ICE in rustdoc when merging generic and where bounds of an Fn with an output Fixes #57180
Minimized from a failing rustc PR updating polonius, itself coming with a newer revision of datafrog.
There's a minimized reproduction here.
If you add this crate as a git dependency, and use it, like so:
Rustdoc will crash while trying to build the doc for this dependent crate (note that it does not fail building docs in the
docfail
repo itself)Crash details:
The essence of the problem is the duplicate bounds on an impl inside the dependency:
Removing either of the duplicate
Fn(...)
bound will work around the crash. The bound requires that the closure return a tuple, and the rustdoc trace seems to be code related to parentheses.I can reproduce the crash on stable 1.31.0
(abe02cefd 2018-12-04)
, 1.31.1(b6c32da9b 2018-12-18)
, an older nightly from the beginning of December(14997d56a 2018-12-05)
, but haven't bisected older releases.I couldn't find other issues mentioning this, and the error only appeared in the aforementioned rust PR.
Thanks to @Mark-Simulacrum for the help in locating this quite uncommon issue.
The text was updated successfully, but these errors were encountered: