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.
This commit is contained in:
bors 2013-07-08 02:52:56 -07:00
commit 48ad726f2a
19 changed files with 230 additions and 127 deletions

View file

@ -232,6 +232,13 @@ impl<V:TyVisitor + movable_ptr> TyVisitor for ptr_visit_adaptor<V> {
true
}
fn visit_uniq_managed(&self, mtbl: uint, inner: *TyDesc) -> bool {
self.align_to::<~u8>();
if ! self.inner.visit_uniq_managed(mtbl, inner) { return false; }
self.bump_past::<~u8>();
true
}
fn visit_ptr(&self, mtbl: uint, inner: *TyDesc) -> bool {
self.align_to::<*u8>();
if ! self.inner.visit_ptr(mtbl, inner) { return false; }
@ -552,6 +559,7 @@ impl TyVisitor for my_visitor {
fn visit_box(&self, _mtbl: uint, _inner: *TyDesc) -> bool { true }
fn visit_uniq(&self, _mtbl: uint, _inner: *TyDesc) -> bool { true }
fn visit_uniq_managed(&self, _mtbl: uint, _inner: *TyDesc) -> bool { true }
fn visit_ptr(&self, _mtbl: uint, _inner: *TyDesc) -> bool { true }
fn visit_rptr(&self, _mtbl: uint, _inner: *TyDesc) -> bool { true }

View file

@ -70,6 +70,7 @@ impl TyVisitor for MyVisitor {
fn visit_box(&self, _mtbl: uint, _inner: *TyDesc) -> bool { true }
fn visit_uniq(&self, _mtbl: uint, _inner: *TyDesc) -> bool { true }
fn visit_uniq_managed(&self, _mtbl: uint, _inner: *TyDesc) -> bool { true }
fn visit_ptr(&self, _mtbl: uint, _inner: *TyDesc) -> bool { true }
fn visit_rptr(&self, _mtbl: uint, _inner: *TyDesc) -> bool { true }