rust/compiler/rustc_resolve
Matthias Krüger d3bc06ecb4
Rollup merge of #144013 - petrochenkov:disambunder, r=oli-obk
resolve: Make disambiguators for underscore bindings module-local

Disambiguators attached to underscore name bindings (like `const _: u8 = something;`) do not need to be globally unique, they just need to be unique inside the module in which they live, because the bindings in a module are basically kept as `Map<BindingKey, SomeData>`.

Also, the specific values of the disambiguators are not important, so a glob import of `const _` may have a different disambiguator than the original `const _` itself.

So in this PR the disambiguator is just set to the current number of bindings in the module.
This removes one more piece of global mutable state from resolver and unblocks https://github.com/rust-lang/rust/pull/143884.
2025-07-18 14:49:20 +02:00
..
src Rollup merge of #144013 - petrochenkov:disambunder, r=oli-obk 2025-07-18 14:49:20 +02:00
Cargo.toml mbe: Change unused_macro_rules to a DenseBitSet 2025-07-06 12:02:23 -07:00
messages.ftl Suggest use another lifetime specifier instead of underscore lifetime 2025-07-01 19:58:27 +08:00