about summary refs log tree commit diff
path: root/src/libsyntax
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2015-12-31 17:05:34 +0000
committerbors <bors@rust-lang.org>2015-12-31 17:05:34 +0000
commit53cd573bc8d79393676783ec124e4a2000166956 (patch)
treecfd21c5b780782c25d7577f67525febd08121936 /src/libsyntax
parent3b6a851db5142039a43b523c139154a20dfd7a63 (diff)
parent7448f4861a8ee41b0a6d62b6bdaf623b3eeba453 (diff)
downloadrust-53cd573bc8d79393676783ec124e4a2000166956.tar.gz
rust-53cd573bc8d79393676783ec124e4a2000166956.zip
Auto merge of #30660 - nagisa:rollup, r=steveklabnik
- Successful merges: #30365, #30565, #30590, #30630
- Failed merges:
Diffstat (limited to 'src/libsyntax')
-rw-r--r--src/libsyntax/codemap.rs11
1 files changed, 4 insertions, 7 deletions
diff --git a/src/libsyntax/codemap.rs b/src/libsyntax/codemap.rs
index 18659cb2e78..19236f2cd98 100644
--- a/src/libsyntax/codemap.rs
+++ b/src/libsyntax/codemap.rs
@@ -164,18 +164,15 @@ impl Eq for Span {}
 
 impl Encodable for Span {
     fn encode<S: Encoder>(&self, s: &mut S) -> Result<(), S::Error> {
-        // Encode spans as a single u64 in order to cut down on tagging overhead
-        // added by the RBML metadata encoding. The should be solved differently
-        // altogether some time (FIXME #21482)
-        s.emit_u64( (self.lo.0 as u64) | ((self.hi.0 as u64) << 32) )
+        try!(s.emit_u32(self.lo.0));
+        s.emit_u32(self.hi.0)
     }
 }
 
 impl Decodable for Span {
     fn decode<D: Decoder>(d: &mut D) -> Result<Span, D::Error> {
-        let lo_hi: u64 = try! { d.read_u64() };
-        let lo = BytePos(lo_hi as u32);
-        let hi = BytePos((lo_hi >> 32) as u32);
+        let lo = BytePos(try! { d.read_u32() });
+        let hi = BytePos(try! { d.read_u32() });
         Ok(mk_sp(lo, hi))
     }
 }