about summary refs log tree commit diff
diff options
context:
space:
mode:
authoraochagavia <aochagavia92@gmail.com>2014-04-16 10:53:09 +0200
committerAdolfo OchagavĂ­a <aochagavia92@gmail.com>2014-04-20 12:46:21 +0200
commite36adee3ae498cbf98e463f68372dca8ac8e20ac (patch)
treef2efea2453bebb29324d128ec06b7f2492a1e129
parentd35804ea5e69c9a3a8957626533a856f976fe4e3 (diff)
downloadrust-e36adee3ae498cbf98e463f68372dca8ac8e20ac.tar.gz
rust-e36adee3ae498cbf98e463f68372dca8ac8e20ac.zip
Minor changes in std::mem
Fixed a typo in the documentation of std::mem, and refactored a function to use match instead of if.

Also added a FIXME to the benchmarks at the end of the file stating that they should be moved to another place, because they have nothing to do with `mem` (see https://github.com/mozilla/rust/issues/13642)
-rw-r--r--src/libstd/mem.rs10
1 files changed, 6 insertions, 4 deletions
diff --git a/src/libstd/mem.rs b/src/libstd/mem.rs
index 282cfe51782..0226b87db2a 100644
--- a/src/libstd/mem.rs
+++ b/src/libstd/mem.rs
@@ -37,8 +37,10 @@ pub fn size_of_val<T>(_val: &T) -> uint {
 /// Useful for building structures containing variable-length arrays.
 #[inline]
 pub fn nonzero_size_of<T>() -> uint {
-    let s = size_of::<T>();
-    if s == 0 { 1 } else { s }
+    match size_of::<T>() {
+        0 => 1,
+        x => x
+    }
 }
 
 /// Returns the size in bytes of the type of the value that `_val` points to.
@@ -222,7 +224,6 @@ pub unsafe fn move_val_init<T>(dst: &mut T, src: T) {
 /// On big endian, this is a no-op.  On little endian, the bytes are swapped.
 #[cfg(target_endian = "big")]    #[inline] pub fn from_be64(x: u64) -> u64 { x }
 
-
 /**
  * Swap the values at two mutable locations of the same type, without
  * deinitialising or copying either one.
@@ -238,7 +239,7 @@ pub fn swap<T>(x: &mut T, y: &mut T) {
         ptr::copy_nonoverlapping_memory(x, &*y, 1);
         ptr::copy_nonoverlapping_memory(y, &t, 1);
 
-        // y and t now point to the same thing, but we need to completely forget `tmp`
+        // y and t now point to the same thing, but we need to completely forget `t`
         // because it's no longer relevant.
         cast::forget(t);
     }
@@ -359,6 +360,7 @@ mod tests {
     }
 }
 
+// FIXME #13642 (these benchmarks should be in another place)
 /// Completely miscellaneous language-construct benchmarks.
 #[cfg(test)]
 mod bench {