-
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
Panic while documenting nalgebra #54744
Comments
cc: @sebcrozet FYI |
zackmdavis
added
the
I-ICE
Issue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️
label
Oct 2, 2018
This was referenced Oct 12, 2018
memoryruins
added
the
T-rustdoc
Relevant to the rustdoc team, which will review and decide on the PR/issue.
label
Oct 15, 2018
it seemed to document fine for me on the most recent nightly build |
Aaron1011
added a commit
to Aaron1011/rust
that referenced
this issue
Oct 22, 2018
Fixes rust-lang#55001, rust-lang#54744 Previously, SelectionContext would unconditionally cache the selection result for an obligation. This worked fine for most users of SelectionContext, but it caused an issue when used by Rustdoc's blanket impl finder. The issue occured when SelectionContext chose a ParamCandidate which contained inference variables. Since inference variables can change between calls to select(), it's not safe to cache the selection result - the chosen candidate might not be applicable for future results, leading to an ICE when we try to run confirmation. This commit prevents SelectionContext from caching any ParamCandidate that contains inference variables. This should always be completely safe, as trait selection should never depend on a particular result being cached. I've also added some extra debug!() statements, which I found helpful in tracking down this bug.
pietroalbini
added a commit
to pietroalbini/rust
that referenced
this issue
Oct 23, 2018
…illaumeGomez Fix Rustdoc ICE when checking blanket impls Fixes rust-lang#55001, rust-lang#54744 Previously, SelectionContext would unconditionally cache the selection result for an obligation. This worked fine for most users of SelectionContext, but it caused an issue when used by Rustdoc's blanket impl finder. The issue occured when SelectionContext chose a ParamCandidate which contained inference variables. Since inference variables can change between calls to select(), it's not safe to cache the selection result - the chosen candidate might not be applicable for future results, leading to an ICE when we try to run confirmation. This commit prevents SelectionContext from caching any ParamCandidate that contains inference variables. This should always be completely safe, as trait selection should never depend on a particular result being cached. I've also added some extra debug!() statements, which I found helpful in tracking down this bug.
kennytm
added a commit
to kennytm/rust
that referenced
this issue
Oct 24, 2018
…illaumeGomez Fix Rustdoc ICE when checking blanket impls Fixes rust-lang#55001, rust-lang#54744 Previously, SelectionContext would unconditionally cache the selection result for an obligation. This worked fine for most users of SelectionContext, but it caused an issue when used by Rustdoc's blanket impl finder. The issue occured when SelectionContext chose a ParamCandidate which contained inference variables. Since inference variables can change between calls to select(), it's not safe to cache the selection result - the chosen candidate might not be applicable for future results, leading to an ICE when we try to run confirmation. This commit prevents SelectionContext from caching any ParamCandidate that contains inference variables. This should always be completely safe, as trait selection should never depend on a particular result being cached. I've also added some extra debug!() statements, which I found helpful in tracking down this bug.
kennytm
added a commit
to kennytm/rust
that referenced
this issue
Oct 26, 2018
…illaumeGomez Fix Rustdoc ICE when checking blanket impls Fixes rust-lang#55001, rust-lang#54744 Previously, SelectionContext would unconditionally cache the selection result for an obligation. This worked fine for most users of SelectionContext, but it caused an issue when used by Rustdoc's blanket impl finder. The issue occured when SelectionContext chose a ParamCandidate which contained inference variables. Since inference variables can change between calls to select(), it's not safe to cache the selection result - the chosen candidate might not be applicable for future results, leading to an ICE when we try to run confirmation. This commit prevents SelectionContext from caching any ParamCandidate that contains inference variables. This should always be completely safe, as trait selection should never depend on a particular result being cached. I've also added some extra debug!() statements, which I found helpful in tracking down this bug.
kennytm
added a commit
to kennytm/rust
that referenced
this issue
Oct 26, 2018
…illaumeGomez Fix Rustdoc ICE when checking blanket impls Fixes rust-lang#55001, rust-lang#54744 Previously, SelectionContext would unconditionally cache the selection result for an obligation. This worked fine for most users of SelectionContext, but it caused an issue when used by Rustdoc's blanket impl finder. The issue occured when SelectionContext chose a ParamCandidate which contained inference variables. Since inference variables can change between calls to select(), it's not safe to cache the selection result - the chosen candidate might not be applicable for future results, leading to an ICE when we try to run confirmation. This commit prevents SelectionContext from caching any ParamCandidate that contains inference variables. This should always be completely safe, as trait selection should never depend on a particular result being cached. I've also added some extra debug!() statements, which I found helpful in tracking down this bug.
This is fixed as of |
Closing then! Thanks! :D |
Will this need backporting at all? |
nikomatsakis
pushed a commit
to nikomatsakis/rust
that referenced
this issue
Nov 20, 2018
Fixes rust-lang#55001, rust-lang#54744 Previously, SelectionContext would unconditionally cache the selection result for an obligation. This worked fine for most users of SelectionContext, but it caused an issue when used by Rustdoc's blanket impl finder. The issue occured when SelectionContext chose a ParamCandidate which contained inference variables. Since inference variables can change between calls to select(), it's not safe to cache the selection result - the chosen candidate might not be applicable for future results, leading to an ICE when we try to run confirmation. This commit prevents SelectionContext from caching any ParamCandidate that contains inference variables. This should always be completely safe, as trait selection should never depend on a particular result being cached. I've also added some extra debug!() statements, which I found helpful in tracking down this bug.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
When using the nightly with the bugfix for the problems with
typenum
, this error happens when trying to document thenalgebra
crate:note: rustc 1.31.0-nightly (de3d640 2018-10-01) running on x86_64-apple-darwin
The text was updated successfully, but these errors were encountered: