about summary refs log tree commit diff
path: root/src/test/debuginfo/enum-thinlto.rs
diff options
context:
space:
mode:
authorMark Simulacrum <mark.simulacrum@gmail.com>2017-07-12 06:58:44 -0600
committerGitHub <noreply@github.com>2017-07-12 06:58:44 -0600
commit0926f9b72fc3deed0e9d06261b08646425a158f8 (patch)
treee2217824b480fd94d99b8577c83c206a32a9e118 /src/test/debuginfo/enum-thinlto.rs
parent500518ab7228aef2de33201857e135487bd40edc (diff)
parent21bb60afc1d20399ceed73dcb7939432e05b5688 (diff)
downloadrust-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