diff --git a/examples/todos/Cargo.toml b/examples/todos/Cargo.toml index 2326ffc6e1..d9916057f7 100644 --- a/examples/todos/Cargo.toml +++ b/examples/todos/Cargo.toml @@ -7,9 +7,9 @@ publish = false [dependencies] iced = { path = "../..", features = ["async-std", "debug"] } +once_cell = "1.15.0" serde = { version = "1.0", features = ["derive"] } serde_json = "1.0" -lazy_static = "1.4" [target.'cfg(not(target_arch = "wasm32"))'.dependencies] async-std = "1.0" diff --git a/examples/todos/src/main.rs b/examples/todos/src/main.rs index bddc0e717b..5214d6ff49 100644 --- a/examples/todos/src/main.rs +++ b/examples/todos/src/main.rs @@ -11,12 +11,10 @@ use iced::window; use iced::{Application, Element}; use iced::{Color, Command, Font, Length, Settings, Subscription}; -use lazy_static::lazy_static; +use once_cell::sync::Lazy; use serde::{Deserialize, Serialize}; -lazy_static! { - static ref INPUT_ID: text_input::Id = text_input::Id::unique(); -} +static INPUT_ID: Lazy = Lazy::new(|| text_input::Id::unique()); pub fn main() -> iced::Result { Todos::run(Settings { diff --git a/examples/websocket/Cargo.toml b/examples/websocket/Cargo.toml index 3981f69983..fcb4dd3fea 100644 --- a/examples/websocket/Cargo.toml +++ b/examples/websocket/Cargo.toml @@ -9,7 +9,7 @@ publish = false iced = { path = "../..", features = ["tokio", "debug"] } iced_native = { path = "../../native" } iced_futures = { path = "../../futures" } -lazy_static = "1.4" +once_cell = "1.15.0" [dependencies.async-tungstenite] version = "0.16" diff --git a/examples/websocket/src/main.rs b/examples/websocket/src/main.rs index 3902e04c82..014698ea4b 100644 --- a/examples/websocket/src/main.rs +++ b/examples/websocket/src/main.rs @@ -8,6 +8,7 @@ use iced::widget::{ use iced::{ Application, Color, Command, Element, Length, Settings, Subscription, Theme, }; +use once_cell::sync::Lazy; pub fn main() -> iced::Result { WebSocket::run(Settings::default()) @@ -165,6 +166,5 @@ impl Default for State { } } -lazy_static::lazy_static! { - static ref MESSAGE_LOG: scrollable::Id = scrollable::Id::unique(); -} +static MESSAGE_LOG: Lazy = + Lazy::new(|| scrollable::Id::unique()); diff --git a/style/Cargo.toml b/style/Cargo.toml index cf9d328b64..4a482a4f44 100644 --- a/style/Cargo.toml +++ b/style/Cargo.toml @@ -18,5 +18,5 @@ features = ["palette"] [dependencies.palette] version = "0.6" -[dependencies.lazy_static] -version = "1.4" +[dependencies.once_cell] +version = "1.15" diff --git a/style/src/theme/palette.rs b/style/src/theme/palette.rs index 81aa9cc7d2..4fb5e4c8ed 100644 --- a/style/src/theme/palette.rs +++ b/style/src/theme/palette.rs @@ -1,6 +1,6 @@ use iced_core::Color; -use lazy_static::lazy_static; +use once_cell::sync::Lazy; use palette::{FromColor, Hsl, Mix, RelativeContrast, Srgb}; #[derive(Debug, Clone, Copy, PartialEq)] @@ -66,11 +66,10 @@ pub struct Extended { pub danger: Danger, } -lazy_static! { - pub static ref EXTENDED_LIGHT: Extended = - Extended::generate(Palette::LIGHT); - pub static ref EXTENDED_DARK: Extended = Extended::generate(Palette::DARK); -} +pub static EXTENDED_LIGHT: Lazy = + Lazy::new(|| Extended::generate(Palette::LIGHT)); +pub static EXTENDED_DARK: Lazy = + Lazy::new(|| Extended::generate(Palette::DARK)); impl Extended { pub fn generate(palette: Palette) -> Self {