From 4a1509cb53d9b8a33c17264fa54cca8886788073 Mon Sep 17 00:00:00 2001
From: Jorge Aparicio <jorge@japaric.io>
Date: Wed, 26 Jul 2017 17:01:53 -0500
Subject: [PATCH] fix around owned idle resource

---
 macros/src/trans.rs | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/macros/src/trans.rs b/macros/src/trans.rs
index 39c9c6f..6554dc9 100644
--- a/macros/src/trans.rs
+++ b/macros/src/trans.rs
@@ -28,6 +28,9 @@ pub fn app(app: &App, ownerships: &Ownerships) -> Tokens {
     quote!(#(#root)*)
 }
 
+// Checks that the resource types are valid
+// Sadly we can't do this test at expansion time. Instead we'll generate some
+// code that won't compile if the types don't meet the requirements
 fn check(app: &App, main: &mut Vec<Tokens>) {
     if !app.resources.is_empty() {
         main.push(quote! {
@@ -95,8 +98,9 @@ fn idle(
                         pub #name: &'static mut #ty,
                     });
 
+                    let _name = Ident::new(format!("_{}", name.as_ref()));
                     rexprs.push(quote! {
-                        #name: &mut #super_::#name,
+                        #name: &mut #super_::#_name,
                     });
                 } else {
                     rfields.push(quote! {
-- 
GitLab