diff options
| author | Mara Bos <m-ou.se@m-ou.se> | 2021-02-03 18:51:14 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-02-03 18:51:14 +0100 |
| commit | 66959448e6bee79d433a777e448b8616822577e4 (patch) | |
| tree | 9c0a0b9aff521999ce705e55e9fadfc0b8d92e28 /compiler/rustc_mir/src/transform/coverage/debug.rs | |
| parent | 00dabfbd28c59b2770f162e4d0e9ed1c929c74e2 (diff) | |
| parent | ede0a71b9ebc9d8c87a06dbd95ca41ef7a4f93e4 (diff) | |
| download | rust-66959448e6bee79d433a777e448b8616822577e4.tar.gz rust-66959448e6bee79d433a777e448b8616822577e4.zip | |
Rollup merge of #81532 - estebank:ice-ice-baby, r=pnkfelix
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 #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) #80207.
Diffstat (limited to 'compiler/rustc_mir/src/transform/coverage/debug.rs')
0 files changed, 0 insertions, 0 deletions
