Skip to content

Commit ac47699

Browse files
committed
---
yaml --- r: 42963 b: refs/heads/try c: 3c6b9c2 h: refs/heads/master i: 42961: 00e7d1b 42959: b70071c v: v3
1 parent b88fb97 commit ac47699

File tree

6 files changed

+45
-66
lines changed

6 files changed

+45
-66
lines changed

[refs]

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
refs/heads/master: 19dfec2aaf746535de1521f68421f9980dbf25de
33
refs/heads/snap-stage1: e33de59e47c5076a89eadeb38f4934f58a3618a6
44
refs/heads/snap-stage3: 2f46b763da2c098913884f101b6d71d69af41b49
5-
refs/heads/try: 4e45d7111c73f348153177ee4a1a988f3d95306d
5+
refs/heads/try: 3c6b9c2363a70a359e8d4b3a111baaa8ec8dabda
66
refs/tags/release-0.1: 1f5c5126e96c79d22cb7862f75304136e204f105
77
refs/heads/ndm: f3868061cd7988080c30d6d5bf352a5a5fe2460b
88
refs/heads/try2: a810c03263670238bccd64cabb12a23a46e3a278

branches/try/src/libcore/either.rs

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -150,6 +150,23 @@ pub pure fn unwrap_right<T,U>(eith: Either<T,U>) -> U {
150150
}
151151

