diff options
author | Bobby Holley <bobbyholley@gmail.com> | 2019-01-18 12:39:29 -0800 |
---|---|---|
committer | Emilio Cobos Álvarez <emilio@crisal.io> | 2019-01-29 02:39:13 +0100 |
commit | af1bbd7b06fa2114ee6f80abb39042b637c370f0 (patch) | |
tree | f1f4a9ea9d9a3b601d709f917b546e1d1076399e /components/selectors/builder.rs | |
parent | 137e735d9dedf7ac4967306a60903fa6251ad256 (diff) | |
download | servo-af1bbd7b06fa2114ee6f80abb39042b637c370f0.tar.gz servo-af1bbd7b06fa2114ee6f80abb39042b637c370f0.zip |
style: Derive more.
Differential Revision: https://phabricator.services.mozilla.com/D17029
Diffstat (limited to 'components/selectors/builder.rs')
-rw-r--r-- | components/selectors/builder.rs | 34 |
1 files changed, 1 insertions, 33 deletions
diff --git a/components/selectors/builder.rs b/components/selectors/builder.rs index e653af58fd5..80e8457cfc8 100644 --- a/components/selectors/builder.rs +++ b/components/selectors/builder.rs @@ -23,7 +23,6 @@ use servo_arc::{Arc, HeaderWithLength, ThinArc}; use smallvec::{self, SmallVec}; use std::cmp; use std::iter; -use std::ops::{Add, AddAssign}; use std::ptr; use std::slice; @@ -222,44 +221,13 @@ impl SpecificityAndFlags { const MAX_10BIT: u32 = (1u32 << 10) - 1; -#[derive(Clone, Copy, Eq, Ord, PartialEq, PartialOrd)] +#[derive(Add, AddAssign, Clone, Copy, Default, Eq, Ord, PartialEq, PartialOrd)] struct Specificity { id_selectors: u32, class_like_selectors: u32, element_selectors: u32, } -impl AddAssign for Specificity { - #[inline] - fn add_assign(&mut self, rhs: Self) { - self.id_selectors += rhs.id_selectors; - self.class_like_selectors += rhs.class_like_selectors; - self.element_selectors += rhs.element_selectors; - } -} - -impl Add for Specificity { - type Output = Specificity; - - fn add(self, rhs: Specificity) -> Specificity { - Specificity { - id_selectors: self.id_selectors + rhs.id_selectors, - class_like_selectors: self.class_like_selectors + rhs.class_like_selectors, - element_selectors: self.element_selectors + rhs.element_selectors, - } - } -} - -impl Default for Specificity { - fn default() -> Specificity { - Specificity { - id_selectors: 0, - class_like_selectors: 0, - element_selectors: 0, - } - } -} - impl From<u32> for Specificity { #[inline] fn from(value: u32) -> Specificity { |