@@ -83,10 +83,9 @@ impl server::FreeFunctions for RustAnalyzer {
83
83
s : & str ,
84
84
) -> Result < bridge:: Literal < Self :: Span , Self :: Symbol > , ( ) > {
85
85
// FIXME: keep track of LitKind and Suffix
86
- let symbol = ThreadLocalSymbolInterner :: intern ( s) ;
87
86
Ok ( bridge:: Literal {
88
87
kind : bridge:: LitKind :: Err ,
89
- symbol,
88
+ symbol : Symbol :: intern ( s ) ,
90
89
suffix : None ,
91
90
span : tt:: TokenId :: unspecified ( ) ,
92
91
} )
@@ -124,7 +123,7 @@ impl server::TokenStream for RustAnalyzer {
124
123
125
124
bridge:: TokenTree :: Ident ( ident) => {
126
125
// FIXME: handle raw idents
127
- let text = ThreadLocalSymbolInterner :: get_cloned ( & ident. sym ) ;
126
+ let text = ident. sym . text ( ) ;
128
127
let ident: tt:: Ident = tt:: Ident { text, id : ident. span } ;
129
128
let leaf = tt:: Leaf :: from ( ident) ;
130
129
let tree = TokenTree :: from ( leaf) ;
@@ -198,7 +197,7 @@ impl server::TokenStream for RustAnalyzer {
198
197
. map ( |tree| match tree {
199
198
tt:: TokenTree :: Leaf ( tt:: Leaf :: Ident ( ident) ) => {
200
199
bridge:: TokenTree :: Ident ( bridge:: Ident {
201
- sym : ThreadLocalSymbolInterner :: intern ( & ident. text ) ,
200
+ sym : Symbol :: intern ( & ident. text ) ,
202
201
// FIXME: handle raw idents
203
202
is_raw : false ,
204
203
span : ident. id ,
@@ -208,7 +207,7 @@ impl server::TokenStream for RustAnalyzer {
208
207
bridge:: TokenTree :: Literal ( bridge:: Literal {
209
208
// FIXME: handle literal kinds
210
209
kind : bridge:: LitKind :: Err ,
211
- symbol : ThreadLocalSymbolInterner :: intern ( & lit. text ) ,
210
+ symbol : Symbol :: intern ( & lit. text ) ,
212
211
// FIXME: handle suffixes
213
212
suffix : None ,
214
213
span : lit. id ,
@@ -402,11 +401,11 @@ impl server::Server for RustAnalyzer {
402
401
}
403
402
404
403
fn intern_symbol ( ident : & str ) -> Self :: Symbol {
405
- ThreadLocalSymbolInterner :: intern ( & tt:: SmolStr :: from ( ident) )
404
+ Symbol :: intern ( & tt:: SmolStr :: from ( ident) )
406
405
}
407
406
408
407
fn with_symbol_string ( symbol : & Self :: Symbol , f : impl FnOnce ( & str ) ) {
409
- ThreadLocalSymbolInterner :: with ( symbol, |s| f ( s . as_str ( ) ) )
408
+ f ( symbol. text ( ) . as_str ( ) )
410
409
}
411
410
}
412
411
@@ -450,10 +449,9 @@ impl LiteralFormatter {
450
449
}
451
450
452
451
fn with_symbol_and_suffix < R > ( & self , f : impl FnOnce ( & str , & str ) -> R ) -> R {
453
- ThreadLocalSymbolInterner :: with ( & self . 0 . symbol , |symbol| match self . 0 . suffix . as_ref ( ) {
454
- Some ( suffix) => ThreadLocalSymbolInterner :: with ( suffix, |suffix| f ( symbol, suffix) ) ,
455
- None => f ( symbol, "" ) ,
456
- } )
452
+ let symbol = self . 0 . symbol . text ( ) ;
453
+ let suffix = self . 0 . suffix . map ( |s| s. text ( ) ) . unwrap_or_default ( ) ;
454
+ f ( symbol. as_str ( ) , suffix. as_str ( ) )
457
455
}
458
456
}
459
457
0 commit comments