mirror of
https://github.com/nushell/nushell.git
synced 2025-06-30 22:50:14 +02:00
Futures v0.3 upgrade (#1344)
* Upgrade futures, async-stream, and futures_codec These were the last three dependencies on futures-preview. `nu` itself is now fully dependent on `futures@0.3`, as opposed to `futures-preview` alpha. Because the update to `futures` from `0.3.0-alpha.19` to `0.3.0` removed the `Stream` implementation of `VecDeque` ([changelog][changelog]), most commands that convert a `VecDeque` to an `OutputStream` broke and had to be fixed. The current solution is to now convert `VecDeque`s to a `Stream` via `futures::stream::iter`. However, it may be useful for `futures` to create an `IntoStream` trait, implemented on the `std::collections` (or really any `IntoIterator`). If something like this happends, it may be worthwhile to update the trait implementations on `OutputStream` and refactor these commands again. While upgrading `futures_codec`, we remove a custom implementation of `LinesCodec`, as one has been added to the library. There's also a small refactor to make the stream output more idiomatic. [changelog]: https://github.com/rust-lang/futures-rs/blob/master/CHANGELOG.md#030---2019-11-5 * Upgrade sys & ps plugin dependencies They were previously dependent on `futures-preview`, and `nu_plugin_ps` was dependent on an old version of `futures-timer`. * Remove dependency on futures-timer from nu * Update Cargo.lock * Fix formatting * Revert fmt regressions CI is still on 1.40.0, but the latest rustfmt v1.41.0 has changes to the `val @ pattern` syntax, causing the linting job to fail. * Fix clippy warnings
This commit is contained in:
committed by
GitHub
parent
ba1b67c072
commit
e3be849c2a
@ -15,15 +15,13 @@ nu-protocol = { path = "../nu-protocol", version = "0.9.0" }
|
||||
nu-source = { path = "../nu-source", version = "0.9.0" }
|
||||
nu-errors = { path = "../nu-errors", version = "0.9.0" }
|
||||
|
||||
futures-preview = { version = "=0.3.0-alpha.19", features = ["compat", "io-compat"] }
|
||||
futures-timer = "1.0.3"
|
||||
futures = { version = "0.3", features = ["compat", "io-compat"] }
|
||||
futures-timer = "3.0.1"
|
||||
pin-utils = "0.1.0-alpha.4"
|
||||
futures-util = "0.3.1"
|
||||
|
||||
[dependencies.heim]
|
||||
version = "0.0.9"
|
||||
default-features = false
|
||||
|
||||
features = ["process", "runtime-polyfill"]
|
||||
|
||||
[build-dependencies]
|
||||
|
@ -1,4 +1,4 @@
|
||||
use futures_util::{StreamExt, TryStreamExt};
|
||||
use futures::{StreamExt, TryStreamExt};
|
||||
use heim::process::{self as process, Process, ProcessResult};
|
||||
use heim::units::{information, ratio, Ratio};
|
||||
use std::usize;
|
||||
|
@ -12,7 +12,7 @@ nu-protocol = { path = "../nu-protocol", version = "0.9.0" }
|
||||
nu-source = { path = "../nu-source", version = "0.9.0" }
|
||||
nu-errors = { path = "../nu-errors", version = "0.9.0" }
|
||||
|
||||
futures-preview = { version = "=0.3.0-alpha.19", features = ["compat", "io-compat"] }
|
||||
futures = { version = "0.3", features = ["compat", "io-compat"] }
|
||||
battery = "0.7.5"
|
||||
futures-util = "0.3.1"
|
||||
|
||||
|
Reference in New Issue
Block a user