diff options
| author | Brian Anderson <banderson@mozilla.com> | 2012-09-28 00:22:18 -0700 |
|---|---|---|
| committer | Brian Anderson <banderson@mozilla.com> | 2012-09-28 00:22:28 -0700 |
| commit | bc9efaad9c978f71bd7ac2c91efbc957e25d43fb (patch) | |
| tree | 5a966292079cbd3cbe120e939da824f119fd61a8 /src/libstd/fun_treemap.rs | |
| parent | 467f2abdd8b676aed94364f09c8334b6627bd5b0 (diff) | |
| download | rust-bc9efaad9c978f71bd7ac2c91efbc957e25d43fb.tar.gz rust-bc9efaad9c978f71bd7ac2c91efbc957e25d43fb.zip | |
std: Eliminate deprecated patterns
Diffstat (limited to 'src/libstd/fun_treemap.rs')
| -rw-r--r-- | src/libstd/fun_treemap.rs | 15 |
1 files changed, 6 insertions, 9 deletions
diff --git a/src/libstd/fun_treemap.rs b/src/libstd/fun_treemap.rs index 778a62eebbe..6388e8983d2 100644 --- a/src/libstd/fun_treemap.rs +++ b/src/libstd/fun_treemap.rs @@ -1,5 +1,4 @@ #[warn(deprecated_mode)]; -#[forbid(deprecated_pattern)]; /*! * A functional key,value store that works on anything. @@ -37,7 +36,7 @@ fn insert<K: Copy Eq Ord, V: Copy>(m: Treemap<K, V>, +k: K, +v: V) -> Treemap<K, V> { @match m { @Empty => Node(@k, @v, @Empty, @Empty), - @Node(@kk, vv, left, right) => { + @Node(@copy kk, vv, left, right) => { if k < kk { Node(@kk, vv, insert(left, k, v), right) } else if k == kk { @@ -51,10 +50,10 @@ fn insert<K: Copy Eq Ord, V: Copy>(m: Treemap<K, V>, +k: K, +v: V) fn find<K: Eq Ord, V: Copy>(m: Treemap<K, V>, +k: K) -> Option<V> { match *m { Empty => None, - Node(@kk, @v, left, right) => { - if k == kk { + Node(@ref kk, @copy v, left, right) => { + if k == *kk { Some(v) - } else if k < kk { find(left, move k) } else { find(right, move k) } + } else if k < *kk { find(left, move k) } else { find(right, move k) } } } } @@ -68,11 +67,9 @@ fn traverse<K, V: Copy>(m: Treemap<K, V>, f: fn((&K), (&V))) { matches to me, so I changed it. but that may be a de-optimization -- tjc */ - Node(@k, @v, left, right) => { - // copy v to make aliases work out - let v1 = v; + Node(@ref k, @ref v, left, right) => { traverse(left, f); - f(&k, &v1); + f(k, v); traverse(right, f); } } |