152152
impl<T, U> Either<T, U> {
153+
#[inline(always)]
154+
fn either<V>(&self, f_left: fn(&T) -> V, f_right: fn(&U) -> V) -> V {
155+
either(f_left, f_right, self)
156+
}
157+
158+
#[inline(always)]
159+
fn flip(self) -> Either<U, T> { flip(self) }
160+
161+
#[inline(always)]
162+
fn to_result(self) -> Result<U, T> { to_result(self) }
163+
164+
#[inline(always)]
165+
fn is_left(&self) -> bool { is_left(self) }
166+
167+
#[inline(always)]
168+
fn is_right(&self) -> bool { is_right(self) }
169+
153170
#[inline(always)]
154171
fn unwrap_left(self) -> T { unwrap_left(self) }
155172

branches/try/src/libcore/pipes.rs

Lines changed: 9 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -143,9 +143,14 @@ pub fn BufferHeader() -> BufferHeader {
143143
// This is for protocols to associate extra data to thread around.
144144
#[doc(hidden)]
145145
#[cfg(stage0)]
146+
type Buffer<T: Owned> = {
147+
header: BufferHeader,
148+
data: T,
149+
};
150+
#[doc(hidden)]
146151
#[cfg(stage1)]
147-
type Buffer<T> = { header: BufferHeader, data: T };
148152
#[cfg(stage2)]
153+
#[cfg(stage3)]
149154
pub struct Buffer<T> {
150155
header: BufferHeader,
151156
data: T,
@@ -242,6 +247,7 @@ pub fn mk_packet<T: Owned>() -> Packet<T> {
242247
payload: None,
243248
}
244249
}
250+
245251
#[doc(hidden)]
246252
#[cfg(stage0)]
247253
fn unibuffer<T: Owned>() -> ~Buffer<Packet<T>> {
@@ -258,23 +264,10 @@ fn unibuffer<T: Owned>() -> ~Buffer<Packet<T>> {
258264
}
259265
move b
260266
}
261-
#[cfg(stage1)]
262-
fn unibuffer<T>() -> ~Buffer<Packet<T>> {
263-
let b = ~{
264-
header: BufferHeader(),
265-
data: Packet {
266-
header: PacketHeader(),
267-
payload: None,
268-
}
269-
};
270-
271-
unsafe {
272-
b.data.header.buffer = reinterpret_cast(&b);
273-
}
274-
move b
275-
}
276267
#[doc(hidden)]
268+
#[cfg(stage1)]
277269
#[cfg(stage2)]
270+
#[cfg(stage3)]
278271
fn unibuffer<T>() -> ~Buffer<Packet<T>> {
279272
let b = ~Buffer {
280273
header: BufferHeader(),

branches/try/src/libcore/prelude.rs

Lines changed: 16 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -12,40 +12,37 @@
1212

1313
/* Reexported core operators */
1414

15+
pub use either::{Either, Left, Right};
1516
pub use kinds::{Const, Copy, Owned, Durable};
16-
pub use ops::{Drop};
1717
pub use ops::{Add, Sub, Mul, Div, Modulo, Neg, Not};
1818
pub use ops::{BitAnd, BitOr, BitXor};
19+
pub use ops::{Drop};
1920
pub use ops::{Shl, Shr, Index};
2021
pub use option::{Option, Some, None};
2122
pub use result::{Result, Ok, Err};
2223

2324
/* Reexported types and traits */
2425

25-
pub use path::Path;
26+
pub use clone::Clone;
27+
pub use cmp::{Eq, Ord};
28+
pub use container::{Container, Mutable, Map, Set};
29+
pub use hash::Hash;
30+
pub use iter::{BaseIter, ExtendedIter, EqIter, CopyableIter};
31+
pub use iter::{CopyableOrderedIter, CopyableNonstrictIter, Times};
32+
pub use num::Num;
2633
pub use path::GenericPath;
27-
pub use path::WindowsPath;
34+
pub use path::Path;
2835
pub use path::PosixPath;
29-
30-
pub use tuple::{CopyableTuple, ImmutableTuple, ExtendedTupleOps};
36+
pub use path::WindowsPath;
37+
pub use pipes::{GenericChan, GenericPort};
38+
pub use ptr::Ptr;
3139
pub use str::{StrSlice, Trimmable};
32-
pub use container::{Container, Mutable};
40+
pub use to_bytes::IterBytes;
41+
pub use to_str::ToStr;
42+
pub use tuple::{CopyableTuple, ImmutableTuple, ExtendedTupleOps};
3343
pub use vec::{CopyableVector, ImmutableVector};
3444
pub use vec::{ImmutableEqVector, ImmutableCopyableVector};
3545
pub use vec::{OwnedVector, OwnedCopyableVector};
36-
pub use iter::{BaseIter, ExtendedIter, EqIter, CopyableIter};
37-
pub use iter::{CopyableOrderedIter, CopyableNonstrictIter, Times};
38-
pub use container::{Container, Mutable, Map, Set};
39-
pub use pipes::{GenericChan, GenericPort};
40-
41-
pub use num::Num;
42-
pub use ptr::Ptr;
43-
pub use to_str::ToStr;
44-
pub use clone::Clone;
45-
46-
pub use cmp::{Eq, Ord};
47-
pub use hash::Hash;
48-
pub use to_bytes::IterBytes;
4946

5047
/* Reexported modules */
5148

branches/try/src/librustc/middle/trans/foreign.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ use syntax::parse::token::special_idents;
4242

4343
fn abi_info(arch: session::arch) -> cabi::ABIInfo {
4444
return match arch {
45-
arch_x86_64 => x86_64_abi_info(),
45+
arch_x86_64 | arch_arm => x86_64_abi_info(),
4646
_ => cabi::llvm_abi_info()
4747
}
4848
}

branches/try/src/libsyntax/ext/pipes/pipec.rs

Lines changed: 1 addition & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -355,34 +355,6 @@ pub impl protocol: gen_init {
355355
}))
356356
}
357357
358-
#[cfg(stage0)]
359-
fn gen_init_bounded(ext_cx: ext_ctxt) -> @ast::expr {
360-
debug!("gen_init_bounded");
361-
let buffer_fields = self.gen_buffer_init(ext_cx);
362-
let buffer = quote_expr!(~{
363-
header: ::pipes::BufferHeader(),
364-
data: $buffer_fields,
365-
});
366-
367-
let entangle_body = ext_cx.block_expr(
368-
ext_cx.block(
369-
self.states.map_to_vec(
370-
|s| ext_cx.parse_stmt(
371-
fmt!("data.%s.set_buffer(buffer)",
372-
s.name))),
373-
ext_cx.parse_expr(
374-
fmt!("::ptr::addr_of(&(data.%s))",
375-
self.states[0].name))));
376-
377-
quote_expr!({
378-
let buffer = $buffer;
379-
do ::pipes::entangle_buffer(move buffer) |buffer, data| {
380-
$entangle_body
381-
}
382-
})
383-
}
384-
#[cfg(stage1)]
385-
#[cfg(stage2)]
386358
fn gen_init_bounded(ext_cx: ext_ctxt) -> @ast::expr {
387359
debug!("gen_init_bounded");
388360
let buffer_fields = self.gen_buffer_init(ext_cx);
@@ -395,7 +367,7 @@ pub impl protocol: gen_init {
395367
ext_cx.block(
396368
self.states.map_to_vec(
397369
|s| ext_cx.parse_stmt(
398-
fmt!("data.%s.set_buffer(buffer)",
370+
fmt!("data.%s.set_buffer_(buffer)",
399371
s.name))),
400372
ext_cx.parse_expr(
401373
fmt!("::ptr::addr_of(&(data.%s))",

0 commit comments

Comments
 (0)