-
Notifications
You must be signed in to change notification settings - Fork 12.8k
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
ICE when running cargo doc
on typenum
at librustc/traits/structural_impls.rs:178
#52873
Comments
I assume this is the same as #52611. |
Running into this as well when running http://github.com/victorkoenders/orm
|
Hit this on the newest nightly (33b923f 2018-08-18) |
Same issue, slightly different line number
Filtered log:
|
@GuillaumeGomez any idea what's going on here? let us know if you need T-compiler help :) |
@nikomatsakis I didn't check yet, still on my todo list. I'll give it a look this week-end. |
It would be great to have a minimized example here =) |
True, I'll try to make one. |
…Simulacrum [beta] rustdoc: disable blanket impl collection Beta patch for #52873 so we don't propagate the ICE into stable. (This time on the correct branch!) r? @rust-lang/rustdoc @Mark-Simulacrum
I think this is the same as #54002 as well |
visited for triage. PR #54199 just needs to be landed. |
overlook overflows in rustdoc trait solving Context: The new rustdoc "auto trait" feature walks across impls and tries to run trait solving on them with a lot of unconstrained variables. This is prone to overflows. These overflows used to cause an ICE because of a caching bug (fixed in this PR). But even once that is fixed, it means that rustdoc causes an overflow rather than generating docs. This PR therefore adds a new helper that propagates the overflow error out. This requires rustdoc to then decide what to do when it encounters such an overflow: technically, an overflow represents neither "yes" nor "no", but rather a failure to make a decision. I've decided to opt on the side of treating this as "yes, implemented", since rustdoc already takes an optimistic view. This may prove to include too many items, but I *suspect* not. We could probably reduce the rate of overflows by unifying more of the parameters from the impl -- right now we only seem to consider the self type. Moreover, in the future, as we transition to Chalk, overflow errors are expected to just "go away" (in some cases, though, queries might return an ambiguous result). Fixes #52873 cc @QuietMisdreavus -- this is the stuff we were talking about earlier cc @GuillaumeGomez -- this supersedes #53687
Reopening; since we never backported #54199, rustdoc ICE's on typenum again. |
…re, r=eddyb overlook overflows in rustdoc trait solving Context: The new rustdoc "auto trait" feature walks across impls and tries to run trait solving on them with a lot of unconstrained variables. This is prone to overflows. These overflows used to cause an ICE because of a caching bug (fixed in this PR). But even once that is fixed, it means that rustdoc causes an overflow rather than generating docs. This PR therefore adds a new helper that propagates the overflow error out. This requires rustdoc to then decide what to do when it encounters such an overflow: technically, an overflow represents neither "yes" nor "no", but rather a failure to make a decision. I've decided to opt on the side of treating this as "yes, implemented", since rustdoc already takes an optimistic view. This may prove to include too many items, but I *suspect* not. We could probably reduce the rate of overflows by unifying more of the parameters from the impl -- right now we only seem to consider the self type. Moreover, in the future, as we transition to Chalk, overflow errors are expected to just "go away" (in some cases, though, queries might return an ambiguous result). Fixes rust-lang#52873 cc @QuietMisdreavus -- this is the stuff we were talking about earlier cc @GuillaumeGomez -- this supersedes rust-lang#53687
So, only two questions I have now:
|
Closed since 1.30.1 was released already. |
Steps to reproduce:
The text was updated successfully, but these errors were encountered: