[librsvg: 6/9] css: derive default for a couple of structs
- From: Federico Mena Quintero <federico src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [librsvg: 6/9] css: derive default for a couple of structs
- Date: Mon, 27 May 2019 14:23:35 +0000 (UTC)
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]