about summary refs log tree commit diff
path: root/src/librustdoc/html/static/source-script.js
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2018-12-30 03:12:16 +0000
committerbors <bors@rust-lang.org>2018-12-30 03:12:16 +0000
commit171c1fc25ed22e34fa4f666a15909b762ac1307b (patch)
treecf23bc98a34c990895fa9da8f67c807bf22597f6 /src/librustdoc/html/static/source-script.js
parenta35cf79fcb961d43828aa9f010e7109b60633f52 (diff)
parentddb550a0e35921d2f4ecf023a7883b247f2ac407 (diff)
downloadrust-171c1fc25ed22e34fa4f666a15909b762ac1307b.tar.gz
rust-171c1fc25ed22e34fa4f666a15909b762ac1307b.zip
Auto merge of #57185 - petrochenkov:impice4, r=estebank
resolve: Fix one more ICE in import validation

So if you have an unresolved import
```rust
mod m {
    use foo::bar;
}
```
error recovery will insert a special item with `Def::Err` definition into module `m`, so other things depending on `bar` won't produce extra errors.

The issue was that erroneous `bar` was overwriting legitimate `bar`s coming from globs, e.g.
```rust
mod m {
    use baz::*; // imports real existing `bar`
    use foo::bar;
}
```
causing some unwanted diagnostics talking about "unresolved items", and producing inconsistent resolutions like https://github.com/rust-lang/rust/issues/57015.
This PR stops overwriting real successful resolutions with `Def::Err`s.

Fixes https://github.com/rust-lang/rust/issues/57015
Diffstat (limited to 'src/librustdoc/html/static/source-script.js')
0 files changed, 0 insertions, 0 deletions