From a831726b94154e040479b86b33f891f1e2ecc1d4 Mon Sep 17 00:00:00 2001 From: Ben Blum Date: Mon, 27 Aug 2012 14:03:23 -0400 Subject: [PATCH] Fix region-related unsafety in arc::get's signature --- src/libcore/unsafe.rs | 8 ++++---- src/libstd/arc.rs | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/libcore/unsafe.rs b/src/libcore/unsafe.rs index 97c08e98945b..5f442dc28733 100644 --- a/src/libcore/unsafe.rs +++ b/src/libcore/unsafe.rs @@ -203,8 +203,8 @@ unsafe fn shared_mutable_state(+data: T) -> SharedMutableState { } #[inline(always)] -unsafe fn get_shared_mutable_state(rc: &SharedMutableState) - -> &mut T { +unsafe fn get_shared_mutable_state(rc: &a/SharedMutableState) + -> &a/mut T { unsafe { let ptr: ~ArcData = unsafe::reinterpret_cast((*rc).data); assert ptr.count > 0; @@ -215,8 +215,8 @@ unsafe fn get_shared_mutable_state(rc: &SharedMutableState) } } #[inline(always)] -unsafe fn get_shared_immutable_state(rc: &SharedMutableState) - -> &T { +unsafe fn get_shared_immutable_state(rc: &a/SharedMutableState) + -> &a/T { unsafe { let ptr: ~ArcData = unsafe::reinterpret_cast((*rc).data); assert ptr.count > 0; diff --git a/src/libstd/arc.rs b/src/libstd/arc.rs index 75fdf0c3457b..70e335763655 100644 --- a/src/libstd/arc.rs +++ b/src/libstd/arc.rs @@ -81,7 +81,7 @@ fn arc(+data: T) -> ARC { * Access the underlying data in an atomically reference counted * wrapper. */ -fn get(rc: &ARC) -> &T { +fn get(rc: &a/ARC) -> &a/T { unsafe { get_shared_immutable_state(&rc.x) } }