Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'crates/proc-macro-srv/src/server_impl/token_id.rs')
-rw-r--r--crates/proc-macro-srv/src/server_impl/token_id.rs39
1 files changed, 17 insertions, 22 deletions
diff --git a/crates/proc-macro-srv/src/server_impl/token_id.rs b/crates/proc-macro-srv/src/server_impl/token_id.rs
index b3f7650262..cd5ba59095 100644
--- a/crates/proc-macro-srv/src/server_impl/token_id.rs
+++ b/crates/proc-macro-srv/src/server_impl/token_id.rs
@@ -25,8 +25,6 @@ impl std::fmt::Debug for SpanId {
type Span = SpanId;
-pub struct FreeFunctions;
-
pub struct SpanIdServer<'a> {
// FIXME: Report this back to the caller to track as dependencies
pub tracked_env_vars: HashMap<Box<str>, Option<Box<str>>>,
@@ -39,13 +37,28 @@ pub struct SpanIdServer<'a> {
}
impl server::Types for SpanIdServer<'_> {
- type FreeFunctions = FreeFunctions;
type TokenStream = crate::token_stream::TokenStream<Span>;
type Span = Span;
type Symbol = Symbol;
}
-impl server::FreeFunctions for SpanIdServer<'_> {
+impl server::Server for SpanIdServer<'_> {
+ fn globals(&mut self) -> ExpnGlobals<Self::Span> {
+ ExpnGlobals {
+ def_site: self.def_site,
+ call_site: self.call_site,
+ mixed_site: self.mixed_site,
+ }
+ }
+
+ fn intern_symbol(ident: &str) -> Self::Symbol {
+ Symbol::intern(ident)
+ }
+
+ fn with_symbol_string(symbol: &Self::Symbol, f: impl FnOnce(&str)) {
+ f(symbol.as_str())
+ }
+
fn injected_env_var(&mut self, _: &str) -> Option<std::string::String> {
None
}
@@ -195,21 +208,3 @@ impl server::FreeFunctions for SpanIdServer<'_> {
Ok(<Self as server::Server>::intern_symbol(string))
}
}
-
-impl server::Server for SpanIdServer<'_> {
- fn globals(&mut self) -> ExpnGlobals<Self::Span> {
- ExpnGlobals {
- def_site: self.def_site,
- call_site: self.call_site,
- mixed_site: self.mixed_site,
- }
- }
-
- fn intern_symbol(ident: &str) -> Self::Symbol {
- Symbol::intern(ident)
- }
-
- fn with_symbol_string(symbol: &Self::Symbol, f: impl FnOnce(&str)) {
- f(symbol.as_str())
- }
-}