diff options
| author | Ben Blum <bblum@andrew.cmu.edu> | 2012-08-27 14:03:23 -0400 |
|---|---|---|
| committer | Ben Blum <bblum@andrew.cmu.edu> | 2012-08-27 14:03:23 -0400 |
| commit | a831726b94154e040479b86b33f891f1e2ecc1d4 (patch) | |
| tree | c7ec6aa741ecef250867b183e1f090ad3ed823f2 /src | |
| parent | 330311658ff0cb48c70e769911fe67d5cd90dd78 (diff) | |
Fix region-related unsafety in arc::get's signature
Diffstat (limited to 'src')
| -rw-r--r-- | src/libcore/unsafe.rs | 8 | ||||
| -rw-r--r-- | 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 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) } } |
