Skip to content

Commit 3ebd878

Browse files
committed
Make moves explicit in rpass tests
1 parent 2145348 commit 3ebd878

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

59 files changed

+192
-185
lines changed

src/test/run-pass/argument-passing.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ fn f2(a: int, f: fn(int)) -> int { f(1); return a; }
1212

1313
fn main() {
1414
let mut a = {mut x: 1}, b = 2, c = 3;
15-
assert (f1(a, &mut b, c) == 6);
15+
assert (f1(a, &mut b, move c) == 6);
1616
assert (a.x == 0);
1717
assert (b == 10);
1818
assert (f2(a.x, |x| a.x = 50 ) == 0);

src/test/run-pass/auto-ref-sliceable.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ trait Pushable<T> {
44

55
impl<T> ~[T]: Pushable<T> {
66
fn push_val(&mut self, +t: T) {
7-
self.push(t);
7+
self.push(move t);
88
}
99
}
1010

src/test/run-pass/fn-bare-spawn.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
// This is what the signature to spawn should look like with bare functions
22

33
fn spawn<T: Send>(val: T, f: extern fn(T)) {
4-
f(val);
4+
f(move val);
55
}
66

77
fn f(+i: int) {

src/test/run-pass/functional-struct-update.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ struct Foo {
55

66
fn main() {
77
let a = Foo { x: 1, y: 2 };
8-
let c = Foo { x: 4, .. a };
8+
let c = Foo { x: 4, .. a};
99
io::println(fmt!("%?", c));
1010
}
1111

src/test/run-pass/intrinsic-move-val.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,6 @@ extern mod rusti {
88
fn main() {
99
let mut x = @1;
1010
let mut y = @2;
11-
rusti::move_val(&mut y, x);
11+
rusti::move_val(&mut y, move x);
1212
assert *y == 1;
1313
}

src/test/run-pass/issue-2185.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ fn foldl<A,B,IA:iterable<A>>(self: IA, +b0: B, blk: fn(B, A) -> B) -> B {
2828
do self.iter |a| {
2929
b <- blk(b, a);
3030
}
31-
return b;
31+
move b
3232
}
3333

3434
fn range(lo: uint, hi: uint, it: fn(uint)) {

src/test/run-pass/issue-2718.rs

+31-29
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
// tjc: I don't know why
2+
// xfail-pretty
13
mod pipes {
24
#[legacy_exports];
35
use cast::{forget, transmute};
@@ -42,39 +44,39 @@ mod pipes {
4244
// We should consider moving this to core::unsafe, although I
4345
// suspect graydon would want us to use void pointers instead.
4446
unsafe fn uniquify<T>(+x: *T) -> ~T {
45-
unsafe { cast::transmute(x) }
47+
unsafe { cast::transmute(move x) }
4648
}
4749

4850
fn swap_state_acq(+dst: &mut state, src: state) -> state {
4951
unsafe {
50-
transmute(rusti::atomic_xchg_acq(transmute(dst), src as int))
52+
transmute(rusti::atomic_xchg_acq(transmute(move dst), src as int))
5153
}
5254
}
5355

5456
fn swap_state_rel(+dst: &mut state, src: state) -> state {
5557
unsafe {
56-
transmute(rusti::atomic_xchg_rel(transmute(dst), src as int))
58+
transmute(rusti::atomic_xchg_rel(transmute(move dst), src as int))
5759
}
5860
}
5961

6062
fn send<T: Send>(-p: send_packet<T>, -payload: T) {
6163
let p = p.unwrap();
6264
let p = unsafe { uniquify(p) };
6365
assert (*p).payload.is_none();
64-
(*p).payload <- Some(payload);
66+
(*p).payload <- Some(move payload);
6567
let old_state = swap_state_rel(&mut (*p).state, full);
6668
match old_state {
6769
empty => {
6870
// Yay, fastpath.
6971

7072
// The receiver will eventually clean this up.
71-
unsafe { forget(p); }
73+
unsafe { forget(move p); }
7274
}
7375
full => { fail ~"duplicate send" }
7476
blocked => {
7577

7678
// The receiver will eventually clean this up.
77-
unsafe { forget(p); }
79+
unsafe { forget(move p); }
7880
}
7981
terminated => {
8082
// The receiver will never receive this. Rely on drop_glue
@@ -94,7 +96,7 @@ mod pipes {
9496
full => {
9597
let mut payload = None;
9698
payload <-> (*p).payload;
97-
return Some(option::unwrap(payload))
99+
return Some(option::unwrap(move payload))
98100
}
99101
terminated => {
100102
assert old_state == terminated;
@@ -109,7 +111,7 @@ mod pipes {
109111
match swap_state_rel(&mut (*p).state, terminated) {
110112
empty | blocked => {
111113
// The receiver will eventually clean up.
112-
unsafe { forget(p) }
114+
unsafe { forget(move p) }
113115
}
114116
full => {
115117
// This is impossible
@@ -126,7 +128,7 @@ mod pipes {
126128
match swap_state_rel(&mut (*p).state, terminated) {
127129
empty => {
128130
// the sender will clean up
129-
unsafe { forget(p) }
131+
unsafe { forget(move p) }
130132
}
131133
blocked => {
132134
// this shouldn't happen.
@@ -144,7 +146,7 @@ mod pipes {
144146
if self.p != None {
145147
let mut p = None;
146148
p <-> self.p;
147-
sender_terminate(option::unwrap(p))
149+
sender_terminate(option::unwrap(move p))
148150
}
149151
}
150152
}
@@ -153,7 +155,7 @@ mod pipes {
153155
fn unwrap() -> *packet<T> {
154156
let mut p = None;
155157
p <-> self.p;
156-
option::unwrap(p)
158+
option::unwrap(move p)
157159
}
158160
}
159161

@@ -169,7 +171,7 @@ mod pipes {
169171
if self.p != None {
170172
let mut p = None;
171173
p <-> self.p;
172-
receiver_terminate(option::unwrap(p))
174+
receiver_terminate(option::unwrap(move p))
173175
}
174176
}
175177
}
@@ -178,7 +180,7 @@ mod pipes {
178180
fn unwrap() -> *packet<T> {
179181
let mut p = None;
180182
p <-> self.p;
181-
option::unwrap(p)
183+
option::unwrap(move p)
182184
}
183185
}
184186

@@ -204,17 +206,17 @@ mod pingpong {
204206
ping(x) => { cast::transmute(ptr::addr_of(&x)) }
205207
};
206208
let liberated_value <- *addr;
207-
cast::forget(p);
208-
liberated_value
209+
cast::forget(move p);
210+
move liberated_value
209211
}
210212

211213
fn liberate_pong(-p: pong) -> pipes::send_packet<ping> unsafe {
212214
let addr : *pipes::send_packet<ping> = match p {
213215
pong(x) => { cast::transmute(ptr::addr_of(&x)) }
214216
};
215217
let liberated_value <- *addr;
216-
cast::forget(p);
217-
liberated_value
218+
cast::forget(move p);
219+
move liberated_value
218220
}
219221

220222
fn init() -> (client::ping, server::ping) {
@@ -229,16 +231,16 @@ mod pingpong {
229231
fn do_ping(-c: ping) -> pong {
230232
let (sp, rp) = pipes::entangle();
231233

232-
pipes::send(c, ping(sp));
233-
rp
234+
pipes::send(move c, ping(move sp));
235+
move rp
234236
}
235237

236238
fn do_pong(-c: pong) -> (ping, ()) {
237-
let packet = pipes::recv(c);
239+
let packet = pipes::recv(move c);
238240
if packet.is_none() {
239241
fail ~"sender closed the connection"
240242
}
241-
(liberate_pong(option::unwrap(packet)), ())
243+
(liberate_pong(option::unwrap(move packet)), ())
242244
}
243245
}
244246

@@ -248,32 +250,32 @@ mod pingpong {
248250
type pong = pipes::send_packet<pingpong::pong>;
249251

250252
fn do_ping(-c: ping) -> (pong, ()) {
251-
let packet = pipes::recv(c);
253+
let packet = pipes::recv(move c);
252254
if packet.is_none() {
253255
fail ~"sender closed the connection"
254256
}
255-
(liberate_ping(option::unwrap(packet)), ())
257+
(liberate_ping(option::unwrap(move packet)), ())
256258
}
257259

258260
fn do_pong(-c: pong) -> ping {
259261
let (sp, rp) = pipes::entangle();
260-
pipes::send(c, pong(sp));
261-
rp
262+
pipes::send(move c, pong(move sp));
263+
move rp
262264
}
263265
}
264266
}
265267

266268
fn client(-chan: pingpong::client::ping) {
267-
let chan = pingpong::client::do_ping(chan);
269+
let chan = pingpong::client::do_ping(move chan);
268270
log(error, ~"Sent ping");
269-
let (chan, _data) = pingpong::client::do_pong(chan);
271+
let (_chan, _data) = pingpong::client::do_pong(move chan);
270272
log(error, ~"Received pong");
271273
}
272274

273275
fn server(-chan: pingpong::server::ping) {
274-
let (chan, _data) = pingpong::server::do_ping(chan);
276+
let (chan, _data) = pingpong::server::do_ping(move chan);
275277
log(error, ~"Received ping");
276-
let chan = pingpong::server::do_pong(chan);
278+
let _chan = pingpong::server::do_pong(move chan);
277279
log(error, ~"Sent pong");
278280
}
279281

src/test/run-pass/issue-2834.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ proto! streamp (
99

1010
fn rendezvous() {
1111
let (c, s) = streamp::init();
12-
let streams: ~[streamp::client::open<int>] = ~[c];
12+
let streams: ~[streamp::client::open<int>] = ~[move c];
1313

1414
error!("%?", streams[0]);
1515
}

src/test/run-pass/issue-2904.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ fn square_from_char(c: char) -> square {
4848
}
4949

5050
fn read_board_grid<rdr: Owned io::Reader>(+in: rdr) -> ~[~[square]] {
51-
let in = in as io::Reader;
51+
let in = (move in) as io::Reader;
5252
let mut grid = ~[];
5353
for in.each_line |line| {
5454
let mut row = ~[];

src/test/run-pass/issue-2930.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,5 +7,5 @@ proto! stream (
77
fn main() {
88
let (bc, _bp) = stream::init();
99

10-
stream::client::send(bc, ~"abc");
10+
stream::client::send(move bc, ~"abc");
1111
}

src/test/run-pass/issue-3168.rs

+4-4
Original file line numberDiff line numberDiff line change
@@ -2,15 +2,15 @@
22

33
fn main() {
44
let (c,p) = pipes::stream();
5-
do task::try {
5+
do task::try |move c| {
66
let (c2,p2) = pipes::stream();
7-
do task::spawn {
7+
do task::spawn |move p2| {
88
p2.recv();
9-
error!("brother fails");
9+
error!("sibling fails");
1010
fail;
1111
}
1212
let (c3,p3) = pipes::stream();
13-
c.send(c3);
13+
c.send(move c3);
1414
c2.send(());
1515
error!("child blocks");
1616
p3.recv();

src/test/run-pass/issue-3176.rs

+5-5
Original file line numberDiff line numberDiff line change
@@ -4,19 +4,19 @@ use pipes::{Select2, Selectable};
44

55
fn main() {
66
let (c,p) = pipes::stream();
7-
do task::try {
7+
do task::try |move c| {
88
let (c2,p2) = pipes::stream();
9-
do task::spawn {
9+
do task::spawn |move p2| {
1010
p2.recv();
11-
error!("brother fails");
11+
error!("sibling fails");
1212
fail;
1313
}
1414
let (c3,p3) = pipes::stream();
15-
c.send(c3);
15+
c.send(move c3);
1616
c2.send(());
1717
error!("child blocks");
1818
let (c, p) = pipes::stream();
19-
(p, p3).select();
19+
(move p, move p3).select();
2020
c.send(());
2121
};
2222
error!("parent tries");

src/test/run-pass/issue-3668.rs

+1
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
// xfail-test
12
struct P { child: Option<@mut P> }
23
trait PTrait {
34
fn getChildOption() -> Option<@P>;

src/test/run-pass/issue-3688-2.rs

+4-3
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
1-
fn f(x:int) {
2-
const child: int = x + 1;
3-
}
1+
// xfail-test
2+
fn f(x:int) {
3+
const child: int = x + 1;
4+
}
45

56
fn main() {}

src/test/run-pass/last-use-corner-cases.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ fn main() {
55
// Make sure closing over can be a last use
66
let q = ~10;
77
let addr = ptr::addr_of(&(*q));
8-
let f = fn@() -> *int { ptr::addr_of(&(*q)) };
8+
let f = fn@(move q) -> *int { ptr::addr_of(&(*q)) };
99
assert addr == f();
1010

1111
// But only when it really is the last use

src/test/run-pass/last-use-in-block.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -3,14 +3,14 @@
33
fn lp<T>(s: ~str, f: fn(~str) -> T) -> T {
44
while false {
55
let r = f(s);
6-
return r;
6+
return (move r);
77
}
88
fail;
99
}
1010

1111
fn apply<T>(s: ~str, f: fn(~str) -> T) -> T {
1212
fn g<T>(s: ~str, f: fn(~str) -> T) -> T {f(s)}
13-
g(s, |v| { let r = f(v); r })
13+
g(s, |v| { let r = f(v); move r })
1414
}
1515

1616
fn main() {}

src/test/run-pass/liveness-move-in-loop.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ fn the_loop() {
55
loop {
66
let x = 5;
77
if x > 3 {
8-
list += ~[take(x)];
8+
list += ~[take(move x)];
99
} else {
1010
break;
1111
}

src/test/run-pass/log-linearized.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ type smallintmap<T> = @{mut v: ~[mut option<T>]};
99

1010
fn mk<T>() -> smallintmap<T> {
1111
let v: ~[mut option<T>] = ~[mut];
12-
return @{mut v: v};
12+
return @{mut v: move v};
1313
}
1414

1515
fn f<T,U>() {

src/test/run-pass/monomorphized-callees-with-ty-params-3314.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ struct F<A> { a: A }
1515

1616
impl<A: Copy Serializable> F<A>: Serializable {
1717
fn serialize<S: Serializer>(s: S) {
18-
self.a.serialize(s);
18+
self.a.serialize(move s);
1919
}
2020
}
2121

src/test/run-pass/move-arg-2-unique.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ fn test(-foo: ~~[int]) { assert (foo[0] == 10); }
33
fn main() {
44
let x = ~~[10];
55
// Test forgetting a local by move-in
6-
test(x);
6+
test(move x);
77

88
// Test forgetting a temporary by move-in.
99
test(~~[10]);

0 commit comments

Comments
 (0)