diff options
| author | Marijn Haverbeke <marijnh@gmail.com> | 2012-01-05 15:35:37 +0100 |
|---|---|---|
| committer | Marijn Haverbeke <marijnh@gmail.com> | 2012-01-05 15:50:02 +0100 |
| commit | 60ae1590af034755b5cb1e1e71f2240a710299a2 (patch) | |
| tree | 605d11f071a776c0ca33dcfea0a774379b0880bb /src/test/bench | |
| parent | 1f71a0f48d18d80ff3be6970d582c5a67f976329 (diff) | |
Switch to new param kind bound syntax
And remove support for the old syntax
Diffstat (limited to 'src/test/bench')
| -rw-r--r-- | src/test/bench/task-perf-word-count-generic.rs | 38 |
1 files changed, 19 insertions, 19 deletions
diff --git a/src/test/bench/task-perf-word-count-generic.rs b/src/test/bench/task-perf-word-count-generic.rs index cf8986aa0f7..e13603aec91 100644 --- a/src/test/bench/task-perf-word-count-generic.rs +++ b/src/test/bench/task-perf-word-count-generic.rs @@ -55,25 +55,25 @@ mod map_reduce { export reducer; export map_reduce; - type putter<send K, send V> = fn(K, V); + type putter<K: send, V: send> = fn(K, V); // FIXME: the first K1 parameter should probably be a -, but that // doesn't parse at the moment. - type mapper<send K1, send K2, send V> = fn(K1, putter<K2, V>); + type mapper<K1: send, K2: send, V: send> = fn(K1, putter<K2, V>); - type getter<send V> = fn() -> option<V>; + type getter<V: send> = fn() -> option<V>; - type reducer<send K, send V> = fn(K, getter<V>); + type reducer<K: send, V: send> = fn(K, getter<V>); - tag ctrl_proto<send K, send V> { + tag ctrl_proto<K: send, V: send> { find_reducer(K, chan<chan<reduce_proto<V>>>); mapper_done; } - tag reduce_proto<send V> { emit_val(V); done; ref; release; } + tag reduce_proto<V: send> { emit_val(V); done; ref; release; } - fn start_mappers<send K1, send K2, - send V>(map: mapper<K1, K2, V>, + fn start_mappers<K1: send, K2: send, + V: send>(map: mapper<K1, K2, V>, ctrl: chan<ctrl_proto<K2, V>>, inputs: [K1]) -> [joinable_task] { let tasks = []; @@ -84,15 +84,15 @@ mod map_reduce { ret tasks; } - fn map_task<send K1, send K2, - send V>(-map: mapper<K1, K2, V>, + fn map_task<K: send1, K: send2, + V: send>(-map: mapper<K1, K2, V>, -ctrl: chan<ctrl_proto<K2, V>>, -input: K1) { // log(error, "map_task " + input); let intermediates = treemap::init(); - fn emit<send K2, - send V>(im: treemap::treemap<K2, chan<reduce_proto<V>>>, + fn emit<K: send2, + V: send>(im: treemap::treemap<K2, chan<reduce_proto<V>>>, ctrl: chan<ctrl_proto<K2, V>>, key: K2, val: V) { let c; alt treemap::find(im, key) { @@ -110,15 +110,15 @@ mod map_reduce { map(input, bind emit(intermediates, ctrl, _, _)); - fn finish<send K, send V>(_k: K, v: chan<reduce_proto<V>>) { + fn finish<K: send, V: send>(_k: K, v: chan<reduce_proto<V>>) { send(v, release); } treemap::traverse(intermediates, finish); send(ctrl, mapper_done); } - fn reduce_task<send K, - send V>(-reduce: reducer<K, V>, -key: K, + fn reduce_task<K: send, + V: send>(-reduce: reducer<K, V>, -key: K, -out: chan<chan<reduce_proto<V>>>) { let p = port(); @@ -127,7 +127,7 @@ mod map_reduce { let ref_count = 0; let is_done = false; - fn get<send V>(p: port<reduce_proto<V>>, + fn get<V: send>(p: port<reduce_proto<V>>, &ref_count: int, &is_done: bool) -> option<V> { while !is_done || ref_count > 0 { @@ -150,8 +150,8 @@ mod map_reduce { reduce(key, bind get(p, ref_count, is_done)); } - fn map_reduce<send K1, send K2, - send V>(map: mapper<K1, K2, V>, reduce: reducer<K2, V>, + fn map_reduce<K: send1, K: send2, + V: send>(map: mapper<K1, K2, V>, reduce: reducer<K2, V>, inputs: [K1]) { let ctrl = port(); @@ -195,7 +195,7 @@ mod map_reduce { } } - fn finish<send K, send V>(_k: K, v: chan<reduce_proto<V>>) { + fn finish<K: send, V: send>(_k: K, v: chan<reduce_proto<V>>) { send(v, done); } treemap::traverse(reducers, finish); |
