Skip to content

Commit f6637f3

Browse files
committed
Move is_gensymed from Symbol to Ident.
Note that the `is_gensymed` call on `primitive_types` is unnecessary because that table only contains the name of primitive types (e.g. `i32`) and never contains gensyms.
1 parent 128b4c8 commit f6637f3

File tree

4 files changed

+10
-15
lines changed

4 files changed

+10
-15
lines changed

Diff for: src/librustc_resolve/lib.rs

+3-4
Original file line numberDiff line numberDiff line change
@@ -4225,7 +4225,7 @@ impl<'a> Resolver<'a> {
42254225
let add_module_candidates = |module: Module<'_>, names: &mut Vec<TypoSuggestion>| {
42264226
for (&(ident, _), resolution) in module.resolutions.borrow().iter() {
42274227
if let Some(binding) = resolution.borrow().binding {
4228-
if !ident.name.is_gensymed() && filter_fn(binding.res()) {
4228+
if !ident.is_gensymed() && filter_fn(binding.res()) {
42294229
names.push(TypoSuggestion {
42304230
candidate: ident.name,
42314231
article: binding.res().article(),
@@ -4243,7 +4243,7 @@ impl<'a> Resolver<'a> {
42434243
for rib in self.ribs[ns].iter().rev() {
42444244
// Locals and type parameters
42454245
for (ident, &res) in &rib.bindings {
4246-
if !ident.name.is_gensymed() && filter_fn(res) {
4246+
if !ident.is_gensymed() && filter_fn(res) {
42474247
names.push(TypoSuggestion {
42484248
candidate: ident.name,
42494249
article: res.article(),
@@ -4273,7 +4273,7 @@ impl<'a> Resolver<'a> {
42734273
},
42744274
);
42754275

4276-
if !ident.name.is_gensymed() && filter_fn(crate_mod) {
4276+
if !ident.is_gensymed() && filter_fn(crate_mod) {
42774277
Some(TypoSuggestion {
42784278
candidate: ident.name,
42794279
article: "a",
@@ -4298,7 +4298,6 @@ impl<'a> Resolver<'a> {
42984298
names.extend(
42994299
self.primitive_type_table.primitive_types
43004300
.iter()
4301-
.filter(|(name, _)| !name.is_gensymed())
43024301
.map(|(name, _)| {
43034302
TypoSuggestion {
43044303
candidate: *name,

Diff for: src/librustc_resolve/resolve_imports.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -1395,7 +1395,7 @@ impl<'a, 'b:'a> ImportResolver<'a, 'b> {
13951395
// so they can cause name conflict errors downstream.
13961396
let is_good_import = binding.is_import() && !binding.is_ambiguity() &&
13971397
// Note that as_str() de-gensyms the Symbol
1398-
!(ident.name.is_gensymed() && ident.name.as_str() != "_");
1398+
!(ident.is_gensymed() && ident.name.as_str() != "_");
13991399
if is_good_import || binding.is_macro_def() {
14001400
let res = binding.res();
14011401
if res != Res::Err {

Diff for: src/libsyntax/ast.rs

+1-5
Original file line numberDiff line numberDiff line change
@@ -72,11 +72,7 @@ pub struct Path {
7272
impl PartialEq<Symbol> for Path {
7373
fn eq(&self, symbol: &Symbol) -> bool {
7474
self.segments.len() == 1 && {
75-
let name = self.segments[0].ident.name;
76-
// Make sure these symbols are pure strings
77-
debug_assert!(!symbol.is_gensymed());
78-
debug_assert!(!name.is_gensymed());
79-
name == *symbol
75+
self.segments[0].ident.name == *symbol
8076
}
8177
}
8278
}

Diff for: src/libsyntax_pos/symbol.rs

+5-5
Original file line numberDiff line numberDiff line change
@@ -684,6 +684,11 @@ impl Ident {
684684
if self.name == keywords::Underscore.name() { self.gensym() } else { self }
685685
}
686686

687+
// WARNING: this function is deprecated and will be removed in the future.
688+
pub fn is_gensymed(self) -> bool {
689+
with_interner(|interner| interner.is_gensymed(self.name))
690+
}
691+
687692
pub fn as_str(self) -> LocalInternedString {
688693
self.name.as_str()
689694
}
@@ -786,11 +791,6 @@ impl Symbol {
786791
with_interner(|interner| interner.gensymed(self))
787792
}
788793

789-
// WARNING: this function is deprecated and will be removed in the future.
790-
pub fn is_gensymed(self) -> bool {
791-
with_interner(|interner| interner.is_gensymed(self))
792-
}
793-
794794
pub fn as_str(self) -> LocalInternedString {
795795
with_interner(|interner| unsafe {
796796
LocalInternedString {

0 commit comments

Comments
 (0)