summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.github/workflows/audit.yml16
-rw-r--r--Cargo.toml2
-rw-r--r--core/Cargo.toml2
-rw-r--r--examples/clock/Cargo.toml2
-rw-r--r--examples/clock/src/main.rs23
-rw-r--r--examples/download_progress/Cargo.toml6
-rw-r--r--examples/pokedex/Cargo.toml7
-rw-r--r--futures/Cargo.toml6
-rw-r--r--futures/src/executor.rs6
-rw-r--r--futures/src/executor/tokio_old.rs21
-rw-r--r--futures/src/lib.rs7
-rw-r--r--futures/src/time.rs24
-rw-r--r--src/executor.rs17
-rw-r--r--src/lib.rs8
14 files changed, 53 insertions, 94 deletions
diff --git a/.github/workflows/audit.yml b/.github/workflows/audit.yml
new file mode 100644
index 00000000..2ffa10a8
--- /dev/null
+++ b/.github/workflows/audit.yml
@@ -0,0 +1,16 @@
+name: Audit
+on: [push]
+jobs:
+ dependencies:
+ runs-on: ubuntu-latest
+ steps:
+ - uses: hecrj/setup-rust-action@v1
+ - name: Install cargo-audit
+ run: cargo install cargo-audit
+ - uses: actions/checkout@master
+ - name: Manually update `nix` crates # See https://github.com/nix-rust/nix/issues/1627
+ run: |
+ cargo update --package nix:0.20.0 --precise 0.20.2
+ cargo update --package nix:0.22.0 --precise 0.22.2
+ - name: Audit dependencies
+ run: cargo audit
diff --git a/Cargo.toml b/Cargo.toml
index 9bc1b90c..bb50888a 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -38,8 +38,6 @@ glow_default_system_font = ["iced_glow/default_system_font"]
debug = ["iced_winit/debug"]
# Enables `tokio` as the `executor::Default` on native platforms
tokio = ["iced_futures/tokio"]
-# Enables old `tokio` (0.2) as the `executor::Default` on native platforms
-tokio_old = ["iced_futures/tokio_old"]
# Enables `async-std` as the `executor::Default` on native platforms
async-std = ["iced_futures/async-std"]
# Enables `smol` as the `executor::Default` on native platforms
diff --git a/core/Cargo.toml b/core/Cargo.toml
index 7e623fe2..ca28c308 100644
--- a/core/Cargo.toml
+++ b/core/Cargo.toml
@@ -11,5 +11,5 @@ repository = "https://github.com/iced-rs/iced"
bitflags = "1.2"
[dependencies.palette]
-version = "0.5.0"
+version = "0.5"
optional = true
diff --git a/examples/clock/Cargo.toml b/examples/clock/Cargo.toml
index c6e32379..29457c0d 100644
--- a/examples/clock/Cargo.toml
+++ b/examples/clock/Cargo.toml
@@ -7,4 +7,4 @@ publish = false
[dependencies]
iced = { path = "../..", features = ["canvas", "tokio", "debug"] }
-chrono = "0.4"
+time = { version = "0.3.5", features = ["local-offset"] }
diff --git a/examples/clock/src/main.rs b/examples/clock/src/main.rs
index b317ac00..de9e879a 100644
--- a/examples/clock/src/main.rs
+++ b/examples/clock/src/main.rs
@@ -1,7 +1,7 @@
use iced::{
canvas::{self, Cache, Canvas, Cursor, Geometry, LineCap, Path, Stroke},
- executor, time, Application, Color, Command, Container, Element, Length,
- Point, Rectangle, Settings, Subscription, Vector,
+ executor, Application, Color, Command, Container, Element, Length, Point,
+ Rectangle, Settings, Subscription, Vector,
};
pub fn main() -> iced::Result {
@@ -12,13 +12,13 @@ pub fn main() -> iced::Result {
}
struct Clock {
- now: chrono::DateTime<chrono::Local>,
+ now: time::OffsetDateTime,
clock: Cache,
}
#[derive(Debug, Clone, Copy)]
enum Message {
- Tick(chrono::DateTime<chrono::Local>),
+ Tick(time::OffsetDateTime),
}
impl Application for Clock {
@@ -29,7 +29,8 @@ impl Application for Clock {
fn new(_flags: ()) -> (Self, Command<Message>) {
(
Clock {
- now: chrono::Local::now(),
+ now: time::OffsetDateTime::now_local()
+ .unwrap_or_else(|_| time::OffsetDateTime::now_utc()),
clock: Default::default(),
},
Command::none(),
@@ -56,8 +57,12 @@ impl Application for Clock {
}
fn subscription(&self) -> Subscription<Message> {
- time::every(std::time::Duration::from_millis(500))
- .map(|_| Message::Tick(chrono::Local::now()))
+ iced::time::every(std::time::Duration::from_millis(500)).map(|_| {
+ Message::Tick(
+ time::OffsetDateTime::now_local()
+ .unwrap_or_else(|_| time::OffsetDateTime::now_utc()),
+ )
+ })
}
fn view(&mut self) -> Element<Message> {
@@ -77,8 +82,6 @@ impl Application for Clock {
impl canvas::Program<Message> for Clock {
fn draw(&self, bounds: Rectangle, _cursor: Cursor) -> Vec<Geometry> {
- use chrono::Timelike;
-
let clock = self.clock.draw(bounds.size(), |frame| {
let center = frame.center();
let radius = frame.width().min(frame.height()) / 2.0;
@@ -126,7 +129,7 @@ impl canvas::Program<Message> for Clock {
}
}
-fn hand_rotation(n: u32, total: u32) -> f32 {
+fn hand_rotation(n: u8, total: u8) -> f32 {
let turns = n as f32 / total as f32;
2.0 * std::f32::consts::PI * turns
diff --git a/examples/download_progress/Cargo.toml b/examples/download_progress/Cargo.toml
index d3c578b1..5f5eed68 100644
--- a/examples/download_progress/Cargo.toml
+++ b/examples/download_progress/Cargo.toml
@@ -9,4 +9,8 @@ publish = false
iced = { path = "../..", features = ["tokio"] }
iced_native = { path = "../../native" }
iced_futures = { path = "../../futures" }
-reqwest = "0.11"
+
+[dependencies.reqwest]
+version = "0.11"
+default-features = false
+features = ["rustls-tls"]
diff --git a/examples/pokedex/Cargo.toml b/examples/pokedex/Cargo.toml
index 05e73992..c64cc85c 100644
--- a/examples/pokedex/Cargo.toml
+++ b/examples/pokedex/Cargo.toml
@@ -6,7 +6,7 @@ edition = "2018"
publish = false
[dependencies]
-iced = { path = "../..", features = ["image", "debug", "tokio_old"] }
+iced = { path = "../..", features = ["image", "debug", "tokio"] }
serde_json = "1.0"
[dependencies.serde]
@@ -14,8 +14,9 @@ version = "1.0"
features = ["derive"]
[dependencies.reqwest]
-version = "0.10.2"
-features = ["json"]
+version = "0.11"
+default-features = false
+features = ["json", "rustls-tls"]
[dependencies.rand]
version = "0.7"
diff --git a/futures/Cargo.toml b/futures/Cargo.toml
index cdae72e7..aa55df1e 100644
--- a/futures/Cargo.toml
+++ b/futures/Cargo.toml
@@ -19,12 +19,6 @@ log = "0.4"
[dependencies.futures]
version = "0.3"
-[target.'cfg(not(target_arch = "wasm32"))'.dependencies.tokio_old]
-package = "tokio"
-version = "0.2"
-optional = true
-features = ["rt-core", "rt-threaded", "time", "stream"]
-
[target.'cfg(not(target_arch = "wasm32"))'.dependencies.tokio]
package = "tokio"
version = "1.0"
diff --git a/futures/src/executor.rs b/futures/src/executor.rs
index b35b5bc1..23682f32 100644
--- a/futures/src/executor.rs
+++ b/futures/src/executor.rs
@@ -7,9 +7,6 @@ mod thread_pool;
#[cfg(all(not(target_arch = "wasm32"), feature = "tokio"))]
mod tokio;
-#[cfg(all(not(target_arch = "wasm32"), feature = "tokio_old"))]
-mod tokio_old;
-
#[cfg(all(not(target_arch = "wasm32"), feature = "async-std"))]
mod async_std;
@@ -27,9 +24,6 @@ pub use thread_pool::ThreadPool;
#[cfg(all(not(target_arch = "wasm32"), feature = "tokio"))]
pub use self::tokio::Tokio;
-#[cfg(all(not(target_arch = "wasm32"), feature = "tokio_old"))]
-pub use self::tokio_old::TokioOld;
-
#[cfg(all(not(target_arch = "wasm32"), feature = "async-std"))]
pub use self::async_std::AsyncStd;
diff --git a/futures/src/executor/tokio_old.rs b/futures/src/executor/tokio_old.rs
deleted file mode 100644
index d64729fa..00000000
--- a/futures/src/executor/tokio_old.rs
+++ /dev/null
@@ -1,21 +0,0 @@
-use crate::Executor;
-
-use futures::Future;
-
-/// An old `tokio` runtime.
-#[cfg_attr(docsrs, doc(cfg(feature = "tokio_old")))]
-pub type TokioOld = tokio_old::runtime::Runtime;
-
-impl Executor for TokioOld {
- fn new() -> Result<Self, futures::io::Error> {
- tokio_old::runtime::Runtime::new()
- }
-
- fn spawn(&self, future: impl Future<Output = ()> + Send + 'static) {
- let _ = tokio_old::runtime::Runtime::spawn(self, future);
- }
-
- fn enter<R>(&self, f: impl FnOnce() -> R) -> R {
- tokio_old::runtime::Runtime::enter(self, f)
- }
-}
diff --git a/futures/src/lib.rs b/futures/src/lib.rs
index ddb56341..dbcb8aca 100644
--- a/futures/src/lib.rs
+++ b/futures/src/lib.rs
@@ -20,12 +20,7 @@ pub mod executor;
pub mod subscription;
#[cfg(all(
- any(
- feature = "tokio",
- feature = "tokio_old",
- feature = "async-std",
- feature = "smol"
- ),
+ any(feature = "tokio", feature = "async-std", feature = "smol"),
not(target_arch = "wasm32")
))]
#[cfg_attr(
diff --git a/futures/src/time.rs b/futures/src/time.rs
index 86b4a4e7..0ece6f04 100644
--- a/futures/src/time.rs
+++ b/futures/src/time.rs
@@ -14,7 +14,7 @@ pub fn every<H: std::hash::Hasher, E>(
struct Every(std::time::Duration);
#[cfg(all(
- not(any(feature = "tokio_old", feature = "tokio", feature = "async-std")),
+ not(any(feature = "tokio", feature = "async-std")),
feature = "smol"
))]
impl<H, E> subscription::Recipe<H, E> for Every
@@ -67,7 +67,7 @@ where
}
#[cfg(all(
- any(feature = "tokio", feature = "tokio_old"),
+ feature = "tokio",
not(any(feature = "async-std", feature = "smol"))
))]
impl<H, E> subscription::Recipe<H, E> for Every
@@ -89,23 +89,15 @@ where
) -> futures::stream::BoxStream<'static, Self::Output> {
use futures::stream::StreamExt;
- #[cfg(feature = "tokio_old")]
- use tokio_old as tokio;
-
let start = tokio::time::Instant::now() + self.0;
let stream = {
- #[cfg(feature = "tokio")]
- {
- futures::stream::unfold(
- tokio::time::interval_at(start, self.0),
- |mut interval| async move {
- Some((interval.tick().await, interval))
- },
- )
- }
- #[cfg(feature = "tokio_old")]
- tokio::time::interval_at(start, self.0)
+ futures::stream::unfold(
+ tokio::time::interval_at(start, self.0),
+ |mut interval| async move {
+ Some((interval.tick().await, interval))
+ },
+ )
};
stream.map(tokio::time::Instant::into_std).boxed()
diff --git a/src/executor.rs b/src/executor.rs
index 9f3656b1..c7166c68 100644
--- a/src/executor.rs
+++ b/src/executor.rs
@@ -7,30 +7,19 @@ pub use platform::Default;
mod platform {
use iced_futures::{executor, futures};
- #[cfg(feature = "tokio_old")]
- type Executor = executor::TokioOld;
-
- #[cfg(all(feature = "tokio", not(feature = "tokio_old")))]
+ #[cfg(feature = "tokio")]
type Executor = executor::Tokio;
- #[cfg(all(
- feature = "async-std",
- not(any(feature = "tokio_old", feature = "tokio")),
- ))]
+ #[cfg(all(feature = "async-std", not(feature = "tokio"),))]
type Executor = executor::AsyncStd;
#[cfg(all(
feature = "smol",
- not(any(
- feature = "tokio_old",
- feature = "tokio",
- feature = "async-std"
- )),
+ not(any(feature = "tokio", feature = "async-std")),
))]
type Executor = executor::Smol;
#[cfg(not(any(
- feature = "tokio_old",
feature = "tokio",
feature = "async-std",
feature = "smol",
diff --git a/src/lib.rs b/src/lib.rs
index 1ca07e80..6c0e03e8 100644
--- a/src/lib.rs
+++ b/src/lib.rs
@@ -195,19 +195,13 @@ pub mod widget;
pub mod window;
#[cfg(all(
- any(
- feature = "tokio",
- feature = "tokio_old",
- feature = "async-std",
- feature = "smol"
- ),
+ any(feature = "tokio", feature = "async-std", feature = "smol"),
not(target_arch = "wasm32")
))]
#[cfg_attr(
docsrs,
doc(cfg(any(
feature = "tokio",
- feature = "tokio_old",
feature = "async-std"
feature = "smol"
)))