Skip to content

Commit a7a42c2

Browse files
committed
Change the syntax for RECV from "var <- port" to "port |> var".
1 parent 2119e3b commit a7a42c2

33 files changed

+80
-80
lines changed

src/comp/front/parser.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -1256,11 +1256,11 @@ fn parse_assign_expr(&parser p) -> @ast::expr {
12561256
ret @spanned(lo, rhs.span.hi,
12571257
ast::expr_send(lhs, rhs, p.get_ann()));
12581258
}
1259-
case (token::LARROW) {
1259+
case (token::RECV) {
12601260
p.bump();
12611261
auto rhs = parse_expr(p);
12621262
ret @spanned(lo, rhs.span.hi,
1263-
ast::expr_recv(lhs, rhs, p.get_ann()));
1263+
ast::expr_recv(rhs, lhs, p.get_ann()));
12641264
}
12651265
case (_) { /* fall through */ }
12661266
}

src/comp/pretty/pprust.rs

+3-3
Original file line numberDiff line numberDiff line change
@@ -617,10 +617,10 @@ fn print_expr(ps s, &@ast::expr expr) {
617617
print_expr(s, rhs);
618618
}
619619
case (ast::expr_recv(?lhs, ?rhs, _)) {
620-
print_expr(s, lhs);
621-
space(s.s);
622-
wrd1(s, "<-");
623620
print_expr(s, rhs);
621+
space(s.s);
622+
wrd1(s, "|>");
623+
print_expr(s, lhs);
624624
}
625625
case (ast::expr_field(?expr,?id,_)) {
626626
print_expr(s, expr);

src/test/compile-fail/bad-recv.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
// error-pattern: mismatched types
22

33
fn main() {
4-
10 <- 10;
4+
10 |> 10;
55
}

src/test/run-fail/linked-failure.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -13,5 +13,5 @@ fn main() {
1313
let port[int] p = port();
1414
spawn child();
1515
let int x;
16-
x <- p;
16+
p |> x;
1717
}

src/test/run-fail/task-comm-14.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ io fn main() {
1919
let int value = 0;
2020
while (i > 0) {
2121
log i;
22-
value <- po;
22+
po |> value;
2323
i = i - 1;
2424
}
2525

src/test/run-fail/trivial-message2.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,14 @@
22
// xfail-stage1
33
// xfail-stage2
44
/*
5-
This program should hang on the r <- po line.
5+
This program should hang on the po |> r line.
66
*/
77

88
fn main() {
99
let port[int] po = port();
1010
let chan[int] ch = chan(po);
1111

12-
auto r; r <- po;
12+
auto r; po |> r;
1313

1414
ch <| 42;
1515

src/test/run-pass/acyclic-unwind.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ fn main() {
3232
let int i;
3333

3434
// synchronize on event from child.
35-
i <- p;
35+
p |> i;
3636

3737
log "parent exiting, killing child";
3838
}

src/test/run-pass/basic-1.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,8 @@ fn main() {
1212
spawn a(chan(p));
1313
spawn b(chan(p));
1414
let int n = 0;
15-
n <- p;
16-
n <- p;
15+
p |> n;
16+
p |> n;
1717
// log "Finished.";
1818
}
1919

src/test/run-pass/basic-2.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,8 @@ fn main() {
1414
spawn a(chan(p));
1515
spawn b(chan(p));
1616
let int n = 0;
17-
n <- p;
18-
n <- p;
17+
p |> n;
18+
p |> n;
1919
log "Finished.";
2020
}
2121

src/test/run-pass/basic.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -34,8 +34,8 @@ fn main() {
3434
let int x = 10;
3535
x = g(n,s);
3636
log x;
37-
n <- p;
38-
n <- p;
37+
p |> n;
38+
p |> n;
3939
// FIXME: use signal-channel for this.
4040
log "children finished, root finishing";
4141
}

src/test/run-pass/comm.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ fn main() {
77
let port[int] p = port();
88
spawn child(chan(p));
99
let int y;
10-
y <- p;
10+
p |> y;
1111
log "received";
1212
log y;
1313
assert (y == 10);

src/test/run-pass/decl-with-recv.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,10 @@ fn main() {
55
let chan[int] ch = chan(po);
66

77
ch <| 10;
8-
let int i; i <- po;
8+
let int i; po |> i;
99
assert (i == 10);
1010

1111
ch <| 11;
12-
auto j; j <- po;
12+
auto j; po |> j;
1313
assert (j == 11);
1414
}

src/test/run-pass/destructor-ordering.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ io fn check_order(port[order_info] expected_p) {
2525
chan(expected_p) <| rec(order=-1, msg="");
2626
let mutable int actual = 0;
2727
// FIXME #121: Workaround for while(true) bug.
28-
auto expected; expected <- expected_p;
28+
auto expected; expected_p |> expected;
2929
auto done = -1; // FIXME: Workaround for typechecking bug.
3030
while(expected.order != done) {
3131
if (expected.order != actual) {
@@ -36,7 +36,7 @@ io fn check_order(port[order_info] expected_p) {
3636
fail;
3737
}
3838
actual += 1;
39-
expected <- expected_p;
39+
expected_p |> expected;
4040
}
4141
}
4242

src/test/run-pass/lazychan.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -9,13 +9,13 @@ fn main() {
99
let int y;
1010

1111
spawn child(c);
12-
y <- p;
12+
p |> y;
1313
log "received 1";
1414
log y;
1515
assert (y == 10);
1616

1717
spawn child(c);
18-
y <- p;
18+
p |> y;
1919
log "received 2";
2020
log y;
2121
assert (y == 10);

src/test/run-pass/many.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -9,15 +9,15 @@ fn sub(chan[int] parent, int id) {
99
} else {
1010
let port[int] p = port();
1111
auto child = spawn sub(chan(p), id-1);
12-
let int y; y <- p;
12+
let int y; p |> y;
1313
parent <| y + 1;
1414
}
1515
}
1616

1717
fn main() {
1818
let port[int] p = port();
1919
auto child = spawn sub(chan(p), 500);
20-
let int y <- p;
20+
let int p |> y;
2121
log "transmission complete";
2222
log y;
2323
assert (y == 500);

src/test/run-pass/obj-dtor.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ fn main() {
2929
auto w = spawn do_work(chan(p));
3030
let int i;
3131
log "parent waiting for shutdown";
32-
i <- p;
32+
p |> i;
3333
log "received int";
3434
assert (i == 10);
3535
log "int is OK, child-dtor ran as expected";

src/test/run-pass/preempt.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ fn main() {
1919
let task s = spawn starve_main(chan(alive));
2020
let int i;
2121
log "main waiting for alive signal";
22-
i <- alive;
22+
alive |> i;
2323
log "main got alive signal";
2424
while (i < 50) {
2525
log "main iterated";

src/test/run-pass/rt-circular-buffer.rs

+4-4
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ fn test_shrink1() {
4444
auto mychan = chan(myport);
4545

4646
mychan <| 0i8;
47-
auto x; x <- myport;
47+
auto x; myport |> x;
4848
}
4949

5050
fn test_shrink2() {
@@ -58,7 +58,7 @@ fn test_shrink2() {
5858
}
5959

6060
for each (uint i in uint::range(0u, 100u)) {
61-
auto x; x <- myport;
61+
auto x; myport |> x;
6262
}
6363
}
6464

@@ -73,7 +73,7 @@ fn test_rotate() {
7373
val3=i as u32);
7474
mychan <| val;
7575

76-
auto x; x <- myport;
76+
auto x; myport |> x;
7777
assert (x.val1 == i as u32);
7878
assert (x.val2 == i as u32);
7979
assert (x.val3 == i as u32);
@@ -95,7 +95,7 @@ fn test_rotate_grow() {
9595
}
9696

9797
for each (uint i in uint::range(0u, 10u)) {
98-
auto x; x <- myport;
98+
auto x; myport |> x;
9999
assert (x.val1 == i as u32);
100100
assert (x.val2 == i as u32);
101101
assert (x.val3 == i as u32);

src/test/run-pass/task-comm-0.rs

+3-3
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,8 @@ fn test05() {
1515
let port[int] po = port();
1616
let chan[int] ch = chan(po);
1717
spawn test05_start(chan(po));
18-
let int value; value <- po;
19-
value <- po;
20-
value <- po;
18+
let int value; po |> value;
19+
po |> value;
20+
po |> value;
2121
assert (value == 30);
2222
}

src/test/run-pass/task-comm-10.rs

+3-3
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,14 @@
44
fn start(chan[chan[str]] c) {
55
let port[str] p = port();
66
c <| chan(p);
7-
auto a; a <- p;
8-
// auto b; b <- p; // Never read the second string.
7+
auto a; p |> a;
8+
// auto b; p |> b; // Never read the second string.
99
}
1010

1111
fn main() {
1212
let port[chan[str]] p = port();
1313
auto child = spawn "start" start(chan(p));
14-
auto c; c <- p;
14+
auto c; p |> c;
1515
c <| "A";
1616
c <| "B";
1717
yield;

src/test/run-pass/task-comm-11.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -9,5 +9,5 @@ fn start(chan[chan[str]] c) {
99
fn main() {
1010
let port[chan[str]] p = port();
1111
auto child = spawn "child" start(chan(p));
12-
auto c; c <- p;
12+
auto c; p |> c;
1313
}

src/test/run-pass/task-comm-15.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -17,5 +17,5 @@ fn main() {
1717
// the child's point of view the receiver may die. We should
1818
// drop messages on the floor in this case, and not crash!
1919
auto child = spawn thread "child" start(chan(p), 10);
20-
auto c; c <- p;
20+
auto c; p |> c;
2121
}

src/test/run-pass/task-comm-16.rs

+9-9
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ fn test_rec() {
1212
ch <| r0;
1313

1414
let r r1;
15-
r1 <- po;
15+
po |> r1;
1616

1717
assert (r1.val0 == 0);
1818
assert (r1.val1 == 1u8);
@@ -27,7 +27,7 @@ fn test_vec() {
2727
ch <| v0;
2828

2929
let vec[int] v1;
30-
v1 <- po;
30+
po |> v1;
3131

3232
assert (v1.(0) == 0);
3333
assert (v1.(1) == 1);
@@ -42,7 +42,7 @@ fn test_str() {
4242
ch <| s0;
4343

4444
let str s1;
45-
s1 <- po;
45+
po |> s1;
4646

4747
assert (s1.(0) as u8 == 't' as u8);
4848
assert (s1.(1) as u8 == 'e' as u8);
@@ -60,7 +60,7 @@ fn test_tup() {
6060
ch <| t0;
6161

6262
let t t1;
63-
t1 <- po;
63+
po |> t1;
6464

6565
assert (t0._0 == 0);
6666
assert (t0._1 == 1u8);
@@ -83,11 +83,11 @@ fn test_tag() {
8383

8484
let t t1;
8585

86-
t1 <- po;
86+
po |> t1;
8787
assert (t1 == tag1);
88-
t1 <- po;
88+
po |> t1;
8989
assert (t1 == tag2(10));
90-
t1 <- po;
90+
po |> t1;
9191
assert (t1 == tag3(10, 11u8, 'A'));
9292
}
9393

@@ -101,13 +101,13 @@ fn test_chan() {
101101
ch <| ch0;
102102

103103
let chan[int] ch1;
104-
ch1 <- po;
104+
po |> ch1;
105105

106106
// Does the transmitted channel still work?
107107
ch1 <| 10;
108108

109109
let int i;
110-
i <- po0;
110+
po0 |> i;
111111

112112
assert (i == 10);
113113
}

src/test/run-pass/task-comm-3.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ fn test00(bool is_multithreaded) {
4747
for (task t in tasks) {
4848
i = 0;
4949
while (i < number_of_messages) {
50-
let int value; value <- po;
50+
let int value; po |> value;
5151
sum += value;
5252
i = i + 1;
5353
}

src/test/run-pass/task-comm-4.rs

+8-8
Original file line numberDiff line numberDiff line change
@@ -13,20 +13,20 @@ fn test00() {
1313
c <| 3;
1414
c <| 4;
1515

16-
r <- p; sum += r; log (r);
17-
r <- p; sum += r; log (r);
18-
r <- p; sum += r; log (r);
19-
r <- p; sum += r; log (r);
16+
p |> r; sum += r; log (r);
17+
p |> r; sum += r; log (r);
18+
p |> r; sum += r; log (r);
19+
p |> r; sum += r; log (r);
2020

2121
c <| 5;
2222
c <| 6;
2323
c <| 7;
2424
c <| 8;
2525

26-
r <- p; sum += r; log (r);
27-
r <- p; sum += r; log (r);
28-
r <- p; sum += r; log (r);
29-
r <- p; sum += r; log (r);
26+
p |> r; sum += r; log (r);
27+
p |> r; sum += r; log (r);
28+
p |> r; sum += r; log (r);
29+
p |> r; sum += r; log (r);
3030

3131
assert (sum == 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8);
3232
}

src/test/run-pass/task-comm-5.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ fn test00() {
1717

1818
i = 0;
1919
while (i < number_of_messages) {
20-
r <- p; sum += r;
20+
p |> r; sum += r;
2121
i += 1;
2222
}
2323

0 commit comments

Comments
 (0)