@@ -798,21 +798,15 @@ impl Ident {
798798 Ident :: new ( self . name , self . span . modern_and_legacy ( ) )
799799 }
800800
801- /// Transforms an identifier into one with the same name, but gensymed.
802- pub fn gensym ( self ) -> Ident {
803- let name = with_interner ( |interner| interner. gensymed ( self . name ) ) ;
804- Ident :: new ( name, self . span )
805- }
806-
807801 /// Transforms an underscore identifier into one with the same name, but
808802 /// gensymed. Leaves non-underscore identifiers unchanged.
809803 pub fn gensym_if_underscore ( self ) -> Ident {
810- if self . name == kw:: Underscore { self . gensym ( ) } else { self }
811- }
812-
813- // WARNING: this function is deprecated and will be removed in the future.
814- pub fn is_gensymed ( self ) -> bool {
815- with_interner ( |interner| interner . is_gensymed ( self . name ) )
804+ if self . name == kw:: Underscore {
805+ let name = with_interner ( |interner| interner . gensymed ( self . name ) ) ;
806+ Ident :: new ( name , self . span )
807+ } else {
808+ self
809+ }
816810 }
817811
818812 pub fn as_str ( self ) -> LocalInternedString {
@@ -865,9 +859,12 @@ impl UseSpecializedDecodable for Ident {}
865859///
866860/// Examples:
867861/// ```
868- /// assert_eq!(Ident::from_str("x"), Ident::from_str("x"))
869- /// assert_ne!(Ident::from_str("x").gensym(), Ident::from_str("x"))
870- /// assert_ne!(Ident::from_str("x").gensym(), Ident::from_str("x").gensym())
862+ /// assert_eq!(Ident::from_str("_"), Ident::from_str("_"))
863+ /// assert_ne!(Ident::from_str("_").gensym_if_underscore(), Ident::from_str("_"))
864+ /// assert_ne!(
865+ /// Ident::from_str("_").gensym_if_underscore(),
866+ /// Ident::from_str("_").gensym_if_underscore(),
867+ /// )
871868/// ```
872869/// Internally, a symbol is implemented as an index, and all operations
873870/// (including hashing, equality, and ordering) operate on that index. The use
0 commit comments