about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--src/libcore/num/uint_macros.rs2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/libcore/num/uint_macros.rs b/src/libcore/num/uint_macros.rs
index a53388bd0e3..092f7d81d22 100644
--- a/src/libcore/num/uint_macros.rs
+++ b/src/libcore/num/uint_macros.rs
@@ -89,7 +89,7 @@ impl Rem<$T,$T> for $T {
 #[cfg(not(test))]
 impl Neg<$T> for $T {
     #[inline]
-    fn neg(&self) -> $T { -*self }
+    fn neg(&self) -> $T { -(*self as $T_SIGNED) as $T }
 }
 
 impl Unsigned for $T {}