diff options
| author | Patrick Walton <pcwalton@mimiga.net> | 2013-07-02 12:47:32 -0700 |
|---|---|---|
| committer | Patrick Walton <pcwalton@mimiga.net> | 2013-07-17 14:57:51 -0700 |
| commit | 99b33f721954bc5290f9201c8f64003c294d0571 (patch) | |
| tree | 786c9bf75d54512d0a80f6975ad40516ab432c3a /src/libstd/local_data.rs | |
| parent | b4e674f6e662bc80f2e7a5a1a9834f2152f08d32 (diff) | |
| download | rust-99b33f721954bc5290f9201c8f64003c294d0571.tar.gz rust-99b33f721954bc5290f9201c8f64003c294d0571.zip | |
librustc: Remove all uses of "copy".
Diffstat (limited to 'src/libstd/local_data.rs')
| -rw-r--r-- | src/libstd/local_data.rs | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/src/libstd/local_data.rs b/src/libstd/local_data.rs index 6c1640e683e..168bb7c14f0 100644 --- a/src/libstd/local_data.rs +++ b/src/libstd/local_data.rs @@ -135,9 +135,11 @@ pub fn modify<T: 'static>(key: Key<@T>, f: &fn(Option<@T>) -> Option<@T>) { */ #[cfg(not(stage0))] pub fn modify<T: 'static>(key: Key<T>, f: &fn(Option<T>) -> Option<T>) { - match f(pop(key)) { - Some(next) => { set(key, next); } - None => {} + unsafe { + match f(pop(::cast::unsafe_copy(&key))) { + Some(next) => { set(key, next); } + None => {} + } } } |
