about summary refs log tree commit diff
path: root/src/test/debuginfo/borrowed-managed-basic.rs
diff options
context:
space:
mode:
authorPatrick Walton <pcwalton@mimiga.net>2014-07-07 16:35:15 -0700
committerPatrick Walton <pcwalton@mimiga.net>2014-07-17 14:05:36 -0700
commitde70d76373e05fcf0f421cedb185b08de10a714c (patch)
treeccfdaa415ce2bb947f40746a3b06a8980ab6cd16 /src/test/debuginfo/borrowed-managed-basic.rs
parentca24abd4d2d02dd96ef323074c9a21d44b3fd202 (diff)
downloadrust-de70d76373e05fcf0f421cedb185b08de10a714c.tar.gz
rust-de70d76373e05fcf0f421cedb185b08de10a714c.zip
librustc: Remove cross-borrowing of `Box<T>` to `&T` from the language,
except where trait objects are involved.

Part of issue #15349, though I'm leaving it open for trait objects.
Cross borrowing for trait objects remains because it is needed until we
have DST.

This will break code like:

    fn foo(x: &int) { ... }

    let a = box 3i;
    foo(a);

Change this code to:

    fn foo(x: &int) { ... }

    let a = box 3i;
    foo(&*a);

[breaking-change]
Diffstat (limited to 'src/test/debuginfo/borrowed-managed-basic.rs')
-rw-r--r--src/test/debuginfo/borrowed-managed-basic.rs28
1 files changed, 14 insertions, 14 deletions
diff --git a/src/test/debuginfo/borrowed-managed-basic.rs b/src/test/debuginfo/borrowed-managed-basic.rs
index 82e44b46d3c..8e924a46d9a 100644
--- a/src/test/debuginfo/borrowed-managed-basic.rs
+++ b/src/test/debuginfo/borrowed-managed-basic.rs
@@ -120,46 +120,46 @@ use std::gc::{Gc, GC};
 
 fn main() {
     let bool_box: Gc<bool> = box(GC) true;
-    let bool_ref: &bool = bool_box;
+    let bool_ref: &bool = &*bool_box;
 
     let int_box: Gc<int> = box(GC) -1;
-    let int_ref: &int = int_box;
+    let int_ref: &int = &*int_box;
 
     let char_box: Gc<char> = box(GC) 'a';
-    let char_ref: &char = char_box;
+    let char_ref: &char = &*char_box;
 
     let i8_box: Gc<i8> = box(GC) 68;
-    let i8_ref: &i8 = i8_box;
+    let i8_ref: &i8 = &*i8_box;
 
     let i16_box: Gc<i16> = box(GC) -16;
-    let i16_ref: &i16 = i16_box;
+    let i16_ref: &i16 = &*i16_box;
 
     let i32_box: Gc<i32> = box(GC) -32;
-    let i32_ref: &i32 = i32_box;
+    let i32_ref: &i32 = &*i32_box;
 
     let i64_box: Gc<i64> = box(GC) -64;
-    let i64_ref: &i64 = i64_box;
+    let i64_ref: &i64 = &*i64_box;
 
     let uint_box: Gc<uint> = box(GC) 1;
-    let uint_ref: &uint = uint_box;
+    let uint_ref: &uint = &*uint_box;
 
     let u8_box: Gc<u8> = box(GC) 100;
-    let u8_ref: &u8 = u8_box;
+    let u8_ref: &u8 = &*u8_box;
 
     let u16_box: Gc<u16> = box(GC) 16;
-    let u16_ref: &u16 = u16_box;
+    let u16_ref: &u16 = &*u16_box;
 
     let u32_box: Gc<u32> = box(GC) 32;
-    let u32_ref: &u32 = u32_box;
+    let u32_ref: &u32 = &*u32_box;
 
     let u64_box: Gc<u64> = box(GC) 64;
-    let u64_ref: &u64 = u64_box;
+    let u64_ref: &u64 = &*u64_box;
 
     let f32_box: Gc<f32> = box(GC) 2.5;
-    let f32_ref: &f32 = f32_box;
+    let f32_ref: &f32 = &*f32_box;
 
     let f64_box: Gc<f64> = box(GC) 3.5;
-    let f64_ref: &f64 = f64_box;
+    let f64_ref: &f64 = &*f64_box;
 
     zzz(); // #break
 }