diff options
Diffstat (limited to 'widget/src/lazy')
| -rw-r--r-- | widget/src/lazy/component.rs | 7 | ||||
| -rw-r--r-- | widget/src/lazy/helpers.rs | 12 | ||||
| -rw-r--r-- | widget/src/lazy/responsive.rs | 1 | 
3 files changed, 18 insertions, 2 deletions
| diff --git a/widget/src/lazy/component.rs b/widget/src/lazy/component.rs index 1bf04195..659bc476 100644 --- a/widget/src/lazy/component.rs +++ b/widget/src/lazy/component.rs @@ -1,4 +1,5 @@  //! Build and reuse custom widgets using The Elm Architecture. +#![allow(deprecated)]  use crate::core::event;  use crate::core::layout::{self, Layout};  use crate::core::mouse; @@ -30,6 +31,12 @@ use std::rc::Rc;  ///  /// Additionally, a [`Component`] is capable of producing a `Message` to notify  /// the parent application of any relevant interactions. +#[cfg(feature = "lazy")] +#[deprecated( +    since = "0.13.0", +    note = "components introduce encapsulated state and hamper the use of a single source of truth. \ +    Instead, leverage the Elm Architecture directly, or implement a custom widget" +)]  pub trait Component<Message, Theme = crate::Theme, Renderer = crate::Renderer> {      /// The internal state of this [`Component`].      type State: Default; diff --git a/widget/src/lazy/helpers.rs b/widget/src/lazy/helpers.rs index 4d0776ca..52e690ff 100644 --- a/widget/src/lazy/helpers.rs +++ b/widget/src/lazy/helpers.rs @@ -1,9 +1,11 @@  use crate::core::{self, Element, Size}; -use crate::lazy::component::{self, Component}; -use crate::lazy::{Lazy, Responsive}; +use crate::lazy::component;  use std::hash::Hash; +#[allow(deprecated)] +pub use crate::lazy::{Component, Lazy, Responsive}; +  /// Creates a new [`Lazy`] widget with the given data `Dependency` and a  /// closure that can turn this data into a widget tree.  #[cfg(feature = "lazy")] @@ -21,6 +23,12 @@ where  /// Turns an implementor of [`Component`] into an [`Element`] that can be  /// embedded in any application.  #[cfg(feature = "lazy")] +#[deprecated( +    since = "0.13.0", +    note = "components introduce encapsulated state and hamper the use of a single source of truth. \ +    Instead, leverage the Elm Architecture directly, or implement a custom widget" +)] +#[allow(deprecated)]  pub fn component<'a, C, Message, Theme, Renderer>(      component: C,  ) -> Element<'a, Message, Theme, Renderer> diff --git a/widget/src/lazy/responsive.rs b/widget/src/lazy/responsive.rs index 2e24f2b3..dbf281f3 100644 --- a/widget/src/lazy/responsive.rs +++ b/widget/src/lazy/responsive.rs @@ -21,6 +21,7 @@ use std::ops::Deref;  ///  /// A [`Responsive`] widget will always try to fill all the available space of  /// its parent. +#[cfg(feature = "lazy")]  #[allow(missing_debug_implementations)]  pub struct Responsive<      'a, | 
