diff options
| author | Mark Simulacrum <mark.simulacrum@gmail.com> | 2017-07-12 06:58:44 -0600 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2017-07-12 06:58:44 -0600 |
| commit | 0926f9b72fc3deed0e9d06261b08646425a158f8 (patch) | |
| tree | e2217824b480fd94d99b8577c83c206a32a9e118 /src/test/debuginfo/enum-thinlto.rs | |
| parent | 500518ab7228aef2de33201857e135487bd40edc (diff) | |
| parent | 21bb60afc1d20399ceed73dcb7939432e05b5688 (diff) | |
| download | rust-0926f9b72fc3deed0e9d06261b08646425a158f8.tar.gz rust-0926f9b72fc3deed0e9d06261b08646425a158f8.zip | |
Rollup merge of #42826 - Yorwba:type-mismatch-same-absolute-paths, r=arielb1
Note different versions of same crate when absolute paths of different types match. The current check to address #22750 only works when the paths of the mismatched types relative to the current crate are equal, but this does not always work if one of the types is only included through an indirect dependency. If reexports are involved, the indirectly included path can e.g. [contain private modules](https://github.com/rust-lang/rust/issues/22750#issuecomment-302755516). This PR takes care of these cases by also comparing the *absolute* path, which is equal if the type hasn't moved in the module hierarchy between versions. A more coarse check would be to compare only the crate names instead of full paths, but that might lead to too many false positives. Additionally, I believe it would be helpful to show where the differing crates came from, i.e. the information in `rustc::middle::cstore::CrateSource`, but I'm not sure yet how to nicely display all of that, so I'm leaving it to a future PR.
Diffstat (limited to 'src/test/debuginfo/enum-thinlto.rs')
0 files changed, 0 insertions, 0 deletions
