@@ -27,7 +27,6 @@ use std::hashmap::{HashMap, HashSet};
27
27
use std:: io:: mem:: MemWriter ;
28
28
use std:: io:: { Writer , Seek , Decorator } ;
29
29
use std:: str;
30
- use std:: util;
31
30
use std:: vec;
32
31
33
32
use extra:: serialize:: Encodable ;
@@ -1797,6 +1796,11 @@ pub static metadata_encoding_version : &'static [u8] =
1797
1796
1798
1797
pub fn encode_metadata ( parms : EncodeParams , crate : & Crate ) -> ~[ u8 ] {
1799
1798
let mut wr = MemWriter :: new ( ) ;
1799
+ encode_metadata_inner ( & mut wr, parms, crate ) ;
1800
+ wr. inner ( )
1801
+ }
1802
+
1803
+ fn encode_metadata_inner ( wr : & mut MemWriter , parms : EncodeParams , crate : & Crate ) {
1800
1804
let stats = Stats {
1801
1805
inline_bytes : Cell :: new ( 0 ) ,
1802
1806
attr_bytes : Cell :: new ( 0 ) ,
@@ -1838,7 +1842,7 @@ pub fn encode_metadata(parms: EncodeParams, crate: &Crate) -> ~[u8] {
1838
1842
reachable : reachable,
1839
1843
} ;
1840
1844
1841
- let mut ebml_w = writer:: Encoder ( & mut wr) ;
1845
+ let mut ebml_w = writer:: Encoder ( wr) ;
1842
1846
1843
1847
encode_hash ( & mut ebml_w, ecx. link_meta . crate_hash ) ;
1844
1848
@@ -1909,10 +1913,6 @@ pub fn encode_metadata(parms: EncodeParams, crate: &Crate) -> ~[u8] {
1909
1913
// Pad this, since something (LLVM, presumably) is cutting off the
1910
1914
// remaining % 4 bytes.
1911
1915
ebml_w. writer . write ( & [ 0u8 , 0u8 , 0u8 , 0u8 ] ) ;
1912
-
1913
- // This is a horrible thing to do to the outer MemWriter, but thankfully we
1914
- // don't use it again so... it's ok right?
1915
- return util:: replace ( ebml_w. writer . inner_mut_ref ( ) , ~[ ] ) ;
1916
1916
}
1917
1917
1918
1918
// Get the encoded string for a type
0 commit comments