From 3d169bd3f4cdc2dc3dd09eadbbc17c19214d69f3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lauren=C8=9Biu=20Nicola?= Date: Mon, 3 Aug 2020 13:57:04 +0300 Subject: Add track_env_var to the proc macro server --- crates/proc_macro_srv/src/proc_macro/bridge/client.rs | 1 + crates/proc_macro_srv/src/proc_macro/bridge/mod.rs | 4 ++++ crates/proc_macro_srv/src/proc_macro/bridge/server.rs | 2 ++ 3 files changed, 7 insertions(+) (limited to 'crates/proc_macro_srv/src/proc_macro/bridge') diff --git a/crates/proc_macro_srv/src/proc_macro/bridge/client.rs b/crates/proc_macro_srv/src/proc_macro/bridge/client.rs index cb4b3bdb0..55d6330cc 100644 --- a/crates/proc_macro_srv/src/proc_macro/bridge/client.rs +++ b/crates/proc_macro_srv/src/proc_macro/bridge/client.rs @@ -160,6 +160,7 @@ macro_rules! define_handles { } define_handles! { 'owned: + FreeFunctions, TokenStream, TokenStreamBuilder, TokenStreamIter, diff --git a/crates/proc_macro_srv/src/proc_macro/bridge/mod.rs b/crates/proc_macro_srv/src/proc_macro/bridge/mod.rs index aeb05aad4..b97886eb9 100644 --- a/crates/proc_macro_srv/src/proc_macro/bridge/mod.rs +++ b/crates/proc_macro_srv/src/proc_macro/bridge/mod.rs @@ -57,6 +57,10 @@ use std::thread; macro_rules! with_api { ($S:ident, $self:ident, $m:ident) => { $m! { + FreeFunctions { + fn drop($self: $S::FreeFunctions); + fn track_env_var(var: &str, value: Option<&str>); + }, TokenStream { fn drop($self: $S::TokenStream); fn clone($self: &$S::TokenStream) -> $S::TokenStream; diff --git a/crates/proc_macro_srv/src/proc_macro/bridge/server.rs b/crates/proc_macro_srv/src/proc_macro/bridge/server.rs index 45d41ac02..3acb239af 100644 --- a/crates/proc_macro_srv/src/proc_macro/bridge/server.rs +++ b/crates/proc_macro_srv/src/proc_macro/bridge/server.rs @@ -11,6 +11,8 @@ use super::client::HandleStore; /// Declare an associated item of one of the traits below, optionally /// adjusting it (i.e., adding bounds to types and default bodies to methods). macro_rules! associated_item { + (type FreeFunctions) => + (type FreeFunctions: 'static;); (type TokenStream) => (type TokenStream: 'static + Clone;); (type TokenStreamBuilder) => -- cgit v1.2.3