summary refs log tree commit diff
path: root/src/libstd/vec.rs
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2013-07-08 02:52:56 -0700
committerbors <bors@rust-lang.org>2013-07-08 02:52:56 -0700
commit48ad726f2abc90fe62cdf239bc1c9318261a6926 (patch)
treefb48c49be09efe99d543e18e1dd711d444521639 /src/libstd/vec.rs
parent44770ae3a8001de38b33e449889c6444808941fc (diff)
parent90f1db10fa29eb6b91e22037f13130f854da1401 (diff)
downloadrust-48ad726f2abc90fe62cdf239bc1c9318261a6926.tar.gz
rust-48ad726f2abc90fe62cdf239bc1c9318261a6926.zip
auto merge of #7605 : thestinger/rust/vec, r=Aatch
This is work continued from the now landed #7495 and #7521 pulls.

Removing the headers from unique vectors is another project, so I've separated the allocator.

Diffstat (limited to 'src/libstd/vec.rs')
-rw-r--r--src/libstd/vec.rs27
1 files changed, 7 insertions, 20 deletions
diff --git a/src/libstd/vec.rs b/src/libstd/vec.rs
index 84e4358a496..33857556548 100644
--- a/src/libstd/vec.rs
+++ b/src/libstd/vec.rs
@@ -33,28 +33,15 @@ use sys::size_of;
 use uint;
 use unstable::intrinsics;
 #[cfg(stage0)]
-use intrinsic::{get_tydesc};
+use intrinsic::{get_tydesc, TyDesc};
 #[cfg(not(stage0))]
-use unstable::intrinsics::{get_tydesc, contains_managed};
+use unstable::intrinsics::{get_tydesc, contains_managed, TyDesc};
 use vec;
 use util;
 
-#[doc(hidden)]
-pub mod rustrt {
-    use libc;
-    use vec::raw;
-    #[cfg(stage0)]
-    use intrinsic::{TyDesc};
-    #[cfg(not(stage0))]
-    use unstable::intrinsics::{TyDesc};
-
-    #[abi = "cdecl"]
-    pub extern {
-        #[fast_ffi]
-        unsafe fn vec_reserve_shared_actual(t: *TyDesc,
-                                            v: **raw::VecRepr,
-                                            n: libc::size_t);
-    }
+extern {
+    #[fast_ffi]
+    unsafe fn vec_reserve_shared_actual(t: *TyDesc, v: **raw::VecRepr, n: libc::size_t);
 }
 
 /// Returns true if two vectors have the same length
@@ -1152,7 +1139,7 @@ impl<T> OwnedVector<T> for ~[T] {
                 let td = get_tydesc::<T>();
                 if ((**ptr).box_header.ref_count ==
                     managed::raw::RC_MANAGED_UNIQUE) {
-                    rustrt::vec_reserve_shared_actual(td, ptr as **raw::VecRepr, n as libc::size_t);
+                    vec_reserve_shared_actual(td, ptr as **raw::VecRepr, n as libc::size_t);
                 } else {
                     let alloc = n * sys::nonzero_size_of::<T>();
                     *ptr = realloc_raw(*ptr as *mut c_void, alloc + size_of::<raw::VecRepr>())
@@ -1182,7 +1169,7 @@ impl<T> OwnedVector<T> for ~[T] {
                 let ptr: *mut *mut raw::VecRepr = cast::transmute(self);
                 let td = get_tydesc::<T>();
                 if contains_managed::<T>() {
-                    rustrt::vec_reserve_shared_actual(td, ptr as **raw::VecRepr, n as libc::size_t);
+                    vec_reserve_shared_actual(td, ptr as **raw::VecRepr, n as libc::size_t);
                 } else {
                     let alloc = n * sys::nonzero_size_of::<T>();
                     *ptr = realloc_raw(*ptr as *mut c_void, alloc + size_of::<raw::VecRepr>())