]> git.lizzy.rs Git - rust.git/commit - src/tools/miri
Auto merge of #73996 - da-x:short-unique-paths, r=petrochenkov
authorbors <bors@rust-lang.org>
Thu, 3 Sep 2020 23:27:45 +0000 (23:27 +0000)
committerbors <bors@rust-lang.org>
Thu, 3 Sep 2020 23:27:45 +0000 (23:27 +0000)
commitaf3c6e733a40e671550e0f0f5aeecaa13772ba56
tree6234193bc514a97e899369463b0937774a4b159d
parent0d0f6b113047b2cf9afbde990cee30fd5b866469
parente7d7615105332f269a27cbd7273029377a96ccdf
Auto merge of #73996 - da-x:short-unique-paths, r=petrochenkov

diagnostics: shorten paths of unique symbols

This is a step towards implementing a fix for #50310, and continuation of the discussion in [Pre-RFC: Nicer Types In Diagnostics - compiler - Rust Internals](https://internals.rust-lang.org/t/pre-rfc-nicer-types-in-diagnostics/11139). Impressed upon me from previous discussion in #21934 that an RFC for this is not needed, and I should just come up with code.

The recent improvements to `use` suggestions that I've contributed have given rise to this implementation. Contrary to previous suggestions, it's rather simple logic, and I believe it only reduces the amount of cognitive load that a developer would need when reading type errors.

-----

If a symbol name can only be imported from one place, and as long as it was not glob-imported anywhere in the current crate, we can trim its printed path to the last component.

This has wide implications on error messages with types, for example, shortening `std::vec::Vec` to just `Vec`, as long as there is no other `Vec` importable from anywhere.
compiler/rustc_driver/src/lib.rs
compiler/rustc_middle/src/ty/context.rs