about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
authorBen Blum <bblum@andrew.cmu.edu>2012-08-27 14:03:23 -0400
committerBen Blum <bblum@andrew.cmu.edu>2012-08-27 14:03:23 -0400
commita831726b94154e040479b86b33f891f1e2ecc1d4 (patch)
treec7ec6aa741ecef250867b183e1f090ad3ed823f2 /src
parent330311658ff0cb48c70e769911fe67d5cd90dd78 (diff)
Fix region-related unsafety in arc::get's signature
Diffstat (limited to 'src')
-rw-r--r--src/libcore/unsafe.rs8
-rw-r--r--src/libstd/arc.rs2
2 files changed, 5 insertions, 5 deletions
diff --git a/src/libcore/unsafe.rs b/src/libcore/unsafe.rs
index 97c08e98945..5f442dc2873 100644
--- a/src/libcore/unsafe.rs
+++ b/src/libcore/unsafe.rs
@@ -203,8 +203,8 @@ unsafe fn shared_mutable_state<T: send>(+data: T) -> SharedMutableState<T> {
 }
 
 #[inline(always)]
-unsafe fn get_shared_mutable_state<T: send>(rc: &SharedMutableState<T>)
-        -> &mut T {
+unsafe fn get_shared_mutable_state<T: send>(rc: &a/SharedMutableState<T>)
+        -> &a/mut T {
     unsafe {
         let ptr: ~ArcData<T> = unsafe::reinterpret_cast((*rc).data);
         assert ptr.count > 0;
@@ -215,8 +215,8 @@ unsafe fn get_shared_mutable_state<T: send>(rc: &SharedMutableState<T>)
     }
 }
 #[inline(always)]
-unsafe fn get_shared_immutable_state<T: send>(rc: &SharedMutableState<T>)
-        -> &T {
+unsafe fn get_shared_immutable_state<T: send>(rc: &a/SharedMutableState<T>)
+        -> &a/T {
     unsafe {
         let ptr: ~ArcData<T> = unsafe::reinterpret_cast((*rc).data);
         assert ptr.count > 0;
diff --git a/src/libstd/arc.rs b/src/libstd/arc.rs
index 75fdf0c3457..70e33576365 100644
--- a/src/libstd/arc.rs
+++ b/src/libstd/arc.rs
@@ -81,7 +81,7 @@ fn arc<T: const send>(+data: T) -> ARC<T> {
  * Access the underlying data in an atomically reference counted
  * wrapper.
  */
-fn get<T: const send>(rc: &ARC<T>) -> &T {
+fn get<T: const send>(rc: &a/ARC<T>) -> &a/T {
     unsafe { get_shared_immutable_state(&rc.x) }
 }