]> git.lizzy.rs Git - rust.git/blobdiff - src/test/run-pass/swap-overlapping.rs
Replace all ~"" with "".to_owned()
[rust.git] / src / test / run-pass / swap-overlapping.rs
index 90b2ceef71a76eb20253848566e6d0d354c58cd1..2e10c9347784e788a98d55ee51fbcbab112b799c 100644 (file)
 
 // Issue #5041 - avoid overlapping memcpy when src and dest of a swap are the same
 
+use std::ptr;
+
 pub fn main() {
     let mut test = TestDescAndFn {
         desc: TestDesc {
-            name: DynTestName(~"test"),
+            name: DynTestName("test".to_owned()),
             should_fail: false
         },
-        testfn: DynTestFn(|| ()),
+        testfn: DynTestFn(proc() ()),
     };
     do_swap(&mut test);
 }
 
 fn do_swap(test: &mut TestDescAndFn) {
-    *test <-> *test;
+    unsafe {
+        ptr::swap(test, test);
+    }
 }
 
 pub enum TestName {
@@ -30,8 +34,8 @@ pub enum TestName {
 }
 
 pub enum TestFn {
-    DynTestFn(~fn()),
-    DynBenchFn(~fn(&mut int))
+    DynTestFn(proc()),
+    DynBenchFn(proc(&mut int))
 }
 
 pub struct TestDesc {