about summary refs log tree commit diff
path: root/src/libcore
diff options
context:
space:
mode:
Diffstat (limited to 'src/libcore')
-rw-r--r--src/libcore/priv.rs4
-rw-r--r--src/libcore/vec.rs4
2 files changed, 5 insertions, 3 deletions
diff --git a/src/libcore/priv.rs b/src/libcore/priv.rs
index 90fc9239e14..4aa8b57568f 100644
--- a/src/libcore/priv.rs
+++ b/src/libcore/priv.rs
@@ -14,7 +14,7 @@ native mod rustrt {
     fn rust_task_unweaken(ch: rust_port_id);
 }
 
-type global_ptr<T: send> = *libc::uintptr_t;
+type global_ptr = *libc::uintptr_t;
 
 #[doc = "
 Atomically gets a channel from a pointer to a pointer-sized memory location
@@ -22,7 +22,7 @@ or, if no channel exists creates and installs a new channel and sets up a new
 task to receive from it.
 "]
 unsafe fn chan_from_global_ptr<T: send>(
-    global: global_ptr<T>,
+    global: global_ptr,
     builder: fn() -> task::builder,
     f: fn~(comm::port<T>)
 ) -> comm::chan<T> {
diff --git a/src/libcore/vec.rs b/src/libcore/vec.rs
index ad1c3f2344a..3215f3b9f28 100644
--- a/src/libcore/vec.rs
+++ b/src/libcore/vec.rs
@@ -1168,7 +1168,9 @@ mod unsafe {
     #[inline(always)]
     unsafe fn form_slice<T,U>(p: *T, len: uint, f: fn([T]/&) -> U) -> U {
         let pair = (p, len * sys::size_of::<T>());
-        let v : *([T]/&) = ::unsafe::reinterpret_cast(ptr::addr_of(pair));
+        // FIXME: should use &blk not &static here, but a snapshot is req'd
+        let v : *([T]/&static) =
+            ::unsafe::reinterpret_cast(ptr::addr_of(pair));
         f(*v)
     }
 }