about summary refs log tree commit diff
path: root/src/libstd/reflect.rs
diff options
context:
space:
mode:
authorDaniel Micay <danielmicay@gmail.com>2014-01-14 02:46:58 -0500
committerDaniel Micay <danielmicay@gmail.com>2014-01-14 22:01:40 -0500
commit0e885e42b1292fe2592488a52c35d54b9fe50fb8 (patch)
treed2490dba4da83d502bb4499c80395506d6f54211 /src/libstd/reflect.rs
parent9075025c7b48ffc028b3bddbb983ceac98ce9636 (diff)
downloadrust-0e885e42b1292fe2592488a52c35d54b9fe50fb8.tar.gz
rust-0e885e42b1292fe2592488a52c35d54b9fe50fb8.zip
remove reference counting headers from ~
Unique pointers and vectors currently contain a reference counting
header when containing a managed pointer.

This `{ ref_count, type_desc, prev, next }` header is not necessary and
not a sensible foundation for tracing. It adds needless complexity to
library code and is responsible for breakage in places where the branch
has been left out.

The `borrow_offset` field can now be removed from `TyDesc` along with
the associated handling in the compiler.

Closes #9510
Closes #11533
Diffstat (limited to 'src/libstd/reflect.rs')
-rw-r--r--src/libstd/reflect.rs2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/libstd/reflect.rs b/src/libstd/reflect.rs
index 8a3e60eb3e2..c4a5561a7aa 100644
--- a/src/libstd/reflect.rs
+++ b/src/libstd/reflect.rs
@@ -227,6 +227,7 @@ impl<V:TyVisitor + MovePtr> TyVisitor for MovePtrAdaptor<V> {
         true
     }
 
+    #[cfg(stage0)]
     fn visit_uniq_managed(&mut self, mtbl: uint, inner: *TyDesc) -> bool {
         self.align_to::<~u8>();
         if ! self.inner.visit_uniq_managed(mtbl, inner) { return false; }
@@ -275,6 +276,7 @@ impl<V:TyVisitor + MovePtr> TyVisitor for MovePtrAdaptor<V> {
         true
     }
 
+    #[cfg(stage0)]
     fn visit_evec_uniq_managed(&mut self, mtbl: uint, inner: *TyDesc) -> bool {
         self.align_to::<~[@u8]>();
         if ! self.inner.visit_evec_uniq_managed(mtbl, inner) { return false; }