]> git.lizzy.rs Git - rust.git/blobdiff - src/test/run-pass/borrowck-freeze-frozen-mut.rs
cleanup: s/impl Copy/#[derive(Copy)]/g
[rust.git] / src / test / run-pass / borrowck-freeze-frozen-mut.rs
index 6aa95b1356e2814ecf6122f5030c1bc4bf4234dc..21f5d0e6c1448753db554c5b33aa7c35b1bb5b09 100644 (file)
@@ -10,7 +10,7 @@
 
 // Test that a `&mut` inside of an `&` is freezable.
 
-struct MutSlice<'a, T> {
+struct MutSlice<'a, T:'a> {
     data: &'a mut [T]
 }
 
@@ -19,9 +19,9 @@ fn get<'a, T>(ms: &'a MutSlice<'a, T>, index: uint) -> &'a T {
 }
 
 pub fn main() {
-    let mut data = [1, 2, 3];
+    let mut data = [1i, 2, 3];
     {
-        let slice = MutSlice { data: data };
+        let slice = MutSlice { data: &mut data };
         slice.data[0] += 4;
         let index0 = get(&slice, 0);
         let index1 = get(&slice, 1);
@@ -30,7 +30,7 @@ pub fn main() {
         assert_eq!(*index1, 2);
         assert_eq!(*index2, 3);
     }
-    assert_eq!(data[0], 1);
+    assert_eq!(data[0], 5);
     assert_eq!(data[1], 2);
     assert_eq!(data[2], 3);
 }