aboutsummaryrefslogtreecommitdiffstats
path: root/components/selectors/builder.rs
diff options
context:
space:
mode:
authorBobby Holley <bobbyholley@gmail.com>2019-01-18 12:39:29 -0800
committerEmilio Cobos Álvarez <emilio@crisal.io>2019-01-29 02:39:13 +0100
commitaf1bbd7b06fa2114ee6f80abb39042b637c370f0 (patch)
treef1f4a9ea9d9a3b601d709f917b546e1d1076399e /components/selectors/builder.rs
parent137e735d9dedf7ac4967306a60903fa6251ad256 (diff)
downloadservo-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.rs34
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 {