]> git.proxmox.com Git - rustc.git/blobdiff - compiler/rustc_macros/src/lift.rs
New upstream version 1.49.0~beta.4+dfsg1
[rustc.git] / compiler / rustc_macros / src / lift.rs
index 4bf4ce00a4d3826a9cb29ca8cb2096f1bbc3c2ab..ad7ac74041749075dcf8b118dc2715a936dd82e4 100644 (file)
@@ -3,6 +3,7 @@ use syn::{self, parse_quote};
 
 pub fn lift_derive(mut s: synstructure::Structure<'_>) -> proc_macro2::TokenStream {
     s.add_bounds(synstructure::AddBounds::Generics);
+    s.bind_with(|_| synstructure::BindStyle::Move);
 
     let tcx: syn::Lifetime = parse_quote!('tcx);
     let newtcx: syn::GenericParam = parse_quote!('__lifted);
@@ -43,8 +44,8 @@ pub fn lift_derive(mut s: synstructure::Structure<'_>) -> proc_macro2::TokenStre
         quote! {
             type Lifted = #lifted;
 
-            fn lift_to_tcx(&self, __tcx: ::rustc_middle::ty::TyCtxt<'__lifted>) -> Option<#lifted> {
-                Some(match *self { #body })
+            fn lift_to_tcx(self, __tcx: ::rustc_middle::ty::TyCtxt<'__lifted>) -> Option<#lifted> {
+                Some(match self { #body })
             }
         },
     )