Reduce Copy constraint to Clone in Message

This commit is contained in:
Héctor Ramón Jiménez 2019-11-02 02:15:17 +01:00
parent 1242b334fe
commit c427ce0cec
3 changed files with 8 additions and 8 deletions

View file

@ -217,7 +217,7 @@ where
/// ``` /// ```
pub fn map<F, B>(self, f: F) -> Element<'a, B, Renderer> pub fn map<F, B>(self, f: F) -> Element<'a, B, Renderer>
where where
Message: 'static + Copy, Message: 'static + Clone,
Renderer: 'a, Renderer: 'a,
B: 'static, B: 'static,
F: 'static + Fn(Message) -> B, F: 'static + Fn(Message) -> B,
@ -286,7 +286,7 @@ impl<'a, A, B, Renderer> Map<'a, A, B, Renderer> {
impl<'a, A, B, Renderer> Widget<B, Renderer> for Map<'a, A, B, Renderer> impl<'a, A, B, Renderer> Widget<B, Renderer> for Map<'a, A, B, Renderer>
where where
A: Copy, A: Clone,
Renderer: crate::Renderer, Renderer: crate::Renderer,
{ {
fn node(&self, renderer: &Renderer) -> Node { fn node(&self, renderer: &Renderer) -> Node {

View file

@ -19,7 +19,7 @@ impl<'a, Message, Renderer> Widget<Message, Renderer>
for Button<'a, Message, Renderer> for Button<'a, Message, Renderer>
where where
Renderer: self::Renderer, Renderer: self::Renderer,
Message: Copy + std::fmt::Debug, Message: Clone + std::fmt::Debug,
{ {
fn node(&self, renderer: &Renderer) -> Node { fn node(&self, renderer: &Renderer) -> Node {
renderer.node(&self) renderer.node(&self)
@ -38,7 +38,7 @@ where
button: mouse::Button::Left, button: mouse::Button::Left,
state, state,
}) => { }) => {
if let Some(on_press) = self.on_press { if let Some(on_press) = self.on_press.clone() {
let bounds = layout.bounds(); let bounds = layout.bounds();
match state { match state {
@ -108,7 +108,7 @@ impl<'a, Message, Renderer> From<Button<'a, Message, Renderer>>
for Element<'a, Message, Renderer> for Element<'a, Message, Renderer>
where where
Renderer: 'static + self::Renderer, Renderer: 'static + self::Renderer,
Message: 'static + Copy + std::fmt::Debug, Message: 'static + Clone + std::fmt::Debug,
{ {
fn from( fn from(
button: Button<'a, Message, Renderer>, button: Button<'a, Message, Renderer>,

View file

@ -9,7 +9,7 @@ pub use iced_core::Radio;
impl<Message, Renderer> Widget<Message, Renderer> for Radio<Message> impl<Message, Renderer> Widget<Message, Renderer> for Radio<Message>
where where
Renderer: self::Renderer, Renderer: self::Renderer,
Message: Copy + std::fmt::Debug, Message: Clone + std::fmt::Debug,
{ {
fn node(&self, renderer: &Renderer) -> Node { fn node(&self, renderer: &Renderer) -> Node {
renderer.node(&self) renderer.node(&self)
@ -29,7 +29,7 @@ where
state: ButtonState::Pressed, state: ButtonState::Pressed,
}) => { }) => {
if layout.bounds().contains(cursor_position) { if layout.bounds().contains(cursor_position) {
messages.push(self.on_click); messages.push(self.on_click.clone());
} }
} }
_ => {} _ => {}
@ -85,7 +85,7 @@ impl<'a, Message, Renderer> From<Radio<Message>>
for Element<'a, Message, Renderer> for Element<'a, Message, Renderer>
where where
Renderer: self::Renderer, Renderer: self::Renderer,
Message: 'static + Copy + std::fmt::Debug, Message: 'static + Clone + std::fmt::Debug,
{ {
fn from(checkbox: Radio<Message>) -> Element<'a, Message, Renderer> { fn from(checkbox: Radio<Message>) -> Element<'a, Message, Renderer> {
Element::new(checkbox) Element::new(checkbox)