summaryrefslogtreecommitdiffstats
path: root/native/src/widget/pane_grid.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/pane_grid.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/pane_grid.rs')
-rw-r--r--native/src/widget/pane_grid.rs17
1 files changed, 8 insertions, 9 deletions
diff --git a/native/src/widget/pane_grid.rs b/native/src/widget/pane_grid.rs
index 9699abfc..2eca68d3 100644
--- a/native/src/widget/pane_grid.rs
+++ b/native/src/widget/pane_grid.rs
@@ -80,9 +80,9 @@ pub struct PaneGrid<'a, Message, Renderer> {
height: Length,
spacing: u16,
modifier_keys: keyboard::ModifiersState,
- on_drag: Option<Box<dyn Fn(DragEvent) -> Message>>,
- on_resize: Option<Box<dyn Fn(ResizeEvent) -> Message>>,
- on_key_press: Option<Box<dyn Fn(KeyPressEvent) -> Option<Message>>>,
+ on_drag: Option<Box<dyn Fn(DragEvent) -> Message + 'a>>,
+ on_resize: Option<Box<dyn Fn(ResizeEvent) -> Message + 'a>>,
+ on_key_press: Option<Box<dyn Fn(KeyPressEvent) -> Option<Message> + 'a>>,
}
impl<'a, Message, Renderer> PaneGrid<'a, Message, Renderer> {
@@ -189,7 +189,7 @@ impl<'a, Message, Renderer> PaneGrid<'a, Message, Renderer> {
/// [`PaneGrid`]: struct.PaneGrid.html
pub fn on_drag<F>(mut self, f: F) -> Self
where
- F: 'static + Fn(DragEvent) -> Message,
+ F: 'a + Fn(DragEvent) -> Message,
{
self.on_drag = Some(Box::new(f));
self
@@ -203,7 +203,7 @@ impl<'a, Message, Renderer> PaneGrid<'a, Message, Renderer> {
/// [`PaneGrid`]: struct.PaneGrid.html
pub fn on_resize<F>(mut self, f: F) -> Self
where
- F: 'static + Fn(ResizeEvent) -> Message,
+ F: 'a + Fn(ResizeEvent) -> Message,
{
self.on_resize = Some(Box::new(f));
self
@@ -228,7 +228,7 @@ impl<'a, Message, Renderer> PaneGrid<'a, Message, Renderer> {
/// [`Pane`]: struct.Pane.html
pub fn on_key_press<F>(mut self, f: F) -> Self
where
- F: 'static + Fn(KeyPressEvent) -> Option<Message>,
+ F: 'a + Fn(KeyPressEvent) -> Option<Message>,
{
self.on_key_press = Some(Box::new(f));
self
@@ -349,7 +349,6 @@ impl<'a, Message, Renderer> Widget<Message, Renderer>
for PaneGrid<'a, Message, Renderer>
where
Renderer: 'static + self::Renderer,
- Message: 'static,
{
fn width(&self) -> Length {
self.width
@@ -591,7 +590,7 @@ where
fn hash_layout(&self, state: &mut Hasher) {
use std::hash::Hash;
- std::any::TypeId::of::<PaneGrid<'_, Message, Renderer>>().hash(state);
+ std::any::TypeId::of::<PaneGrid<'_, (), Renderer>>().hash(state);
self.width.hash(state);
self.height.hash(state);
self.state.hash_layout(state);
@@ -637,7 +636,7 @@ impl<'a, Message, Renderer> From<PaneGrid<'a, Message, Renderer>>
for Element<'a, Message, Renderer>
where
Renderer: 'static + self::Renderer,
- Message: 'static,
+ Message: 'a,
{
fn from(
pane_grid: PaneGrid<'a, Message, Renderer>,