diff options
| author | bors <bors@rust-lang.org> | 2013-07-08 02:52:56 -0700 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2013-07-08 02:52:56 -0700 |
| commit | 48ad726f2abc90fe62cdf239bc1c9318261a6926 (patch) | |
| tree | fb48c49be09efe99d543e18e1dd711d444521639 /src/libstd/vec.rs | |
| parent | 44770ae3a8001de38b33e449889c6444808941fc (diff) | |
| parent | 90f1db10fa29eb6b91e22037f13130f854da1401 (diff) | |
| download | rust-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.rs | 27 |
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>()) |
