1
- // xfail-test
2
1
use std;
3
2
4
3
import std:: task;
@@ -19,7 +18,8 @@ fn main() {
19
18
test06 ( ) ;
20
19
}
21
20
22
- fn test00_start ( ch : chan < int > , message : int , count : int ) {
21
+ fn test00_start ( & & args: ( chan < int > , int , int ) ) {
22
+ let ( ch, message, count) = args;
23
23
log "Starting test00_start" ;
24
24
let i: int = 0 ;
25
25
while i < count {
@@ -43,8 +43,8 @@ fn test00() {
43
43
let tasks = [ ] ;
44
44
while i < number_of_tasks {
45
45
i = i + 1 ;
46
- let thunk = bind test00_start ( ch , i , number_of_messages ) ;
47
- tasks += [ task :: spawn_joinable ( thunk ) ] ;
46
+ tasks += [ task :: spawn_joinable (
47
+ ( ch , i , number_of_messages ) , test00_start ) ] ;
48
48
}
49
49
let sum: int = 0 ;
50
50
for t in tasks {
@@ -90,7 +90,7 @@ fn test03() {
90
90
log v. length ( ) ;
91
91
}
92
92
93
- fn test04_start ( ) {
93
+ fn test04_start ( & & _args : ( ) ) {
94
94
log "Started task" ;
95
95
let i: int = 1024 * 1024 ;
96
96
while i > 0 { i = i - 1 ; }
@@ -100,7 +100,7 @@ fn test04_start() {
100
100
fn test04 ( ) {
101
101
log "Spawning lots of tasks." ;
102
102
let i: int = 4 ;
103
- while i > 0 { i = i - 1 ; let f = test04_start ; task:: spawn ( f ) ; }
103
+ while i > 0 { i = i - 1 ; task:: spawn ( ( ) , test04_start ) ; }
104
104
log "Finishing up." ;
105
105
}
106
106
@@ -115,15 +115,15 @@ fn test05_start(ch: chan<int>) {
115
115
fn test05 ( ) {
116
116
let po = comm:: port ( ) ;
117
117
let ch = chan ( po) ;
118
- task:: spawn ( bind test05_start ( ch ) ) ;
118
+ task:: spawn ( ch , test05_start) ;
119
119
let value: int ;
120
120
value = recv ( po) ;
121
121
value = recv ( po) ;
122
122
value = recv ( po) ;
123
123
log value;
124
124
}
125
125
126
- fn test06_start ( task_number : int ) {
126
+ fn test06_start ( & & task_number: int ) {
127
127
log "Started task." ;
128
128
let i: int = 0 ;
129
129
while i < 1000000 { i = i + 1 ; }
@@ -139,7 +139,7 @@ fn test06() {
139
139
let tasks = [ ] ;
140
140
while i < number_of_tasks {
141
141
i = i + 1 ;
142
- tasks += [ task:: spawn_joinable ( bind test06_start ( i ) ) ] ;
142
+ tasks += [ task:: spawn_joinable ( copy i , test06_start ) ] ;
143
143
}
144
144
145
145
0 commit comments