[librsvg] (#503): Add "dyn SomeTrait" where rust 1.39 warns about it missing



commit a3e68a8bf43875ef0a5b279fca30e21dd5c512ce
Author: Federico Mena Quintero <federico gnome org>
Date:   Tue Sep 3 09:28:13 2019 -0500

    (#503): Add "dyn SomeTrait" where rust 1.39 warns about it missing

 rsvg_internals/src/drawing_ctx.rs   | 6 +++---
 rsvg_internals/src/filters/error.rs | 2 +-
 rsvg_internals/src/filters/mod.rs   | 2 +-
 rsvg_internals/src/node.rs          | 8 ++++----
 4 files changed, 9 insertions(+), 9 deletions(-)
---
diff --git a/rsvg_internals/src/drawing_ctx.rs b/rsvg_internals/src/drawing_ctx.rs
index 36da8957..ad06bef7 100644
--- a/rsvg_internals/src/drawing_ctx.rs
+++ b/rsvg_internals/src/drawing_ctx.rs
@@ -395,7 +395,7 @@ impl DrawingCtx {
         node: &RsvgNode,
         values: &ComputedValues,
         clipping: bool,
-        draw_fn: &mut FnMut(&mut DrawingCtx) -> Result<(), RenderingError>,
+        draw_fn: &mut dyn FnMut(&mut DrawingCtx) -> Result<(), RenderingError>,
     ) -> Result<(), RenderingError> {
         if clipping {
             draw_fn(self)
@@ -541,7 +541,7 @@ impl DrawingCtx {
     /// was set by the `draw_fn`.
     pub fn with_saved_matrix(
         &mut self,
-        draw_fn: &mut FnMut(&mut DrawingCtx) -> Result<(), RenderingError>,
+        draw_fn: &mut dyn FnMut(&mut DrawingCtx) -> Result<(), RenderingError>,
     ) -> Result<(), RenderingError> {
         let matrix = self.cr.get_matrix();
         let res = draw_fn(self);
@@ -552,7 +552,7 @@ impl DrawingCtx {
     /// Saves the current Cairo context, runs the draw_fn, and restores the context
     pub fn with_saved_cr(
         &mut self,
-        draw_fn: &mut FnMut(&mut DrawingCtx) -> Result<(), RenderingError>,
+        draw_fn: &mut dyn FnMut(&mut DrawingCtx) -> Result<(), RenderingError>,
     ) -> Result<(), RenderingError> {
         self.cr.save();
         let res = draw_fn(self);
diff --git a/rsvg_internals/src/filters/error.rs b/rsvg_internals/src/filters/error.rs
index 2a4599fe..3974b0b9 100644
--- a/rsvg_internals/src/filters/error.rs
+++ b/rsvg_internals/src/filters/error.rs
@@ -39,7 +39,7 @@ impl Error for FilterError {
     }
 
     #[inline]
-    fn cause(&self) -> Option<&Error> {
+    fn cause(&self) -> Option<&dyn Error> {
         None
     }
 }
diff --git a/rsvg_internals/src/filters/mod.rs b/rsvg_internals/src/filters/mod.rs
index 067d9dd6..777d540a 100644
--- a/rsvg_internals/src/filters/mod.rs
+++ b/rsvg_internals/src/filters/mod.rs
@@ -54,7 +54,7 @@ pub trait Filter: NodeTrait {
 
 macro_rules! impl_node_as_filter {
     () => (
-        fn as_filter(&self) -> Option<&Filter> {
+        fn as_filter(&self) -> Option<&dyn Filter> {
             Some(self)
         }
     )
diff --git a/rsvg_internals/src/node.rs b/rsvg_internals/src/node.rs
index 01dec01f..1e389bf4 100644
--- a/rsvg_internals/src/node.rs
+++ b/rsvg_internals/src/node.rs
@@ -34,7 +34,7 @@ pub struct NodeData {
     values: ComputedValues,
     cond: bool,
     style_attr: String,
-    node_impl: Box<NodeTrait>,
+    node_impl: Box<dyn NodeTrait>,
 }
 
 impl NodeData {
@@ -43,7 +43,7 @@ impl NodeData {
         element_name: LocalName,
         id: Option<&str>,
         class: Option<&str>,
-        node_impl: Box<NodeTrait>,
+        node_impl: Box<dyn NodeTrait>,
     ) -> NodeData {
         NodeData {
             node_type,
@@ -61,7 +61,7 @@ impl NodeData {
         }
     }
 
-    pub fn get_node_trait(&self) -> &NodeTrait {
+    pub fn get_node_trait(&self) -> &dyn NodeTrait {
         self.node_impl.as_ref()
     }
 
@@ -363,7 +363,7 @@ pub trait NodeTrait: Downcast {
     }
 
     /// Returns the Filter trait if this node is a filter primitive
-    fn as_filter(&self) -> Option<&Filter> {
+    fn as_filter(&self) -> Option<&dyn Filter> {
         None
     }
 }


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