File tree Expand file tree Collapse file tree 1 file changed +8
-11
lines changed
Expand file tree Collapse file tree 1 file changed +8
-11
lines changed Original file line number Diff line number Diff line change @@ -9,7 +9,6 @@ pub fn memo(_attr: TokenStream, item: TokenStream) -> TokenStream {
99 let vis = & func. vis ;
1010 let sig = & func. sig ;
1111 let block = & func. block ;
12- let ident = & func. sig . ident ;
1312
1413 let output_ty = match & sig. output {
1514 ReturnType :: Type ( _, ty) => ty. clone ( ) ,
@@ -45,16 +44,14 @@ pub fn memo(_attr: TokenStream, item: TokenStream) -> TokenStream {
4544 #vis #_sig
4645 where #output_ty: Clone + ' static
4746 {
48- unsafe {
49- let key = #ident as usize ;
50- let rc = if let Some ( rc) = cache:: touch( key) {
51- rc
52- } else {
53- let result: #output_ty = ( || #block) ( ) ;
54- cache:: store_in_cache( key, result)
55- } ;
56- ( * rc) . clone( )
57- }
47+ let key = #_ident as usize ;
48+ let rc = if let Some ( rc) = cache:: touch( key) {
49+ rc
50+ } else {
51+ let result: #output_ty = ( || #block) ( ) ;
52+ cache:: store_in_cache( key, result)
53+ } ;
54+ ( * rc) . clone( )
5855 }
5956 } ;
6057
You can’t perform that action at this time.
0 commit comments