let add_module_candidates = |module: Module<'_>, names: &mut Vec<TypoSuggestion>| {
for (&(ident, _), resolution) in module.resolutions.borrow().iter() {
if let Some(binding) = resolution.borrow().binding {
- if !ident.name.is_gensymed() && filter_fn(binding.res()) {
+ if !ident.is_gensymed() && filter_fn(binding.res()) {
names.push(TypoSuggestion {
candidate: ident.name,
article: binding.res().article(),
for rib in self.ribs[ns].iter().rev() {
// Locals and type parameters
for (ident, &res) in &rib.bindings {
- if !ident.name.is_gensymed() && filter_fn(res) {
+ if !ident.is_gensymed() && filter_fn(res) {
names.push(TypoSuggestion {
candidate: ident.name,
article: res.article(),
},
);
- if !ident.name.is_gensymed() && filter_fn(crate_mod) {
+ if !ident.is_gensymed() && filter_fn(crate_mod) {
Some(TypoSuggestion {
candidate: ident.name,
article: "a",
names.extend(
self.primitive_type_table.primitive_types
.iter()
- .filter(|(name, _)| !name.is_gensymed())
.map(|(name, _)| {
TypoSuggestion {
candidate: *name,
// so they can cause name conflict errors downstream.
let is_good_import = binding.is_import() && !binding.is_ambiguity() &&
// Note that as_str() de-gensyms the Symbol
- !(ident.name.is_gensymed() && ident.name.as_str() != "_");
+ !(ident.is_gensymed() && ident.name.as_str() != "_");
if is_good_import || binding.is_macro_def() {
let res = binding.res();
if res != Res::Err {
impl PartialEq<Symbol> for Path {
fn eq(&self, symbol: &Symbol) -> bool {
self.segments.len() == 1 && {
- let name = self.segments[0].ident.name;
- // Make sure these symbols are pure strings
- debug_assert!(!symbol.is_gensymed());
- debug_assert!(!name.is_gensymed());
- name == *symbol
+ self.segments[0].ident.name == *symbol
}
}
}
if self.name == keywords::Underscore.name() { self.gensym() } else { self }
}
+ // WARNING: this function is deprecated and will be removed in the future.
+ pub fn is_gensymed(self) -> bool {
+ with_interner(|interner| interner.is_gensymed(self.name))
+ }
+
pub fn as_str(self) -> LocalInternedString {
self.name.as_str()
}
with_interner(|interner| interner.gensymed(self))
}
- // WARNING: this function is deprecated and will be removed in the future.
- pub fn is_gensymed(self) -> bool {
- with_interner(|interner| interner.is_gensymed(self))
- }
-
pub fn as_str(self) -> LocalInternedString {
with_interner(|interner| unsafe {
LocalInternedString {