From 99daec602fc8fa4612320c7c1babe6ae8717759c Mon Sep 17 00:00:00 2001 From: Patrick Walton Date: Tue, 7 May 2013 11:38:08 -0700 Subject: [PATCH] librustc: Fix merge fallout. --- src/libcore/io.rs | 13 ++++++++----- src/libcore/repr.rs | 6 +++--- src/librustc/middle/resolve_stage0.rs | 2 +- src/libstd/future.rs | 7 +++++++ src/libstd/net_tcp.rs | 18 ++++++++++-------- 5 files changed, 29 insertions(+), 17 deletions(-) diff --git a/src/libcore/io.rs b/src/libcore/io.rs index 63335f7e952c..a00de5ff3117 100644 --- a/src/libcore/io.rs +++ b/src/libcore/io.rs @@ -1528,14 +1528,17 @@ pub struct BytesWriter { impl Writer for BytesWriter { fn write(&self, v: &[u8]) { let v_len = v.len(); - let bytes_len = vec::uniq_len(&const *self.bytes); - let count = uint::max(bytes_len, *self.pos + v_len); - vec::reserve(&mut *self.bytes, count); + let bytes = &mut *self.bytes; + let count = uint::max(bytes.len(), *self.pos + v_len); + vec::reserve(bytes, count); unsafe { - vec::raw::set_len(&mut *self.bytes, count); - let view = vec::mut_slice(*self.bytes, *self.pos, count); + // Silly stage0 borrow check workaround... + let casted: &mut ~[u8] = cast::transmute_copy(&bytes); + vec::raw::set_len(casted, count); + + let view = vec::mut_slice(*bytes, *self.pos, count); vec::bytes::copy_memory(view, v, v_len); } diff --git a/src/libcore/repr.rs b/src/libcore/repr.rs index c7e20d2b21f7..a645a7e86807 100644 --- a/src/libcore/repr.rs +++ b/src/libcore/repr.rs @@ -457,7 +457,7 @@ impl TyVisitor for ReprVisitor { let disr = unsafe { get_disr(transmute(*self.ptr)) }; - self.var_stk.push(SearchingFor(disr)); + var_stk.push(SearchingFor(disr)); true } @@ -494,7 +494,7 @@ impl TyVisitor for ReprVisitor { _offset: uint, inner: *TyDesc) -> bool { - match self.var_stk[vec::uniq_len(&const self.var_stk) - 1] { + match self.var_stk[vec::uniq_len(&const *self.var_stk) - 1] { Matched => { if i != 0 { self.writer.write_str(", "); @@ -530,7 +530,7 @@ impl TyVisitor for ReprVisitor { _align: uint) -> bool { let var_stk: &mut ~[VariantState] = self.var_stk; - match self.var_stk.pop() { + match var_stk.pop() { SearchingFor(*) => fail!(~"enum value matched no variant"), _ => true } diff --git a/src/librustc/middle/resolve_stage0.rs b/src/librustc/middle/resolve_stage0.rs index 2773710ca98f..484f66ae9921 100644 --- a/src/librustc/middle/resolve_stage0.rs +++ b/src/librustc/middle/resolve_stage0.rs @@ -4718,7 +4718,7 @@ pub impl Resolver { for vec::each(class_def.fields) |field| { match field.node.kind { unnamed_field => {}, - named_field(ident, _, _) => { + named_field(ident, _) => { if str::eq_slice(*this.session.str_of(ident), name) { return true diff --git a/src/libstd/future.rs b/src/libstd/future.rs index 209859e30961..eea9d56c9751 100644 --- a/src/libstd/future.rs +++ b/src/libstd/future.rs @@ -28,6 +28,13 @@ use core::pipes::recv; use core::task; #[doc = "The future type"] +#[cfg(stage0)] +pub struct Future { + priv mut state: FutureState, +} + +#[doc = "The future type"] +#[cfg(not(stage0))] pub struct Future { priv state: FutureState, } diff --git a/src/libstd/net_tcp.rs b/src/libstd/net_tcp.rs index e8c38be74c7d..560e91f13a72 100644 --- a/src/libstd/net_tcp.rs +++ b/src/libstd/net_tcp.rs @@ -902,8 +902,10 @@ impl io::Reader for TcpSocketBuf { // need to read in data from the socket. Note that the internal // buffer is of no use anymore as we read all bytes from it, // so we can throw it away. - let data = &*self.data; - let read_result = read(&data.sock, 0u); + let read_result = { + let data = &*self.data; + read(&data.sock, 0) + }; if read_result.is_err() { let err_data = read_result.get_err(); @@ -918,8 +920,7 @@ impl io::Reader for TcpSocketBuf { // should show up in a later call to read(). break; } - } - else { + } else { self.data.buf = result::unwrap(read_result); self.data.buf_off = 0; } @@ -935,8 +936,10 @@ impl io::Reader for TcpSocketBuf { return c as int } - let data = &*self.data; - let read_result = read(&data.sock, 0u); + let read_result = { + let data = &*self.data; + read(&data.sock, 0) + }; if read_result.is_err() { let err_data = read_result.get_err(); @@ -948,8 +951,7 @@ impl io::Reader for TcpSocketBuf { err_data.err_name, err_data.err_msg); fail!() } - } - else { + } else { self.data.buf = result::unwrap(read_result); self.data.buf_off = 0; }