From 621bd9c9abe9a2ae1e209c67b32d213a33ecba92 Mon Sep 17 00:00:00 2001 From: edef Date: Wed, 24 Dec 2014 06:24:27 +0100 Subject: [PATCH] don't deref in the macros --- src/arch.rs | 2 +- src/macros.rs | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/arch.rs b/src/arch.rs index 98943d3..cf71fa0 100644 --- a/src/arch.rs +++ b/src/arch.rs @@ -66,7 +66,7 @@ pub fn initialise_call_frame(stack: &mut Stack, init: uintptr_t, args: &[uintptr .. Registers::new() }; - match into_fields!(regs { rdi, r13, r14, r15 } <- args.iter()) { + match into_fields!(regs { rdi, r13, r14, r15 } <- args.iter().cloned()) { Some(mut args) => if args.next().is_some() { panic!("too many arguments") }, diff --git a/src/macros.rs b/src/macros.rs index 403560b..a4d0fdb 100644 --- a/src/macros.rs +++ b/src/macros.rs @@ -2,7 +2,7 @@ macro_rules! __into_fields { ($x:ident { $field:ident } <- $iter:ident) => { match $iter.next() { Some(value) => { - $x.$field = *value; + $x.$field = value; Some($iter) } None => None @@ -11,7 +11,7 @@ macro_rules! __into_fields { ($x:ident { $field:ident, $($fields_rest:ident),* } <- $iter:ident) => { match $iter.next() { Some(value) => { - $x.$field = *value; + $x.$field = value; __into_fields!($x { $($fields_rest),* } <- $iter) } None => None