diff options
Diffstat (limited to '')
| -rw-r--r-- | pure/src/lib.rs | 26 | ||||
| -rw-r--r-- | pure/src/widget/button.rs | 10 | ||||
| -rw-r--r-- | pure/src/widget/checkbox.rs | 8 | ||||
| -rw-r--r-- | pure/src/widget/column.rs | 14 | ||||
| -rw-r--r-- | pure/src/widget/image.rs | 8 | ||||
| -rw-r--r-- | pure/src/widget/pick_list.rs | 12 | ||||
| -rw-r--r-- | pure/src/widget/progress_bar.rs | 10 | ||||
| -rw-r--r-- | pure/src/widget/radio.rs | 8 | ||||
| -rw-r--r-- | pure/src/widget/row.rs | 14 | ||||
| -rw-r--r-- | pure/src/widget/rule.rs | 10 | ||||
| -rw-r--r-- | pure/src/widget/space.rs | 8 | ||||
| -rw-r--r-- | pure/src/widget/svg.rs | 6 | ||||
| -rw-r--r-- | pure/src/widget/text.rs | 14 | ||||
| -rw-r--r-- | pure/src/widget/toggler.rs | 8 | 
14 files changed, 88 insertions, 68 deletions
| diff --git a/pure/src/lib.rs b/pure/src/lib.rs index 95aa3098..9c5f3bc8 100644 --- a/pure/src/lib.rs +++ b/pure/src/lib.rs @@ -82,10 +82,18 @@  #![doc(      html_logo_url = "https://raw.githubusercontent.com/iced-rs/iced/9ab6923e943f784985e9ef9ca28b10278297225d/docs/logo.svg"  )] -#![deny(missing_docs)] -#![deny(unused_results)] -#![forbid(unsafe_code)] -#![forbid(rust_2018_idioms)] +#![deny( +    missing_docs, +    unused_results, +    clippy::extra_unused_lifetimes, +    clippy::from_over_into, +    clippy::needless_borrow, +    clippy::new_without_default, +    clippy::useless_conversion +)] +#![forbid(rust_2018_idioms, unsafe_code)] +#![allow(clippy::inherent_to_string, clippy::type_complexity)] +#![cfg_attr(docsrs, feature(doc_cfg))]  pub mod flex;  pub mod helpers; @@ -146,7 +154,7 @@ where          content: impl Into<Element<'a, Message, Renderer>>,      ) -> Self {          let element = content.into(); -        let _ = state.diff(&element); +        state.diff(&element);          Self { state, element }      } @@ -272,13 +280,13 @@ where      }  } -impl<'a, Message, Renderer> Into<iced_native::Element<'a, Message, Renderer>> -    for Pure<'a, Message, Renderer> +impl<'a, Message, Renderer> From<Pure<'a, Message, Renderer>> +    for iced_native::Element<'a, Message, Renderer>  where      Message: 'a,      Renderer: iced_native::Renderer + 'a,  { -    fn into(self) -> iced_native::Element<'a, Message, Renderer> { -        iced_native::Element::new(self) +    fn from(pure: Pure<'a, Message, Renderer>) -> Self { +        Self::new(pure)      }  } diff --git a/pure/src/widget/button.rs b/pure/src/widget/button.rs index dd7688e2..eb174e57 100644 --- a/pure/src/widget/button.rs +++ b/pure/src/widget/button.rs @@ -159,7 +159,7 @@ where              self.height,              self.padding,              |renderer, limits| { -                self.content.as_widget().layout(renderer, &limits) +                self.content.as_widget().layout(renderer, limits)              },          )      } @@ -261,14 +261,14 @@ where      }  } -impl<'a, Message, Renderer> Into<Element<'a, Message, Renderer>> -    for Button<'a, Message, Renderer> +impl<'a, Message, Renderer> From<Button<'a, Message, Renderer>> +    for Element<'a, Message, Renderer>  where      Message: Clone + 'a,      Renderer: iced_native::Renderer + 'a,      Renderer::Theme: StyleSheet,  { -    fn into(self) -> Element<'a, Message, Renderer> { -        Element::new(self) +    fn from(button: Button<'a, Message, Renderer>) -> Self { +        Self::new(button)      }  } diff --git a/pure/src/widget/checkbox.rs b/pure/src/widget/checkbox.rs index 9d6a78ce..e0f9b764 100644 --- a/pure/src/widget/checkbox.rs +++ b/pure/src/widget/checkbox.rs @@ -96,14 +96,14 @@ where      }  } -impl<'a, Message, Renderer> Into<Element<'a, Message, Renderer>> -    for Checkbox<'a, Message, Renderer> +impl<'a, Message, Renderer> From<Checkbox<'a, Message, Renderer>> +    for Element<'a, Message, Renderer>  where      Message: 'a,      Renderer: text::Renderer + 'a,      Renderer::Theme: StyleSheet + widget::text::StyleSheet,  { -    fn into(self) -> Element<'a, Message, Renderer> { -        Element::new(self) +    fn from(checkbox: Checkbox<'a, Message, Renderer>) -> Self { +        Self::new(checkbox)      }  } diff --git a/pure/src/widget/column.rs b/pure/src/widget/column.rs index 74d789a1..027eff0a 100644 --- a/pure/src/widget/column.rs +++ b/pure/src/widget/column.rs @@ -95,6 +95,12 @@ impl<'a, Message, Renderer> Column<'a, Message, Renderer> {      }  } +impl<'a, Message, Renderer> Default for Column<'a, Message, Renderer> { +    fn default() -> Self { +        Self::new() +    } +} +  impl<'a, Message, Renderer> Widget<Message, Renderer>      for Column<'a, Message, Renderer>  where @@ -228,13 +234,13 @@ where      }  } -impl<'a, Message, Renderer> Into<Element<'a, Message, Renderer>> -    for Column<'a, Message, Renderer> +impl<'a, Message, Renderer> From<Column<'a, Message, Renderer>> +    for Element<'a, Message, Renderer>  where      Message: 'a,      Renderer: iced_native::Renderer + 'a,  { -    fn into(self) -> Element<'a, Message, Renderer> { -        Element::new(self) +    fn from(column: Column<'a, Message, Renderer>) -> Self { +        Self::new(column)      }  } diff --git a/pure/src/widget/image.rs b/pure/src/widget/image.rs index c42113dc..58f81a6f 100644 --- a/pure/src/widget/image.rs +++ b/pure/src/widget/image.rs @@ -56,14 +56,14 @@ where      }  } -impl<'a, Message, Renderer, Handle> Into<Element<'a, Message, Renderer>> -    for Image<Handle> +impl<'a, Message, Renderer, Handle> From<Image<Handle>> +    for Element<'a, Message, Renderer>  where      Message: Clone + 'a,      Renderer: iced_native::image::Renderer<Handle = Handle> + 'a,      Handle: Clone + Hash + 'a,  { -    fn into(self) -> Element<'a, Message, Renderer> { -        Element::new(self) +    fn from(image: Image<Handle>) -> Self { +        Self::new(image)      }  } diff --git a/pure/src/widget/pick_list.rs b/pure/src/widget/pick_list.rs index 2c465932..9264544a 100644 --- a/pure/src/widget/pick_list.rs +++ b/pure/src/widget/pick_list.rs @@ -143,7 +143,7 @@ where              self.padding,              self.text_size,              &self.font, -            self.placeholder.as_ref().map(String::as_str), +            self.placeholder.as_deref(),              &self.options,          )      } @@ -199,7 +199,7 @@ where              self.padding,              self.text_size,              &self.font, -            self.placeholder.as_ref().map(String::as_str), +            self.placeholder.as_deref(),              self.selected.as_ref(),              self.style,          ) @@ -225,8 +225,8 @@ where      }  } -impl<'a, T: 'a, Message, Renderer> Into<Element<'a, Message, Renderer>> -    for PickList<'a, T, Message, Renderer> +impl<'a, T: 'a, Message, Renderer> From<PickList<'a, T, Message, Renderer>> +    for Element<'a, Message, Renderer>  where      T: Clone + ToString + Eq + 'static,      [T]: ToOwned<Owned = Vec<T>>, @@ -234,7 +234,7 @@ where      Renderer: text::Renderer + 'a,      Renderer::Theme: StyleSheet,  { -    fn into(self) -> Element<'a, Message, Renderer> { -        Element::new(self) +    fn from(pick_list: PickList<'a, T, Message, Renderer>) -> Self { +        Self::new(pick_list)      }  } diff --git a/pure/src/widget/progress_bar.rs b/pure/src/widget/progress_bar.rs index 69c7d302..c9644853 100644 --- a/pure/src/widget/progress_bar.rs +++ b/pure/src/widget/progress_bar.rs @@ -10,7 +10,7 @@ use iced_native::{Clipboard, Length, Point, Rectangle, Shell};  pub use iced_native::widget::progress_bar::*; -impl<'a, Message, Renderer> Widget<Message, Renderer> for ProgressBar<Renderer> +impl<Message, Renderer> Widget<Message, Renderer> for ProgressBar<Renderer>  where      Renderer: iced_native::Renderer,      Renderer::Theme: StyleSheet, @@ -93,13 +93,13 @@ where      }  } -impl<'a, Message, Renderer> Into<Element<'a, Message, Renderer>> -    for ProgressBar<Renderer> +impl<'a, Message, Renderer> From<ProgressBar<Renderer>> +    for Element<'a, Message, Renderer>  where      Renderer: iced_native::Renderer + 'a,      Renderer::Theme: StyleSheet,  { -    fn into(self) -> Element<'a, Message, Renderer> { -        Element::new(self) +    fn from(progress_bar: ProgressBar<Renderer>) -> Self { +        Self::new(progress_bar)      }  } diff --git a/pure/src/widget/radio.rs b/pure/src/widget/radio.rs index 7a6ffbac..604c2785 100644 --- a/pure/src/widget/radio.rs +++ b/pure/src/widget/radio.rs @@ -96,14 +96,14 @@ where      }  } -impl<'a, Message, Renderer> Into<Element<'a, Message, Renderer>> -    for Radio<Message, Renderer> +impl<'a, Message, Renderer> From<Radio<Message, Renderer>> +    for Element<'a, Message, Renderer>  where      Message: 'a + Clone,      Renderer: text::Renderer + 'a,      Renderer::Theme: StyleSheet + widget::text::StyleSheet,  { -    fn into(self) -> Element<'a, Message, Renderer> { -        Element::new(self) +    fn from(radio: Radio<Message, Renderer>) -> Self { +        Self::new(radio)      }  } diff --git a/pure/src/widget/row.rs b/pure/src/widget/row.rs index e747adfc..a288a68d 100644 --- a/pure/src/widget/row.rs +++ b/pure/src/widget/row.rs @@ -85,6 +85,12 @@ impl<'a, Message, Renderer> Row<'a, Message, Renderer> {      }  } +impl<'a, Message, Renderer> Default for Row<'a, Message, Renderer> { +    fn default() -> Self { +        Self::new() +    } +} +  impl<'a, Message, Renderer> Widget<Message, Renderer>      for Row<'a, Message, Renderer>  where @@ -215,13 +221,13 @@ where      }  } -impl<'a, Message, Renderer> Into<Element<'a, Message, Renderer>> -    for Row<'a, Message, Renderer> +impl<'a, Message, Renderer> From<Row<'a, Message, Renderer>> +    for Element<'a, Message, Renderer>  where      Message: 'a,      Renderer: iced_native::Renderer + 'a,  { -    fn into(self) -> Element<'a, Message, Renderer> { -        Element::new(self) +    fn from(row: Row<'a, Message, Renderer>) -> Self { +        Self::new(row)      }  } diff --git a/pure/src/widget/rule.rs b/pure/src/widget/rule.rs index 66a47653..0fb4ebab 100644 --- a/pure/src/widget/rule.rs +++ b/pure/src/widget/rule.rs @@ -10,7 +10,7 @@ use iced_native::{Clipboard, Length, Point, Rectangle, Shell};  pub use iced_native::widget::rule::*; -impl<'a, Message, Renderer> Widget<Message, Renderer> for Rule<Renderer> +impl<Message, Renderer> Widget<Message, Renderer> for Rule<Renderer>  where      Renderer: iced_native::Renderer,      Renderer::Theme: StyleSheet, @@ -93,13 +93,13 @@ where      }  } -impl<'a, Message, Renderer> Into<Element<'a, Message, Renderer>> -    for Rule<Renderer> +impl<'a, Message, Renderer> From<Rule<Renderer>> +    for Element<'a, Message, Renderer>  where      Renderer: iced_native::Renderer + 'a,      Renderer::Theme: StyleSheet,  { -    fn into(self) -> Element<'a, Message, Renderer> { -        Element::new(self) +    fn from(rule: Rule<Renderer>) -> Self { +        Self::new(rule)      }  } diff --git a/pure/src/widget/space.rs b/pure/src/widget/space.rs index 7d95ebd7..408cb647 100644 --- a/pure/src/widget/space.rs +++ b/pure/src/widget/space.rs @@ -9,7 +9,7 @@ use iced_native::{Clipboard, Length, Point, Rectangle, Shell};  pub use iced_native::widget::Space; -impl<'a, Message, Renderer> Widget<Message, Renderer> for Space +impl<Message, Renderer> Widget<Message, Renderer> for Space  where      Renderer: iced_native::Renderer,  { @@ -91,11 +91,11 @@ where      }  } -impl<'a, Message, Renderer> Into<Element<'a, Message, Renderer>> for Space +impl<'a, Message, Renderer> From<Space> for Element<'a, Message, Renderer>  where      Renderer: iced_native::Renderer + 'a,  { -    fn into(self) -> Element<'a, Message, Renderer> { -        Element::new(self) +    fn from(space: Space) -> Self { +        Self::new(space)      }  } diff --git a/pure/src/widget/svg.rs b/pure/src/widget/svg.rs index 501d9bfa..ae4e8cff 100644 --- a/pure/src/widget/svg.rs +++ b/pure/src/widget/svg.rs @@ -54,12 +54,12 @@ where      }  } -impl<'a, Message, Renderer> Into<Element<'a, Message, Renderer>> for Svg +impl<'a, Message, Renderer> From<Svg> for Element<'a, Message, Renderer>  where      Message: Clone + 'a,      Renderer: iced_native::svg::Renderer + 'a,  { -    fn into(self) -> Element<'a, Message, Renderer> { -        Element::new(self) +    fn from(svg: Svg) -> Self { +        Self::new(svg)      }  } diff --git a/pure/src/widget/text.rs b/pure/src/widget/text.rs index 23999a2c..7c6f6ce9 100644 --- a/pure/src/widget/text.rs +++ b/pure/src/widget/text.rs @@ -55,23 +55,23 @@ where      }  } -impl<'a, Message, Renderer> Into<Element<'a, Message, Renderer>> -    for Text<Renderer> +impl<'a, Message, Renderer> From<Text<Renderer>> +    for Element<'a, Message, Renderer>  where      Renderer: text::Renderer + 'a,      Renderer::Theme: widget::text::StyleSheet,  { -    fn into(self) -> Element<'a, Message, Renderer> { -        Element::new(self) +    fn from(text: Text<Renderer>) -> Self { +        Self::new(text)      }  } -impl<'a, Message, Renderer> Into<Element<'a, Message, Renderer>> for &'a str +impl<'a, Message, Renderer> From<&'a str> for Element<'a, Message, Renderer>  where      Renderer: text::Renderer + 'a,      Renderer::Theme: widget::text::StyleSheet,  { -    fn into(self) -> Element<'a, Message, Renderer> { -        Text::new(self).into() +    fn from(contents: &'a str) -> Self { +        Text::new(contents).into()      }  } diff --git a/pure/src/widget/toggler.rs b/pure/src/widget/toggler.rs index 5efa39ab..8d0044d2 100644 --- a/pure/src/widget/toggler.rs +++ b/pure/src/widget/toggler.rs @@ -96,14 +96,14 @@ where      }  } -impl<'a, Message, Renderer> Into<Element<'a, Message, Renderer>> -    for Toggler<'a, Message, Renderer> +impl<'a, Message, Renderer> From<Toggler<'a, Message, Renderer>> +    for Element<'a, Message, Renderer>  where      Message: 'a,      Renderer: text::Renderer + 'a,      Renderer::Theme: StyleSheet + widget::text::StyleSheet,  { -    fn into(self) -> Element<'a, Message, Renderer> { -        Element::new(self) +    fn from(toggler: Toggler<'a, Message, Renderer>) -> Self { +        Self::new(toggler)      }  } | 
