Hash type ids in Widget::hash_layout impls
This commit is contained in:
parent
0539cd1b85
commit
d07304fb85
15 changed files with 51 additions and 32 deletions
|
|
@ -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>,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue