diff options
author | 2022-05-06 23:35:13 +0200 | |
---|---|---|
committer | 2022-05-06 23:35:13 +0200 | |
commit | 59aeb20600661e55e59223a309146eea68b4c32f (patch) | |
tree | ec422ae7cb7cb25b5ed8fda642f43fa09a879b5d /pure/src/element.rs | |
parent | f1c1d519c5be7f9f0bbd32b22635659a803425e2 (diff) | |
download | iced-59aeb20600661e55e59223a309146eea68b4c32f.tar.gz iced-59aeb20600661e55e59223a309146eea68b4c32f.tar.bz2 iced-59aeb20600661e55e59223a309146eea68b4c32f.zip |
Use `Borrow` instead of `AsRef` to allow easier casting
Diffstat (limited to 'pure/src/element.rs')
-rw-r--r-- | pure/src/element.rs | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/pure/src/element.rs b/pure/src/element.rs index 5b5038c8..5450db20 100644 --- a/pure/src/element.rs +++ b/pure/src/element.rs @@ -8,6 +8,8 @@ use iced_native::mouse; use iced_native::renderer; use iced_native::{Clipboard, Length, Point, Rectangle, Shell}; +use std::borrow::Borrow; + /// A generic [`Widget`]. /// /// It is useful to build composable user interfaces that do not leak @@ -322,10 +324,18 @@ where } } -impl<'a, Message, Renderer> AsRef<dyn Widget<Message, Renderer> + 'a> +impl<'a, Message, Renderer> Borrow<dyn Widget<Message, Renderer> + 'a> for Element<'a, Message, Renderer> { - fn as_ref(&self) -> &(dyn Widget<Message, Renderer> + 'a) { - self.widget.as_ref() + fn borrow(&self) -> &(dyn Widget<Message, Renderer> + 'a) { + self.widget.borrow() + } +} + +impl<'a, Message, Renderer> Borrow<dyn Widget<Message, Renderer> + 'a> + for &Element<'a, Message, Renderer> +{ + fn borrow(&self) -> &(dyn Widget<Message, Renderer> + 'a) { + self.widget.borrow() } } |