Remove incorrect delay_span_bug#81532
Merged
bors merged 1 commit intorust-lang:masterfrom Feb 3, 2021
Merged
Conversation
Contributor
|
(rust-highfive has picked a reviewer for you, use r? to override) |
Member
|
Can the repro be added as a test case? |
Member
|
r? @nagisa (or feel free to reassign, but this looks potentially urgent and I don't have the right knowledge to approve quickly I think) |
Member
|
Yeah this seems reasonable enough to me, but this does need a regression test. |
Member
|
Also cc @varkor who r=d the original PR. |
The following code is supposed to compile
```rust
use std::ops::BitOr;
pub trait IntWrapper {
type InternalStorage;
}
impl<T> BitOr for dyn IntWrapper<InternalStorage = T>
where
Self: Sized,
T: BitOr + BitOr<Output = T>,
{
type Output = Self;
fn bitor(self, _other: Self) -> Self {
todo!()
}
}
```
Before this change it would ICE. In rust-lang#70998 the removed logic was added
to provide better suggestions, and the `delay_span_bug` guard was added
to protect against a potential logic error when returning traits. As it
happens, there are cases, like the one above, where traits can indeed be
returned, so valid code was being rejected.
Fix rust-lang#80207.
dfc7bdc to
ede0a71
Compare
Contributor
Author
|
r? @pnkfelix (just for expedience) |
Contributor
|
@bors r+ p=10 |
Collaborator
|
📌 Commit ede0a71 has been approved by |
bors
added a commit
to rust-lang-ci/rust
that referenced
this pull request
Feb 3, 2021
Rollup of 5 pull requests Successful merges: - rust-lang#80394 (make const_err a future incompat lint) - rust-lang#81532 (Remove incorrect `delay_span_bug`) - rust-lang#81692 (Update clippy) - rust-lang#81715 (Reduce tab formatting assertions to debug only) - rust-lang#81716 (Fix non-existent-field ICE for generic fields.) Failed merges: r? `@ghost` `@rustbot` modify labels: rollup
Collaborator
Contributor
|
Beta backport approved, stable backport declined as per team compiler meeting, also mentioned here. |
ehuss
pushed a commit
to ehuss/rust
that referenced
this pull request
Feb 5, 2021
Remove incorrect `delay_span_bug`
The following code is supposed to compile
```rust
use std::ops::BitOr;
pub trait IntWrapper {
type InternalStorage;
}
impl<T> BitOr for dyn IntWrapper<InternalStorage = T>
where
Self: Sized,
T: BitOr + BitOr<Output = T>,
{
type Output = Self;
fn bitor(self, _other: Self) -> Self {
todo!()
}
}
```
Before this change it would ICE. In rust-lang#70998 the removed logic was added
to provide better suggestions, and the `delay_span_bug` guard was added
to protect against a potential logic error when returning traits. As it
happens, there are cases, like the one above, where traits can indeed be
returned, so valid code was being rejected.
Fix (but not close) rust-lang#80207.
Merged
bors
added a commit
to rust-lang-ci/rust
that referenced
this pull request
Feb 6, 2021
[beta] backports This backports: * CI: only copy python.exe to python3.exe if the latter does not exist rust-lang#81762 * Make hitting the recursion limit in projection non-fatal rust-lang#81055 * Remove incorrect `delay_span_bug` rust-lang#81532 * introduce future-compatibility warning for forbidden lint groups rust-lang#81556 * Update cargo rust-lang#81755 * rustdoc: Fix visibility of trait and impl items rust-lang#81288 * Work around missing -dev packages in solaris docker image. rust-lang#81229 * Update LayoutError/LayoutErr stability attributes rust-lang#81767 * Revert 78373 ("dont leak return value after panic in drop") rust-lang#81257 * Rename `panic_fmt` lint to `non_fmt_panic` rust-lang#81729
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The following code is supposed to compile
Before this change it would ICE. In #70998 the removed logic was added
to provide better suggestions, and the
delay_span_bugguard was addedto protect against a potential logic error when returning traits. As it
happens, there are cases, like the one above, where traits can indeed be
returned, so valid code was being rejected.
Fix (but not close) #80207.