From d136b7ce648cde0dcdcc5388d8cb82b3e7e0fc58 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?H=C3=A9ctor=20Ram=C3=B3n=20Jim=C3=A9nez?= Date: Fri, 22 Nov 2019 21:16:40 +0100 Subject: [PATCH] Uncomment missing debug implementations rule --- core/src/lib.rs | 4 ++-- native/src/element.rs | 1 + native/src/lib.rs | 2 +- native/src/renderer/null.rs | 1 + native/src/user_interface.rs | 1 + native/src/widget/button.rs | 15 ++++++++++++++- native/src/widget/checkbox.rs | 1 + native/src/widget/column.rs | 1 + native/src/widget/container.rs | 2 +- native/src/widget/radio.rs | 1 + native/src/widget/row.rs | 2 +- native/src/widget/scrollable.rs | 1 + native/src/widget/slider.rs | 1 + native/src/widget/text_input.rs | 1 + 14 files changed, 28 insertions(+), 6 deletions(-) diff --git a/core/src/lib.rs b/core/src/lib.rs index 6c36e683..65304e8b 100644 --- a/core/src/lib.rs +++ b/core/src/lib.rs @@ -1,11 +1,11 @@ //! The core library of [Iced]. //! +//! ![`iced_core` crate graph](https://github.com/hecrj/iced/blob/cae26cb7bc627f4a5b3bcf1cd023a0c552e8c65e/docs/graphs/core.png?raw=true) +//! //! This library holds basic types that can be reused and re-exported in //! different runtime implementations. For instance, both [`iced_native`] and //! [`iced_web`] are built on top of `iced_core`. //! -//! ![`iced_core` crate graph](https://github.com/hecrj/iced/blob/cae26cb7bc627f4a5b3bcf1cd023a0c552e8c65e/docs/graphs/core.png?raw=true) -//! //! [Iced]: https://github.com/hecrj/iced //! [`iced_native`]: https://github.com/hecrj/iced/tree/master/native //! [`iced_web`]: https://github.com/hecrj/iced/tree/master/web diff --git a/native/src/element.rs b/native/src/element.rs index 5335fdc1..d4237fd0 100644 --- a/native/src/element.rs +++ b/native/src/element.rs @@ -13,6 +13,7 @@ use crate::{ /// [built-in widget]: widget/index.html#built-in-widgets /// [`Widget`]: widget/trait.Widget.html /// [`Element`]: struct.Element.html +#[allow(missing_debug_implementations)] pub struct Element<'a, Message, Renderer> { pub(crate) widget: Box + 'a>, } diff --git a/native/src/lib.rs b/native/src/lib.rs index 57d014b6..4680cbe1 100644 --- a/native/src/lib.rs +++ b/native/src/lib.rs @@ -29,7 +29,7 @@ //! [`Windowed`]: renderer/trait.Windowed.html //! [`UserInterface`]: struct.UserInterface.html #![deny(missing_docs)] -//#![deny(missing_debug_implementations)] +#![deny(missing_debug_implementations)] #![deny(unused_results)] #![deny(unsafe_code)] #![deny(rust_2018_idioms)] diff --git a/native/src/renderer/null.rs b/native/src/renderer/null.rs index 3334e6b6..182f033a 100644 --- a/native/src/renderer/null.rs +++ b/native/src/renderer/null.rs @@ -5,6 +5,7 @@ use crate::{ }; /// A renderer that does nothing. +#[derive(Debug, Clone, Copy)] pub struct Null; impl Renderer for Null { diff --git a/native/src/user_interface.rs b/native/src/user_interface.rs index 00ab8ea8..9833c815 100644 --- a/native/src/user_interface.rs +++ b/native/src/user_interface.rs @@ -10,6 +10,7 @@ use std::hash::Hasher; /// charge of using this type in your system in any way you want. /// /// [`Layout`]: struct.Layout.html +#[allow(missing_debug_implementations)] pub struct UserInterface<'a, Message, Renderer> { hash: u64, root: Element<'a, Message, Renderer>, diff --git a/native/src/widget/button.rs b/native/src/widget/button.rs index 81cb9310..159cd07e 100644 --- a/native/src/widget/button.rs +++ b/native/src/widget/button.rs @@ -12,7 +12,20 @@ use crate::{ }; use std::hash::Hash; -/// A generic widget that produces a message when clicked. +/// A generic widget that produces a message when pressed. +/// +/// ``` +/// # use iced_native::{button, Button}; +/// +/// enum Message { +/// ButtonPressed, +/// } +/// +/// let mut state = button::State::new(); +/// let button = Button::new(&mut state, Text::new("Press me!")) +/// .on_press(Message::ButtonPressed); +/// ``` +#[allow(missing_debug_implementations)] pub struct Button<'a, Message, Renderer> { state: &'a mut State, content: Element<'a, Message, Renderer>, diff --git a/native/src/widget/checkbox.rs b/native/src/widget/checkbox.rs index 8101e6be..655fd0ae 100644 --- a/native/src/widget/checkbox.rs +++ b/native/src/widget/checkbox.rs @@ -25,6 +25,7 @@ use crate::{ /// ``` /// /// ![Checkbox drawn by Coffee's renderer](https://github.com/hecrj/coffee/blob/bda9818f823dfcb8a7ad0ff4940b4d4b387b5208/images/ui/checkbox.png?raw=true) +#[allow(missing_debug_implementations)] pub struct Checkbox { is_checked: bool, on_toggle: Box Message>, diff --git a/native/src/widget/column.rs b/native/src/widget/column.rs index 281437fd..cdcf25af 100644 --- a/native/src/widget/column.rs +++ b/native/src/widget/column.rs @@ -12,6 +12,7 @@ use std::u32; /// A [`Column`] will try to fill the horizontal space of its container. /// /// [`Column`]: struct.Column.html +#[allow(missing_debug_implementations)] pub struct Column<'a, Message, Renderer> { spacing: u16, padding: u16, diff --git a/native/src/widget/container.rs b/native/src/widget/container.rs index 64a5f4da..7852eecf 100644 --- a/native/src/widget/container.rs +++ b/native/src/widget/container.rs @@ -10,7 +10,7 @@ use std::u32; /// An element decorating some content. /// /// It is normally used for alignment purposes. -#[allow(missing_docs)] +#[allow(missing_debug_implementations)] pub struct Container<'a, Message, Renderer> { width: Length, height: Length, diff --git a/native/src/widget/radio.rs b/native/src/widget/radio.rs index 4e48728f..cc642d1c 100644 --- a/native/src/widget/radio.rs +++ b/native/src/widget/radio.rs @@ -33,6 +33,7 @@ use std::hash::Hash; /// ``` /// /// ![Radio buttons drawn by Coffee's renderer](https://github.com/hecrj/coffee/blob/bda9818f823dfcb8a7ad0ff4940b4d4b387b5208/images/ui/radio.png?raw=true) +#[allow(missing_debug_implementations)] pub struct Radio { is_selected: bool, on_click: Message, diff --git a/native/src/widget/row.rs b/native/src/widget/row.rs index 34c7ca7c..c854aff7 100644 --- a/native/src/widget/row.rs +++ b/native/src/widget/row.rs @@ -12,7 +12,7 @@ use std::u32; /// A [`Row`] will try to fill the horizontal space of its container. /// /// [`Row`]: struct.Row.html -#[allow(missing_docs)] +#[allow(missing_debug_implementations)] pub struct Row<'a, Message, Renderer> { spacing: u16, padding: u16, diff --git a/native/src/widget/scrollable.rs b/native/src/widget/scrollable.rs index 7b231b5f..0d745756 100644 --- a/native/src/widget/scrollable.rs +++ b/native/src/widget/scrollable.rs @@ -10,6 +10,7 @@ use std::{f32, hash::Hash, u32}; /// A widget that can vertically display an infinite amount of content with a /// scrollbar. +#[allow(missing_debug_implementations)] pub struct Scrollable<'a, Message, Renderer> { state: &'a mut State, height: Length, diff --git a/native/src/widget/slider.rs b/native/src/widget/slider.rs index fe503c34..49cf0368 100644 --- a/native/src/widget/slider.rs +++ b/native/src/widget/slider.rs @@ -35,6 +35,7 @@ use std::{hash::Hash, ops::RangeInclusive}; /// ``` /// /// ![Slider drawn by Coffee's renderer](https://github.com/hecrj/coffee/blob/bda9818f823dfcb8a7ad0ff4940b4d4b387b5208/images/ui/slider.png?raw=true) +#[allow(missing_debug_implementations)] pub struct Slider<'a, Message> { state: &'a mut State, range: RangeInclusive, diff --git a/native/src/widget/text_input.rs b/native/src/widget/text_input.rs index c3876b1d..fbf144e3 100644 --- a/native/src/widget/text_input.rs +++ b/native/src/widget/text_input.rs @@ -30,6 +30,7 @@ use crate::{ /// Message::TextInputChanged, /// ); /// ``` +#[allow(missing_debug_implementations)] pub struct TextInput<'a, Message> { state: &'a mut State, placeholder: String,