about summary refs log tree commit diff
path: root/compiler/rustc_plugin_impl/src
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2021-10-02 16:17:13 +0000
committerbors <bors@rust-lang.org>2021-10-02 16:17:13 +0000
commitd14731cb3ced8318d7fc83cbe838f0e7f2fb3b40 (patch)
tree9cc833c2e77c8c933b44eb8ef6baafe9bcb77b16 /compiler/rustc_plugin_impl/src
parentedebf77e0090195bf80c0d8cda821e1bf9d03053 (diff)
parentd7d07657cd45a71f753a6a613d34dc8323ec3943 (diff)
downloadrust-d14731cb3ced8318d7fc83cbe838f0e7f2fb3b40.tar.gz
rust-d14731cb3ced8318d7fc83cbe838f0e7f2fb3b40.zip
Auto merge of #89239 - petrochenkov:modcache, r=cjgillot
resolve: Cache module loading for all foreign modules

It was previously cached for modules loaded from `fn get_module`, but not for modules loaded from `fn build_reduced_graph_for_external_crate_res`.
This also makes all foreign modules use their real parent, span and expansion instead of possibly a parent/span/expansion of their reexport.
Modules are also often compared using referential equality (`ptr::eq`), this change makes such comparisons correct in all cases.

An ICE happening on attempt to decode expansions for foreign enums and traits is avoided.

Also local enums and traits are now added to the module map.

Follow up to https://github.com/rust-lang/rust/pull/88872.
r? `@cjgillot`
Diffstat (limited to 'compiler/rustc_plugin_impl/src')
0 files changed, 0 insertions, 0 deletions