[librsvg: 6/9] css: derive default for a couple of structs



commit cb788adb0f57504364c990ac6e5b10dae318cb48
Author: Paolo Borelli <pborelli gnome org>
Date:   Sun May 26 11:09:32 2019 +0200

    css: derive default for a couple of structs

 rsvg_internals/src/css.rs | 16 +++-------------
 rsvg_internals/src/xml.rs |  2 +-
 2 files changed, 4 insertions(+), 14 deletions(-)
---
diff --git a/rsvg_internals/src/css.rs b/rsvg_internals/src/css.rs
index 05c9bb74..b4dc827e 100644
--- a/rsvg_internals/src/css.rs
+++ b/rsvg_internals/src/css.rs
@@ -34,6 +34,7 @@ pub struct Declaration {
     pub important: bool,
 }
 
+#[derive(Default)]
 pub struct DeclarationList {
     // Maps property_name -> Declaration
     declarations: HashMap<LocalName, Declaration>,
@@ -82,17 +83,12 @@ impl Selector {
 
 /// Contains all the mappings of selectors to style declarations
 /// that result from loading an SVG document.
+#[derive(Default)]
 pub struct CssRules {
     selectors_to_declarations: HashMap<Selector, DeclarationList>,
 }
 
 impl DeclarationList {
-    fn new() -> DeclarationList {
-        DeclarationList {
-            declarations: HashMap::new(),
-        }
-    }
-
     fn add_declaration(&mut self, declaration: Declaration) {
         match self.declarations.entry(declaration.attribute.clone()) {
             Entry::Occupied(mut e) => {
@@ -125,12 +121,6 @@ impl<'a> Iterator for DeclarationListIter<'a> {
 }
 
 impl CssRules {
-    pub fn new() -> CssRules {
-        CssRules {
-            selectors_to_declarations: HashMap::new(),
-        }
-    }
-
     pub fn parse(&mut self, base_url: Option<&Url>, buf: &str) {
         if buf.len() == 0 {
             return; // libcroco doesn't like empty strings :(
@@ -201,7 +191,7 @@ impl CssRules {
         let decl_list = self
             .selectors_to_declarations
             .entry(selector)
-            .or_insert_with(|| DeclarationList::new());
+            .or_insert_with(|| DeclarationList::default());
 
         decl_list.add_declaration(declaration);
     }
diff --git a/rsvg_internals/src/xml.rs b/rsvg_internals/src/xml.rs
index 9029196d..e93d2ebc 100644
--- a/rsvg_internals/src/xml.rs
+++ b/rsvg_internals/src/xml.rs
@@ -94,7 +94,7 @@ impl XmlState {
         XmlState {
             tree_root: None,
             ids: Some(HashMap::new()),
-            css_rules: Some(CssRules::new()),
+            css_rules: Some(CssRules::default()),
             context_stack: vec![Context::Start],
             current_node: None,
             entities: HashMap::new(),


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]