summaryrefslogtreecommitdiffstats
path: root/native/src/widget/button.rs
diff options
context:
space:
mode:
authorLibravatar Héctor Ramón Jiménez <hector0193@gmail.com>2020-03-30 17:28:55 +0200
committerLibravatar Héctor Ramón Jiménez <hector0193@gmail.com>2020-03-30 17:28:55 +0200
commitd07304fb85c4ea7293b61c5d0a366ffbbc511de2 (patch)
tree7337c03004fd8addb891385f67ef60f11d3ceee2 /native/src/widget/button.rs
parent0539cd1b85d00a2accca200184a5980527851539 (diff)
downloadiced-d07304fb85c4ea7293b61c5d0a366ffbbc511de2.tar.gz
iced-d07304fb85c4ea7293b61c5d0a366ffbbc511de2.tar.bz2
iced-d07304fb85c4ea7293b61c5d0a366ffbbc511de2.zip
Hash type ids in `Widget::hash_layout` impls
Diffstat (limited to 'native/src/widget/button.rs')
-rw-r--r--native/src/widget/button.rs6
1 files changed, 4 insertions, 2 deletions
diff --git a/native/src/widget/button.rs b/native/src/widget/button.rs
index 24a8bf94..7b5c349c 100644
--- a/native/src/widget/button.rs
+++ b/native/src/widget/button.rs
@@ -143,7 +143,7 @@ impl State {
impl<'a, Message, Renderer> Widget<Message, Renderer>
for Button<'a, Message, Renderer>
where
- Renderer: self::Renderer,
+ Renderer: 'static + self::Renderer,
Message: Clone,
{
fn width(&self) -> Length {
@@ -234,6 +234,8 @@ where
}
fn hash_layout(&self, state: &mut Hasher) {
+ std::any::TypeId::of::<Button<'_, (), Renderer>>().hash(state);
+
self.width.hash(state);
self.content.hash_layout(state);
}
@@ -274,7 +276,7 @@ pub trait Renderer: crate::Renderer + Sized {
impl<'a, Message, Renderer> From<Button<'a, Message, Renderer>>
for Element<'a, Message, Renderer>
where
- Renderer: 'a + self::Renderer,
+ Renderer: 'static + self::Renderer,
Message: 'a + Clone,
{
fn from(