diff options
| author | Daniel Micay <danielmicay@gmail.com> | 2013-08-26 18:04:17 -0400 |
|---|---|---|
| committer | Daniel Micay <danielmicay@gmail.com> | 2013-08-27 13:18:57 -0400 |
| commit | 9a63be1dbd41bdd6f164a70fcc49ca4e19e9ed89 (patch) | |
| tree | a33b82cce2bacf1729b7e02a815b1830af0babb2 /src | |
| parent | c6eb3ec30c945f22acac5dece7c22b0881af4be2 (diff) | |
| download | rust-9a63be1dbd41bdd6f164a70fcc49ca4e19e9ed89.tar.gz rust-9a63be1dbd41bdd6f164a70fcc49ca4e19e9ed89.zip | |
option: rm implementation of Add
Closes #6002 There is consensus that the current implementation should be changed or removed, so removing it seems like the right decision for now.
Diffstat (limited to 'src')
| -rw-r--r-- | src/libstd/option.rs | 13 | ||||
| -rw-r--r-- | src/test/run-pass/option_addition.rs | 25 |
2 files changed, 0 insertions, 38 deletions
diff --git a/src/libstd/option.rs b/src/libstd/option.rs index 34c47d9f61e..f99a595f2eb 100644 --- a/src/libstd/option.rs +++ b/src/libstd/option.rs @@ -43,7 +43,6 @@ let unwrapped_msg = match msg { use clone::Clone; use cmp::{Eq,Ord}; -use ops::Add; use util; use num::Zero; use iterator; @@ -77,18 +76,6 @@ impl<T: Eq + Ord> Ord for Option<T> { } } -impl<T: Add<T, T>> Add<Option<T>, Option<T>> for Option<T> { - #[inline] - fn add(&self, other: &Option<T>) -> Option<T> { - match (&*self, &*other) { - (&None, &None) => None, - (_, &None) => None, - (&None, _) => None, - (&Some(ref lhs), &Some(ref rhs)) => Some(*lhs + *rhs) - } - } -} - // FIXME: #8242 implementing manually because deriving doesn't work for some reason impl<T: ToStr> ToStr for Option<T> { fn to_str(&self) -> ~str { diff --git a/src/test/run-pass/option_addition.rs b/src/test/run-pass/option_addition.rs deleted file mode 100644 index 8af173150a0..00000000000 --- a/src/test/run-pass/option_addition.rs +++ /dev/null @@ -1,25 +0,0 @@ -// Copyright 2013 The Rust Project Developers. See the COPYRIGHT -// file at the top-level directory of this distribution and at -// http://rust-lang.org/COPYRIGHT. -// -// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or -// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license -// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your -// option. This file may not be copied, modified, or distributed -// except according to those terms. - -pub fn main() { - let foo: int = 1; - let bar: int = 2; - let foobar = foo + bar; - - let nope = None::<int> + None::<int>; - let somefoo = Some(foo) + None::<int>; - let somebar = None::<int> + Some(bar); - let somefoobar = Some(foo) + Some(bar); - - assert_eq!(nope, None::<int>); - assert_eq!(somefoo, None::<int>); - assert_eq!(somebar, None::<int>); - assert_eq!(foobar, somefoobar.unwrap()); -} |
