diff options
| author | Jorge Aparicio <japaricious@gmail.com> | 2014-12-31 15:45:13 -0500 |
|---|---|---|
| committer | Jorge Aparicio <japaricious@gmail.com> | 2015-01-03 16:29:19 -0500 |
| commit | 99017f82b6e41ed283199b88ddfc0990bb95d696 (patch) | |
| tree | 66cd460eb70ab440425b66bb81651820c1d58469 /src/libcollections/enum_set.rs | |
| parent | 7095dd00702373dd612d61e191eb57fadce00751 (diff) | |
| download | rust-99017f82b6e41ed283199b88ddfc0990bb95d696.tar.gz rust-99017f82b6e41ed283199b88ddfc0990bb95d696.zip | |
use assoc types in binop traits
Diffstat (limited to 'src/libcollections/enum_set.rs')
| -rw-r--r-- | src/libcollections/enum_set.rs | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/src/libcollections/enum_set.rs b/src/libcollections/enum_set.rs index 1d6caf2ccee..81e1541bea0 100644 --- a/src/libcollections/enum_set.rs +++ b/src/libcollections/enum_set.rs @@ -185,25 +185,33 @@ impl<E:CLike> EnumSet<E> { } } -impl<E:CLike> Sub<EnumSet<E>, EnumSet<E>> for EnumSet<E> { +impl<E:CLike> Sub for EnumSet<E> { + type Output = EnumSet<E>; + fn sub(self, e: EnumSet<E>) -> EnumSet<E> { EnumSet {bits: self.bits & !e.bits} } } -impl<E:CLike> BitOr<EnumSet<E>, EnumSet<E>> for EnumSet<E> { +impl<E:CLike> BitOr for EnumSet<E> { + type Output = EnumSet<E>; + fn bitor(self, e: EnumSet<E>) -> EnumSet<E> { EnumSet {bits: self.bits | e.bits} } } -impl<E:CLike> BitAnd<EnumSet<E>, EnumSet<E>> for EnumSet<E> { +impl<E:CLike> BitAnd for EnumSet<E> { + type Output = EnumSet<E>; + fn bitand(self, e: EnumSet<E>) -> EnumSet<E> { EnumSet {bits: self.bits & e.bits} } } -impl<E:CLike> BitXor<EnumSet<E>, EnumSet<E>> for EnumSet<E> { +impl<E:CLike> BitXor for EnumSet<E> { + type Output = EnumSet<E>; + fn bitxor(self, e: EnumSet<E>) -> EnumSet<E> { EnumSet {bits: self.bits ^ e.bits} } |
