Commit graph

851 commits

Author SHA1 Message Date
Tyler Neely
5adc608791 Spawn several threads when we fail to enqueue work in the blocki… (#181)
* Rebase onto master

* Switch to unbounded channels
2019-11-01 21:53:13 +01:00
k-nasa
81873ae5f3 fix 2019-11-02 01:27:27 +09:00
Paulo
8e991bcd3a Fix typo 2019-11-01 10:59:38 -03:00
Paulo
2e66c38453 Simplify default feature 2019-11-01 10:58:51 -03:00
k-nasa
0661f774c2 Merge branch 'master' into add_stdin_lock 2019-11-01 21:20:38 +09:00
k-nasa
2f3c867d44 Merge branch 'master' into stream_from_iter 2019-11-01 21:19:53 +09:00
k-nasa
063798ce49 Add doc 2019-11-01 21:18:43 +09:00
Yoshua Wuyts
a3b742188d fix doc tests (#431)
* fix doc tests

Signed-off-by: Yoshua Wuyts <yoshuawuyts@gmail.com>

* cargo fmt

Signed-off-by: Yoshua Wuyts <yoshuawuyts@gmail.com>
2019-11-01 12:54:43 +01:00
Paulo
dcd7c55cef Put everything behind a 'stable' feature 2019-11-01 00:41:38 -03:00
Stjepan Glavina
87de4e1598
Add utility type WakerSet to the sync module (#390)
* Add utility type Registry to the sync module

* Remove unused import

* Split unregister into complete and cancel

* Refactoring and renaming

* Split remove() into complete() and cancel()

* Rename to WakerSet

* Ignore clippy warning

* Ignore another clippy warning

* Use stronger SeqCst ordering
2019-11-01 02:45:50 +01:00
Stjepan Glavina
3dd59d7056
Refactor the task module (#421)
* Refactor the task module

* Fix clippy warning

* Simplify task-local entries

* Reduce the amount of future wrapping

* Cleanup

* Simplify stealing
2019-11-01 02:45:33 +01:00
k-nasa
caa23381f0 fix clippy warning 2019-11-01 10:41:21 +09:00
k-nasa
eeb44c86e9 fix 2019-11-01 10:34:28 +09:00
k-nasa
f8b8c9debe Merge branch 'master' into add_stdin_lock 2019-11-01 10:10:49 +09:00
Yoshua Wuyts
cc75b65b8c
Merge pull request #409 from yjhmelody/stream-min
Add Stream min
2019-11-01 00:41:54 +01:00
Yoshua Wuyts
f102588df5
Merge pull request #428 from zhangguyu6/stream-position
Add stream position
2019-11-01 00:33:39 +01:00
Yoshua Wuyts
3e0fe742f6
Merge pull request #427 from yjhmelody/stream-ne
Add stream ne
2019-11-01 00:29:21 +01:00
zhangguyu
07d21e5eb3 change trait bounds 2019-10-31 23:30:11 +08:00
zhangguyu
48c82a9668 Add stream position 2019-10-31 22:33:17 +08:00
yjhmelody
1ab3d901e4 fmt code 2019-10-31 21:17:07 +08:00
yjhmelody
204da33391 fmt code 2019-10-31 21:16:13 +08:00
yjhmelody
17db7ffcd3 Add stream ne 2019-10-31 20:18:53 +08:00
yjhmelody
f5efaaa7ba Add stream eq 2019-10-31 14:44:19 +08:00
Wu Yu Wei
ff6a44fcd5 Use once_cell instead of lazy_static (#416)
`once_cell` provides a neat way of initializing lazy singletons without
macro. This PR use `sync::Lazy` to streamline same pattern proposed in
related rust RFC.

Resolve #406
2019-10-30 11:23:08 +00:00
k-nasa
40c4e1a29d feat: Add stream::from_iter 2019-10-30 10:39:05 +09:00
k-nasa
2c91b30ee8 feat: Add Read and Write trait to Lock struct 2019-10-29 23:12:32 +09:00
yjhmelody
021862dcc8 fix min 2019-10-29 21:49:30 +08:00
yjhmelody
b942d0a405 add stream-min 2019-10-29 21:44:56 +08:00
Yoshua Wuyts
2b1c6f04ea
Merge pull request #384 from yjhmelody/stream-max_by
add stream::max_by method
2019-10-29 11:19:50 +01:00
Yoshua Wuyts
5ff4ef8dd4
Merge pull request #385 from yjhmelody/stream-min_by_key
add stream::min_by_key method
2019-10-29 11:18:34 +01:00
Yoshua Wuyts
f311e3de9f
Merge pull request #397 from async-rs/sync-docs
add mod level docs for sync
2019-10-29 11:07:56 +01:00
Yoshua Wuyts
3a06a1211b
Add feedback from review
Signed-off-by: Yoshua Wuyts <yoshuawuyts@gmail.com>
2019-10-29 10:56:33 +01:00
Yoshua Wuyts
526c4da21a
Merge pull request #395 from async-rs/stream-docs
add stream mod docs
2019-10-29 10:50:26 +01:00
Yoshua Wuyts
997e811c58
Merge pull request #402 from async-rs/fuse-docs
update Stream::fuse docs
2019-10-29 10:49:43 +01:00
Yoshua Wuyts
11d0577407
Merge pull request #396 from async-rs/net-docs
standardize net docs
2019-10-29 10:30:45 +01:00
Yoshua Wuyts
eb081b1948
Apply suggestions from code review
Co-Authored-By: Florian Gilcher <florian.gilcher@ferrous-systems.com>
2019-10-29 10:23:54 +01:00
k-nasa
35cb11e398 Merge branch 'master' into add_stdin_lock 2019-10-29 16:01:58 +09:00
Yoshua Wuyts
1175a37c47
Merge pull request #367 from k-nasa/add_stream_flatten
Add Stream::flatten and Stream::flat_map
2019-10-29 02:22:04 +01:00
k-nasa
1554b04407 $cargo fmt 2019-10-29 10:12:22 +09:00
k-nasa
1545d24e50 Merge branch 'master' into add_future_delay 2019-10-29 10:09:09 +09:00
k-nasa
ae7adf2c36 fix: Remove unused import 2019-10-29 10:01:41 +09:00
k-nasa
040227f38a Merge branch 'master' into add_stream_flatten 2019-10-29 09:58:10 +09:00
k-nasa
688976203e fix: Split FlattenCompat logic to Flatten and FlatMap 2019-10-29 09:52:50 +09:00
k-nasa
c7dc147f73 fix indent 2019-10-29 09:27:35 +09:00
Yoshua Wuyts
b3ae6f2b03
update Stream::fuse docs
Signed-off-by: Yoshua Wuyts <yoshuawuyts@gmail.com>
2019-10-28 13:02:13 +01:00
Yoshua Wuyts
4346386610
fix doc recursion limit
Signed-off-by: Yoshua Wuyts <yoshuawuyts@gmail.com>
2019-10-28 12:42:23 +01:00
Yoshua Wuyts
ca4856a0e8
Merge pull request #377 from ktomsic/sum-and-product-impls
Add `Stream::sum()` and `Stream::product()` implementations
2019-10-28 12:34:30 +01:00
Yoshua Wuyts
e5675151b9
Merge pull request #364 from stjepang/optimize-flushing
Don't flush files if they weren't written to
2019-10-28 12:19:15 +01:00
Yoshua Wuyts
fd940b8c6a
Merge pull request #348 from k-nasa/add_stream_timeout
Add stream timeout
2019-10-28 12:12:02 +01:00
Yoshua Wuyts
1baee98ead
Merge pull request #375 from sunjay/fromstream-pathbuf
Added Extend + FromStream for PathBuf
2019-10-28 10:34:48 +01:00
k-nasa
613895d6be doc: fix documantation text 2019-10-28 13:58:54 +09:00
Florian Gilcher
f262fd8a40
Merge pull request #392 from taiki-e/clippy
Remove usage of actions-rs/clippy-check
2019-10-27 20:26:43 -07:00
Florian Gilcher
c2a084ed4a
Merge pull request #393 from k-nasa/fix_clippy
Fix clippy warnings
2019-10-27 20:22:35 -07:00
Yoshua Wuyts
5f8e2cbd4a
add mod level docs for sync
Signed-off-by: Yoshua Wuyts <yoshuawuyts@gmail.com>
2019-10-28 00:34:27 +01:00
Yoshua Wuyts
20abd5cebf
standardize net docs
Signed-off-by: Yoshua Wuyts <yoshuawuyts@gmail.com>
2019-10-28 00:15:13 +01:00
Yoshua Wuyts
4c4604d63e
add stream mod docs
Signed-off-by: Yoshua Wuyts <yoshuawuyts@gmail.com>
2019-10-28 00:08:32 +01:00
Yoshua Wuyts
4475a229d6
backlink io docs
Signed-off-by: Yoshua Wuyts <yoshuawuyts@gmail.com>
2019-10-27 22:46:18 +01:00
Yoshua Wuyts
a3a740c14a
backlink all docs
Signed-off-by: Yoshua Wuyts <yoshuawuyts@gmail.com>
2019-10-27 22:29:20 +01:00
k-nasa
59615a655b feat: Add StderrLock and StdoutLock struct 2019-10-27 22:04:43 +09:00
k-nasa
fe49f2618f fix clippy::redundant_clone 2019-10-27 20:34:44 +09:00
k-nasa
7c293d37f7 fix clippy::comparison_chain 2019-10-27 20:32:22 +09:00
nasa
a42ae2f3d9
Narrow the disclosure range of FlattenCompat::new
Co-Authored-By: Taiki Endo <te316e89@gmail.com>
2019-10-27 12:35:51 +09:00
nasa
37f14b0195
Narrow the disclosure range of Flatten::new
Co-Authored-By: Taiki Endo <te316e89@gmail.com>
2019-10-27 12:35:32 +09:00
nasa
13a08b0d54
Narrow the disclosure range of FlatMap::new
Co-Authored-By: Taiki Endo <te316e89@gmail.com>
2019-10-27 12:35:14 +09:00
Johannes Weissmann
75546ef831 Merge branch 'master' into stream_count 2019-10-26 23:18:04 +02:00
Johannes Weissmann
6608d39c59 remove Stream trait bound 2019-10-26 21:58:34 +02:00
Taiki Endo
6549b66ad2 run clippy check on beta & address clippy warnings 2019-10-27 03:28:20 +09:00
yjhmelody
7cfec4e8ce use take and remove Copy 2019-10-27 00:26:19 +08:00
yjh
fb78ed1812
Update src/stream/stream/min_by_key.rs
Co-Authored-By: Taiki Endo <te316e89@gmail.com>
2019-10-27 00:19:49 +08:00
yjh
5a4fdeb1cd
Update src/stream/stream/min_by_key.rs
Co-Authored-By: Taiki Endo <te316e89@gmail.com>
2019-10-27 00:18:18 +08:00
yjh
b57849e1cb
Update src/stream/stream/max_by.rs
Co-Authored-By: Taiki Endo <te316e89@gmail.com>
2019-10-27 00:18:01 +08:00
yjh
a8d3d1483f
Update src/stream/stream/max_by.rs
Co-Authored-By: Taiki Endo <te316e89@gmail.com>
2019-10-27 00:17:50 +08:00
yjh
006fc7e9de
Update src/stream/stream/max_by.rs
Co-Authored-By: Taiki Endo <te316e89@gmail.com>
2019-10-27 00:17:42 +08:00
yjhmelody
c9e6d3a84c use pin_project_lite 2019-10-26 12:59:43 +08:00
yjhmelody
37a7eadf17 use pin_project_lite 2019-10-26 11:52:41 +08:00
yjhmelody
d0c3c9172b Merge branch 'master' of git://github.com/async-std/async-std into stream-max_by 2019-10-26 11:34:59 +08:00
k-nasa
61b7a09c70 Fix type declaration 2019-10-26 01:45:12 +09:00
nasa
8932cecec7
Update src/stream/stream/flatten.rs
Co-Authored-By: Taiki Endo <te316e89@gmail.com>
2019-10-26 01:43:14 +09:00
nasa
bf3508ffb2
Update src/stream/stream/flatten.rs
Co-Authored-By: Taiki Endo <te316e89@gmail.com>
2019-10-26 01:43:07 +09:00
nasa
6168952d6f
Update src/stream/stream/flatten.rs
Co-Authored-By: Taiki Endo <te316e89@gmail.com>
2019-10-26 01:42:57 +09:00
nasa
b7b5df13aa
Update src/stream/stream/flatten.rs
Co-Authored-By: Taiki Endo <te316e89@gmail.com>
2019-10-26 01:42:39 +09:00
nasa
7ce721f562
Update src/lib.rs
Co-Authored-By: Taiki Endo <te316e89@gmail.com>
2019-10-26 01:42:19 +09:00
k-nasa
b66ffa670e update recursion_limit 2019-10-26 00:42:27 +09:00
k-nasa
0c5abee284 to unstable stream::flat_map, stream::flatten 2019-10-26 00:36:04 +09:00
k-nasa
001368d3df $cargo fmt 2019-10-26 00:29:10 +09:00
k-nasa
00e7e58bf3 fix type def 2019-10-26 00:26:53 +09:00
k-nasa
271b6f4a1c fix: Using pin_project! 2019-10-25 23:58:08 +09:00
k-nasa
3297a0f327 Merge branch 'master' into add_stream_flatten 2019-10-25 23:34:44 +09:00
k-nasa
48b255897e Merge branch 'master' into add_stdin_lock 2019-10-24 18:34:42 +09:00
k-nasa
feeb3c10df fix: Remove Pin API related unsafe code 2019-10-24 08:41:01 +09:00
k-nasa
b17af61367 Merge branch 'master' into add_stream_timeout 2019-10-24 08:40:43 +09:00
k-nasa
d97b3dfdf3 fix: Remove Pin API related unsafe code 2019-10-24 08:29:05 +09:00
k-nasa
5c9cfb4fe8 Merge branch 'master' into add_future_delay 2019-10-24 08:23:01 +09:00
Wouter Geraedts
1fd05a157f Reset delay to prevent poll after ready 2019-10-23 22:34:39 +02:00
Wouter Geraedts
1c843a8124 Re-implemented Throttle to keep last value in memory 2019-10-23 22:27:51 +02:00
Stjepan Glavina
b2fe91385b
Add channel behind unstable feature flag (#380)
* Add channel behind unstable feature flag

* Don't check tests without unstable feature flag

* Fix typos

* Remove useless attribute
2019-10-23 17:02:03 +01:00
Taiki Endo
2abf5ca891
Deny warnings on CI (#378)
* Deny warnings on CI

* Fix some clippy warnings
2019-10-23 20:20:59 +09:00
yjhmelody
f5a0a0ba86 fmt 2019-10-23 19:17:24 +08:00
yjhmelody
d6f940110b update doc 2019-10-23 19:04:04 +08:00
yjhmelody
020eb85093 add stream::min_by_key method 2019-10-23 18:59:06 +08:00
Taiki Endo
944e43d4bf Remove Pin API related unsafe code by using pin-project-lite cra… (#381) 2019-10-23 10:35:02 +01:00
yjhmelody
4e5828e646 add stream::max_by method 2019-10-23 16:46:11 +08:00
Kyle Tomsic
e26eb7a719 Add Stream::sum() and Stream::product() implementations
These are the stream equivalents to `std::iter::Iterator::sum()` and
`std::iter::Iterator::product()`.

Note that this changeset tweaks the `Stream::Sum` and `Stream::Product`
traits a little: rather than returning a generic future `F`, they return
a pinned, boxed, `Future` trait object now. This is in line with other
traits that return a future, e.g. `FromStream`.
2019-10-22 20:30:27 -04:00
Sunjay Varma
0d4a907335 Added Extend + FromStream for PathBuf 2019-10-20 19:18:37 -04:00
Johannes Weissmann
97094b2a1c remove Sized constraint 2019-10-20 22:03:51 +02:00
Wouter Geraedts
ced5281b73 Merge remote-tracking branch 'upstream/master' into 342-stream-throttle 2019-10-20 16:50:31 +02:00
Johannes Weissmann
a9a7bdc290 add stream::count 2019-10-18 07:23:52 +02:00
k-nasa
410d16eaf6 Add docs + To unstable feature 2019-10-18 13:20:44 +09:00
k-nasa
1c1e2230f3 Merge branch 'master' into add_stream_flatten 2019-10-18 12:47:48 +09:00
k-nasa
176359afae Add Stream::flatten 2019-10-18 12:20:28 +09:00
k-nasa
8138afbfad feat: Add Stream trait for Flatten 2019-10-18 12:20:02 +09:00
k-nasa
cd862083a5 Add Flatten struct 2019-10-18 12:19:38 +09:00
k-nasa
2187a2a31d feat: Add Stream::flat_map 2019-10-18 10:43:36 +09:00
k-nasa
2dee289750 Add FlatMap struct 2019-10-18 10:43:21 +09:00
k-nasa
bb1416420d feat: Add Stream trait for FlattenCompat 2019-10-18 10:34:53 +09:00
Stjepan Glavina
8bef2e9e95 Don't flush files if they weren't written to 2019-10-17 21:28:38 +02:00
Stjepan Glavina
ec23632f3e
Cleanup: replace cfg-if with our macros (#361)
* Cleanup: replace cfg-if with our macros

* Prefix macros with cfg_

* Remove #[macro_export] from internal macros
2019-10-17 19:17:49 +02:00
k-nasa
ec98b41c85 feat: Add FlattenCompat struct 2019-10-17 23:56:01 +09:00
Stjepan Glavina
46f0fb1c64
Make sure each invocation of block_on uses its own Parker (#358) 2019-10-17 11:52:42 +02:00
k-nasa
f2bf01223c $cargo fmt 2019-10-17 16:34:39 +09:00
k-nasa
70e8476264 fix StdinLock doc test 2019-10-17 16:32:14 +09:00
k-nasa
a5a00d7b14 feat: Add StdinLock struct 2019-10-17 16:29:23 +09:00
Wouter Geraedts
a2393501c5 Implemented StreamExt::throttle 2019-10-16 18:43:34 +02:00
k-nasa
b58bd8d725 Merge branch 'add_stream_timeout' of https://github.com/k-nasa/async-std into add_stream_timeout 2019-10-16 23:08:23 +09:00
k-nasa
0a4073449b doc: Add Stream::Timeout doc 2019-10-16 22:56:48 +09:00
k-nasa
c3f6f969c5 fix: Rename TimeoutStream to Timeout 2019-10-16 22:56:17 +09:00
k-nasa
53fa132d13 fix type Declaration 2019-10-16 22:45:18 +09:00
k-nasa
9d55fff81d fix export FutureExt 2019-10-16 22:38:28 +09:00
nasa
f1ed034600
Update src/stream/stream/mod.rs
Co-Authored-By: Yoshua Wuyts <yoshuawuyts+github@gmail.com>
2019-10-16 22:21:32 +09:00
Yoshua Wuyts
9ff0750d4d
Merge pull request #353 from async-rs/fix-printing
fix print macros
2019-10-16 15:07:33 +02:00
Yoshua Wuyts
4d34a15363
fix macros, take II
Signed-off-by: Yoshua Wuyts <yoshuawuyts@gmail.com>
2019-10-16 14:35:10 +02:00
Yoshua Wuyts
822e4bc220
Merge branch 'master' into fs-stream-repeat-with 2019-10-16 14:26:20 +02:00
Yoshua Wuyts
6e0905d3ca correctly mark stream::Merge as unstable (#352)
Signed-off-by: Yoshua Wuyts <yoshuawuyts@gmail.com>
2019-10-16 14:13:35 +02:00
k-nasa
10f32ca817 Fix TimeoutError 2019-10-16 20:21:45 +09:00
Johannes Weissmann
aaa1b6ca39 add Stream::last (#347)
* add stream::LastFuture (not compiling)

Struggling with the associated type, pinning and how to move/copy
LastFuture.last.

* fix type signature -> still cannot assign

still problems assigning the new value to self.last

* remove unused bound

* add doctest

* unpin LastFuture.last

* RustFmt

* add static lifetime

* remove redundant lifetime
2019-10-16 13:14:54 +02:00
k-nasa
358d2bc038 Add import crate 2019-10-16 19:57:03 +09:00
Stjepan Glavina
add6863185
Fix typos 2019-10-16 12:24:18 +02:00
k-nasa
b251fc999a Move delay method to FutureExt::delay 2019-10-16 19:18:05 +09:00
Yoshua Wuyts
faff1f7370 task docs (#346)
Signed-off-by: Yoshua Wuyts <yoshuawuyts@gmail.com>
2019-10-16 10:28:14 +02:00
k-nasa
054f4fac74 feat: Add future::delay 2019-10-16 16:53:43 +09:00
k-nasa
7a87dea085 feat: Add Stream::timeout 2019-10-16 15:31:40 +09:00
k-nasa
f00d32ee7d Add TimeoutStream struct 2019-10-16 15:31:40 +09:00
Yoshua Wuyts
e986e7ba66
Merge pull request #345 from async-rs/io-docs
Io docs
2019-10-16 02:53:38 +02:00
Wouter Geraedts
6b00e5e66c Implemented StreamExt::try_fold (#344) 2019-10-16 02:32:27 +02:00
assemblaj
4b96ea1273 Adds Stream::cmp (#273)
* Adds cmp

* Fixes formatting

* cleans up examples

* attempts to fix rustdoc issue

* formats with cargo fmt

* Adds proper trait bounds for cmp
2019-10-16 02:23:41 +02:00
Yoshua Wuyts
d250eee556
port the std::io docs to async_std::io
Signed-off-by: Yoshua Wuyts <yoshuawuyts@gmail.com>
2019-10-16 02:15:20 +02:00
Yoshua Wuyts
9f8fa45dc7
io docs
Signed-off-by: Yoshua Wuyts <yoshuawuyts@gmail.com>
2019-10-16 02:03:26 +02:00
assemblaj
a7041be6f2 Adds Stream:ge (#285)
* Adds partial_cmp.rs file and partial_cmp signature to mod.rs

* adds tests that compare streams of same length

* Adds Stream::ge

* cargo fmt

* fixes rustdoc error
2019-10-16 01:24:27 +02:00
assemblaj
5f7238eec6 [Draft PR] Adds Stream::gt (#304)
* [Draft PR] Adds Stream::gt

* Applies cargo format and fixes incorrect comment

* cargo fmt

* fixes rustdoc related issues
2019-10-16 01:11:48 +02:00
assemblaj
f0f279ec04 Adds Stream::le (#336) 2019-10-16 00:46:06 +02:00
assemblaj
a8dc2c6f9b Adds Stream::lt (#337) 2019-10-16 00:32:54 +02:00
Yoshua Wuyts
24cdb2d489 add stream::{Sum,Product} (#343)
Signed-off-by: Yoshua Wuyts <yoshuawuyts@gmail.com>
2019-10-16 00:31:49 +02:00
Yoshua Wuyts
00d936488b stabilize future::timeout (#335)
Signed-off-by: Yoshua Wuyts <yoshuawuyts@gmail.com>
2019-10-15 16:33:23 +02:00
Yoshua Wuyts
49faea2023 init FutureExt (#308)
* init FutureExt

Signed-off-by: Yoshua Wuyts <yoshuawuyts@gmail.com>

* prelude

Signed-off-by: Yoshua Wuyts <yoshuawuyts@gmail.com>

* Refactor extension_trait

Signed-off-by: Yoshua Wuyts <yoshuawuyts@gmail.com>

* Fix rustdoc

Signed-off-by: Yoshua Wuyts <yoshuawuyts@gmail.com>
2019-10-15 16:27:06 +02:00
Yoshua Wuyts
d46364c834
Merge pull request #299 from async-rs/blocking-updates
Blocking updates
2019-10-15 16:17:07 +02:00
Yoshua Wuyts
237cfa0315 add IntoFuture (#259)
* add IntoFuture

Signed-off-by: Yoshua Wuyts <yoshuawuyts@gmail.com>

* blanket impl for IntoFuture

Signed-off-by: Yoshua Wuyts <yoshuawuyts@gmail.com>

* cargo fmt

Signed-off-by: Yoshua Wuyts <yoshuawuyts@gmail.com>

* example

Signed-off-by: Yoshua Wuyts <yoshuawuyts@gmail.com>

* mark as unstable

Signed-off-by: Yoshua Wuyts <yoshuawuyts@gmail.com>
2019-10-15 16:03:49 +02:00
Yoshua Wuyts
33806ad44c
fix warning
Signed-off-by: Yoshua Wuyts <yoshuawuyts@gmail.com>
2019-10-15 16:01:26 +02:00
Yoshua Wuyts
12fdc1232d
rename task::blocking to task::spawn_blocking
Signed-off-by: Yoshua Wuyts <yoshuawuyts@gmail.com>
2019-10-15 16:01:26 +02:00
Yoshua Wuyts
b4c1c63fd2
task::blocking async closure -> FnOnce
Signed-off-by: Yoshua Wuyts <yoshuawuyts@gmail.com>
2019-10-15 16:01:24 +02:00
Yoshua Wuyts
1a3429655c
init blocking-updates
Signed-off-by: Yoshua Wuyts <yoshuawuyts@gmail.com>
2019-10-15 16:00:15 +02:00
Fedor Sakharov
23beab4125 Adds a from_fn stream implementation (#277)
* Adds a from_fn stream implementation

* Update src/stream/from_fn.rs

Co-Authored-By: Yoshua Wuyts <yoshuawuyts+github@gmail.com>

* Fix review nits

* Use async_std Mutex
2019-10-15 15:50:17 +02:00
Yoshua Wuyts
e938527f66 add stream::interval (#298)
* add stream::interval

Signed-off-by: Yoshua Wuyts <yoshuawuyts@gmail.com>

* fix tests

Signed-off-by: Yoshua Wuyts <yoshuawuyts@gmail.com>

* cargo fmt

Signed-off-by: Yoshua Wuyts <yoshuawuyts@gmail.com>

* cross-docs

Signed-off-by: Yoshua Wuyts <yoshuawuyts@gmail.com>

* update deps

Signed-off-by: Yoshua Wuyts <yoshuawuyts@gmail.com>
2019-10-15 15:30:24 +02:00
k-nasa
94ef3dc2b2 feat: Add Stdout::lock 2019-10-15 21:44:23 +09:00
k-nasa
9b09806593 feat: Add Stdin::lock 2019-10-15 21:44:11 +09:00
k-nasa
f9741e7488 feat: Add Stderr::lock 2019-10-15 21:43:54 +09:00
Wouter Geraedts
c7f6543502 Inline TryFutureExt logic for src/io/timeout.rs (#317) 2019-10-15 09:56:39 +02:00
Yoshua Wuyts
1819408b46 add stream::ExactSizeStream as unstable (#330)
Signed-off-by: Yoshua Wuyts <yoshuawuyts@gmail.com>
2019-10-15 09:51:53 +02:00
Johannes Weissmann
6be8467cdc impl Stream::take_while adapter (#332)
* impl take_while stream adapter

* fmt

* add comment

* unindent where clauses
2019-10-15 09:50:03 +02:00
Yoshua Wuyts
529a58a066
Merge pull request #327 from assemblaj/assemblaj-partial_cmp_final
Adds Stream::partial_cmp
2019-10-15 03:45:21 +02:00
Yoshua Wuyts
00a8433338
Merge pull request #320 from Wassasin/183-async-path
Implement async Path & PathBuf
2019-10-15 02:51:55 +02:00
Stjepan Glavina
aa13ba758b Refactor 2019-10-15 02:05:23 +02:00
Stjepan Glavina
5c1e0522b7 Fix failing tests 2019-10-15 01:33:36 +02:00
Stjepan Glavina
504f8cb137 Use crate::path everywhere 2019-10-15 01:25:20 +02:00
Stjepan Glavina
f9cfee9e2c Formatting 2019-10-15 01:11:32 +02:00
Stjepan Glavina
0adcb50f58 Add ToOwned and Borrow impls 2019-10-15 01:08:12 +02:00
Wouter Geraedts
ba87048db5 Implemented our own Path::ancestors iterator 2019-10-14 22:00:45 +02:00
assemblaj
80bee9a215 Adds Stream::partial_cmp 2019-10-14 11:43:00 -04:00
Yoshua Wuyts
612a94b31e Add process submodule as unstable (#310)
Signed-off-by: Yoshua Wuyts <yoshuawuyts@gmail.com>
2019-10-14 15:51:47 +02:00
Yoshua Wuyts
e1deaa58d8 Add BufRead::split (#312)
* add BufRead::split

Signed-off-by: Yoshua Wuyts <yoshuawuyts@gmail.com>

* fix docs

Signed-off-by: Yoshua Wuyts <yoshuawuyts@gmail.com>

* Update src/io/buf_read/mod.rs

Co-Authored-By: Stjepan Glavina <stjepang@gmail.com>
2019-10-14 15:49:54 +02:00
Yoshua Wuyts
5f52efe465
Merge pull request #324 from async-rs/stabilize-future-join
stabilize future::{join,try_join}
2019-10-14 15:31:55 +02:00
Yoshua Wuyts
a9950c5c9f stabilize task::ready! (#325)
Signed-off-by: Yoshua Wuyts <yoshuawuyts@gmail.com>
2019-10-14 15:06:24 +02:00
Yoshua Wuyts
fe88da4e64 make all print macros unstable (#322)
Signed-off-by: Yoshua Wuyts <yoshuawuyts@gmail.com>
2019-10-14 14:48:12 +02:00
Yoshua Wuyts
9b0e02dbb7
Merge pull request #326 from async-rs/fused-stream
add stream::FusedStream as "unstable"
2019-10-14 14:22:41 +02:00
Yoshua Wuyts
d6aa1fb501 Add task::yield_now as "unstable" (#300)
Signed-off-by: Yoshua Wuyts <yoshuawuyts@gmail.com>
2019-10-14 13:58:26 +02:00
Yoshua Wuyts
3ac4575d94
add stream::FusedStream
Signed-off-by: Yoshua Wuyts <yoshuawuyts@gmail.com>
2019-10-14 02:21:27 +02:00
Yoshua Wuyts
05ba07daf8
stabilize future::{join,try_join}
Signed-off-by: Yoshua Wuyts <yoshuawuyts@gmail.com>
2019-10-14 01:52:10 +02:00
Yoshua Wuyts
454018ef42
Merge pull request #321 from async-rs/stream_merge
rename stream::join to Stream::merge
2019-10-14 01:46:42 +02:00
Yoshua Wuyts
04342c7b5d
docs
Signed-off-by: Yoshua Wuyts <yoshuawuyts@gmail.com>
2019-10-13 22:05:11 +02:00
Yoshua Wuyts
b601bcfcb8
polish
Signed-off-by: Yoshua Wuyts <yoshuawuyts@gmail.com>
2019-10-13 21:55:19 +02:00
Yoshua Wuyts
84a148ddae
rename stream::join to Stream::merge
Signed-off-by: Yoshua Wuyts <yoshuawuyts@gmail.com>
2019-10-13 21:48:53 +02:00
Wouter Geraedts
8df55dd015 Implemented PathBuf::set_file_name 2019-10-13 21:46:04 +02:00
Wouter Geraedts
54c94b717c Implemented PathBuf::set_extension 2019-10-13 21:41:16 +02:00
Wouter Geraedts
cc417cc001 Implemented PathBuf::push 2019-10-13 21:38:47 +02:00
Wouter Geraedts
07f9e48579 Implemented PathBuf::pop 2019-10-13 21:29:35 +02:00
Wouter Geraedts
71125d5c3b Implemented PathBuf::new 2019-10-13 21:19:23 +02:00
Wouter Geraedts
47ef222dab Implemented PathBuf::into_os_string 2019-10-13 21:13:01 +02:00
Yoshua Wuyts
a2baa1d8e0
rename stream::join to stream::merge
Signed-off-by: Yoshua Wuyts <yoshuawuyts@gmail.com>
2019-10-13 21:12:05 +02:00
Wouter Geraedts
80eaa28552 Implemented PathBuf::into_boxed_path 2019-10-13 21:11:42 +02:00
Wouter Geraedts
1bd17f11f2 Implemented PathBuf::as_path 2019-10-13 21:04:47 +02:00
Wouter Geraedts
409a10a8b5 Implemented Path::with_file_name 2019-10-13 20:55:56 +02:00
Wouter Geraedts
3c24b1891b Implemented Path::with_extension 2019-10-13 20:54:08 +02:00
Wouter Geraedts
a17b017e01 Implemented Path::to_string_lossy 2019-10-13 20:49:57 +02:00
Wouter Geraedts
ea43d7fd29 Implemented Path::to_str 2019-10-13 20:46:51 +02:00
Wouter Geraedts
df53a07fc5 Implemented Path::strip_prefix 2019-10-13 20:45:06 +02:00
Wouter Geraedts
942403c52c Implemented Path::starts_with 2019-10-13 20:14:07 +02:00
Wouter Geraedts
d349333a43 Implemented Path::read_link 2019-10-13 20:12:57 +02:00
Wouter Geraedts
89f73d3eda Implemented Path::read_dir 2019-10-13 19:57:46 +02:00
Yoshua Wuyts
fef2e32a3c
cargo fmt
Signed-off-by: Yoshua Wuyts <yoshuawuyts@gmail.com>
2019-10-13 19:54:44 +02:00
Yoshua Wuyts
467b64b6e7
doc fmt
Signed-off-by: Yoshua Wuyts <yoshuawuyts@gmail.com>
2019-10-13 19:54:44 +02:00
Yoshua Wuyts
296d0d9d31
add print macros
Signed-off-by: Yoshua Wuyts <yoshuawuyts@gmail.com>
2019-10-13 19:54:44 +02:00
Yoshua Wuyts
04479b13c3
add io::stdio
Signed-off-by: Yoshua Wuyts <yoshuawuyts@gmail.com>
2019-10-13 19:54:44 +02:00
Yoshua Wuyts
33da049717
Merge pull request #311 from async-rs/missing-write-methods
Add Write::write_fmt
2019-10-13 19:53:04 +02:00
Wouter Geraedts
141954d205 Implemented Path::parent 2019-10-13 19:38:33 +02:00
Wouter Geraedts
cc57db02a3 Implemented Path::join 2019-10-13 19:33:55 +02:00
Wouter Geraedts
0c03b92373 Implemented Path::iter 2019-10-13 19:31:17 +02:00
Wouter Geraedts
5d87006006 Implemented Path::is_relative 2019-10-13 19:16:52 +02:00
Wouter Geraedts
df9a01f534 Implemented Path::is_file 2019-10-13 19:15:15 +02:00
Wouter Geraedts
20f58ea1c1 Implemented Path::is_absolute 2019-10-13 19:10:16 +02:00
Wouter Geraedts
3a9597cd32 Implemented Path::has_root 2019-10-13 19:07:12 +02:00
Wouter Geraedts
28e936f6fe Implemented Path::file_stem 2019-10-13 19:05:18 +02:00
Wouter Geraedts
a6e1abecfc Implemented Path::file_name 2019-10-13 19:03:33 +02:00
Wouter Geraedts
a7eaae91ae Implemented Path::extension 2019-10-13 19:00:34 +02:00
Wouter Geraedts
4070833482 Implemented Path::ends_with 2019-10-13 18:58:36 +02:00
Wouter Geraedts
5235cd58be Implemented Path::display 2019-10-13 18:56:26 +02:00
Wouter Geraedts
759e357bea Implemented Path::ancestors 2019-10-13 18:54:36 +02:00
Wouter Geraedts
a57ba7ece0 Implemented Path::into_path_buf 2019-10-13 18:49:57 +02:00
Wouter Geraedts
6c6106a292 Implemented Path::{metadata, symlink_metadata} 2019-10-13 14:17:33 +02:00
Wouter Geraedts
6bbfd039b1 Fixed various tests 2019-10-13 14:11:41 +02:00
Wouter Geraedts
e690b55b18 Implemented fs::metadata and Path::exists 2019-10-13 13:52:58 +02:00
Wouter Geraedts
930b81868d Use std variants of Path and PathBuf internally 2019-10-13 13:46:02 +02:00
Wouter Geraedts
3bd6a9df6d Implemented components 2019-10-13 13:39:12 +02:00
Yoshua Wuyts
28b0ebe83a
Merge pull request #315 from k-nasa/add_flush_to_into_inner
Add BufWriter::into_inner flush
2019-10-13 13:38:22 +02:00
Wouter Geraedts
e27b578c27 WIP init Path and PathBuf async stubs 2019-10-13 13:06:39 +02:00
k-nasa
9d9543c46b refactor: Remove needless main fn 2019-10-13 16:33:02 +09:00
k-nasa
13ff627b09 $cargo fmt 2019-10-13 16:02:02 +09:00
k-nasa
ad156b1fce feat: Add BufWriter::into_inner flush 2019-10-13 15:55:32 +09:00
Yoshua Wuyts
b62e4a1e48
update desc
Signed-off-by: Yoshua Wuyts <yoshuawuyts@gmail.com>
2019-10-13 02:39:14 +02:00
Yoshua Wuyts
a1cd76e244
cargo fmt
Signed-off-by: Yoshua Wuyts <yoshuawuyts@gmail.com>
2019-10-13 01:36:44 +02:00
Yoshua Wuyts
f3eba1fb48
comments
Signed-off-by: Yoshua Wuyts <yoshuawuyts@gmail.com>
2019-10-13 01:35:16 +02:00
Yoshua Wuyts
570dedd712
cleanup
Signed-off-by: Yoshua Wuyts <yoshuawuyts@gmail.com>
2019-10-13 01:31:51 +02:00
Yoshua Wuyts
58c3a06a14
init write_fmt
Signed-off-by: Yoshua Wuyts <yoshuawuyts@gmail.com>
2019-10-13 01:29:17 +02:00
Yoshua Wuyts
483ded0e1c
fix example
Signed-off-by: Yoshua Wuyts <yoshuawuyts@gmail.com>
2019-10-12 01:38:53 +02:00
Yoshua Wuyts
064fdf020f
Stream::delay
Signed-off-by: Yoshua Wuyts <yoshuawuyts@gmail.com>
2019-10-12 01:35:41 +02:00
Yoshua Wuyts
30b5ca5851
Merge pull request #296 from stjepang/cleanup-bufwriter
Cleanup BufWriter
2019-10-10 15:51:50 +02:00
Yoshua Wuyts
9c32133f77
Merge pull request #295 from stjepang/cleanup-tosocketaddrs
Cleanup ToSocketAddrs, add more net reexports
2019-10-09 22:39:35 +02:00
Stjepan Glavina
de01a5c5b7 Stabilize io::Cursor 2019-10-09 17:19:34 +02:00
Stjepan Glavina
c890de2c52 Fix failing doc example 2019-10-09 14:49:31 +02:00
Stjepan Glavina
da2335bd57 Cleanup BufWriter 2019-10-09 14:45:40 +02:00
Stjepan Glavina
cbd458b1db Cleanup ToSocketAddrs, add more net reexports 2019-10-09 14:26:14 +02:00
Yoshua Wuyts
fc904a22cd
add task::blocking docs
Signed-off-by: Yoshua Wuyts <yoshuawuyts@gmail.com>
2019-10-09 13:03:38 +02:00
Yoshua Wuyts
9ab7b1ae6e
Merge pull request #251 from async-rs/blocking-unstable
add an unstable `task::blocking` function
2019-10-09 12:32:44 +02:00
Yoshua Wuyts
460b8af50b
Merge pull request #287 from k-nasa/optimizing_allocations
Optimizing allocations using Stream::size_hint
2019-10-08 17:18:51 +02:00
Yoshua Wuyts
c27623c0fd
cargo fmt
Signed-off-by: Yoshua Wuyts <yoshuawuyts@gmail.com>
2019-10-08 14:58:39 +02:00
Yoshua Wuyts
647aab819f
impl feedback
Signed-off-by: Yoshua Wuyts <yoshuawuyts@gmail.com>
2019-10-08 14:55:09 +02:00
Yoshua Wuyts
df15c04f28
spawn_blocking -> blocking
Signed-off-by: Yoshua Wuyts <yoshuawuyts@gmail.com>
2019-10-08 14:24:37 +02:00
k-nasa
1c798387bf $cargo fmt 2019-10-08 10:50:30 +09:00
k-nasa
9cede7f1e3 refactor: optimizing allocations 2019-10-08 00:06:49 +09:00
Miloš Vučenović
c3e38150e4 Fix uds listener hanging on accept (#272)
* Fix uds listener hanging on accept

UDS listener was hanging because the accept method would return
`Poll::Pending` without registering the task to be awoken in the case
when underlying unix listener returns a WouldBlock that gets converted
to None. This is a hacky fix for this case.

Should fix #248

* Test simulating uds ping-pong server/client

This one should reproduce #248 bug to prevent further regressions.

* Code review fixes
2019-10-07 16:49:42 +02:00
Yoshua Wuyts
5f708f3c4f
Merge pull request #270 from k-nasa/fix_clippy_warn
Fix clippy warning
2019-10-07 15:43:20 +02:00
Yoshua Wuyts
46ffe6ab63
Merge pull request #278 from Michael-J-Ward/fix-readme
Fixes feature flag used in generating the docs in the README
2019-10-07 15:41:04 +02:00
Michael J Ward
75b6c60c67 Corrects a cfg feature declaration in task/mod.rs 2019-10-06 12:00:02 -05:00
bors[bot]
ddee47231a
Merge #282
282: init path submodule as unstable r=yoshuawuyts a=yoshuawuyts

Ref #183.

Similar to #257 this adds the `path` submodule as unstable. Filling in all re-exports from std for module completion. From there the we can build out `Path` and `PathBuf` accordingly. Thanks!

Co-authored-by: Yoshua Wuyts <yoshuawuyts@gmail.com>
2019-10-06 13:10:35 +00:00
Yoshua Wuyts
5b05846fb0
init path submodule as unstable
Signed-off-by: Yoshua Wuyts <yoshuawuyts@gmail.com>
2019-10-06 13:42:55 +02:00
Fedor Sakharov
49d123c7f9
Fix review nits 2019-10-06 08:32:44 +03:00
Fedor Sakharov
2384df11ed
Apply suggestions from code review
Co-Authored-By: Yoshua Wuyts <yoshuawuyts+github@gmail.com>
2019-10-06 08:27:44 +03:00
k-nasa
1c9d7895df doc: Add FromStream document 2019-10-06 13:08:35 +09:00
Fedor Sakharov
735d604cd1
Adds stream::repeat_with 2019-10-05 22:17:21 +03:00
Sunjay Varma
f968c9a540 rustfmt 2019-10-04 10:09:06 -04:00
Sunjay Varma
2cf3f3f566 FromStream for Arc<[T]> and Rc<[T]> 2019-10-04 10:09:06 -04:00
Sunjay Varma
63c6b1cb63 impl FromStream for Box<[T]> 2019-10-04 10:09:06 -04:00
Sunjay Varma
8e12798038 impl FromStream for Cow<[T]> 2019-10-04 10:09:06 -04:00
Sunjay Varma
b2174576b2 Added FromStream + Extend for LinkedList 2019-10-04 10:09:06 -04:00
Sunjay Varma
bd0808eedd Added FromStream + Extend for BinaryHeap 2019-10-04 10:09:06 -04:00
Sunjay Varma
3160dc8189 Added FromStream + Extend for BTreeSet 2019-10-04 10:09:06 -04:00
Sunjay Varma
6c2ffd7181 Added FromStream + Extend for HashSet 2019-10-04 10:09:06 -04:00
Sunjay Varma
333f35338e Added FromStream and Extend impls for HashMap 2019-10-04 10:09:06 -04:00
Sunjay Varma
de2bc1e83b Added FromStream + Extend for BTreeMap 2019-10-04 10:09:06 -04:00
Sunjay Varma
244c5159df Simplifying + optimizing Extend impl for Vec 2019-10-04 10:09:06 -04:00
Sunjay Varma
ae146afffc FromStream + Extend for VecDeque 2019-10-04 10:09:06 -04:00
Sunjay Varma
6bc3cd0ab2 FromStream for () 2019-10-04 10:08:07 -04:00
bors[bot]
6ab154be7c
Merge #266
266: Changes Extend trait in order to allow streams that yield references r=yoshuawuyts a=sunjay

This is not ready to merge yet. I am mainly opening it so we can discuss a change I had to make to the `Extend` trait. cc @yoshuawuyts @stjepang (and anyone else interested)

## Before this can be merged

- [x] Discuss/Approve changes to `Extend` trait
- [x] Change to using `for_each` after #264 is merged
- [ ] (optional) Wait until a `copied()` method is added to `StreamExt` so that the `&char` impl can be finished.
    - We can also just comment out or remove the impl that uses `copied` until that is added

## Changes To The Extend Trait

While writing the impls of the `Extend` trait for the `String` type, I noticed that certain impls weren't possible because there is no bound on `Extend` that guarantees that the type `A` being yielded from the stream actually lives long enough. We probably didn't run into this earlier because this usually isn't a problem for owned values since the compiler doesn't have to worry about whether they will out live the stream that they come from. I ran into this because of the `Extend` impls that consume streams of references.

The difference between the async `Extend` and the standard library `Extend` is that the async `Extend` returns a value that still references the input stream. That means that if `A` is any reference type, the compiler needs to be able to guarantee that `A` will be around as long as the `Future` returned from the trait method is around.

To fix this, I had to add the bound shown below:

```patch
 pub trait Extend<A> {
     /// Extends a collection with the contents of a stream.
     fn stream_extend<'a, T: IntoStream<Item = A> + 'a>(
         &'a mut self,
         stream: T,
-    ) -> Pin<Box<dyn Future<Output = ()> + 'a>>;
+    ) -> Pin<Box<dyn Future<Output = ()> + 'a>> where A: 'a;
 }
```

This guarantees that each value of type `A` will last at least as long as our boxed future does. The bound had to be in a where clause on the method (and not on the declaration of `A` because the lifetime `'a` isn't in scope at the trait level. I don't think there are any negative consequences of using a where clause like this, but that's why I wanted to bring it up for discussion.

In addition to this, I had to ensure that when writing the `Extend` impls for `String` I appropriately bounded the lifetime of the references from the stream. You can see this in the code below with `where 'b: 'a`.

```rust
impl<'b> Extend<&'b str> for String {
    fn stream_extend<'a, S: IntoStream<Item = &'b str> + 'a>(
        &'a mut self,
        stream: S,
    ) -> Pin<Box<dyn Future<Output = ()> + 'a>> where 'b: 'a {
        //TODO: This can just be: stream.into_stream().for_each(move |s| self.push_str(s))
        Box::pin(stream.into_stream().fold((), move |(), s| self.push_str(s)))
    }
}
```

I should note that initially I tried to make it work with just the impl shown above, without modifying the `Extend` trait. This doesn't work because it would be a stricter bound than what is found in the trait itself. Rust does not allow stricter bounds like that because it could potentially cause unsoundness when dealing with generics.

Of course, I am totally open to being completely wrong in my understanding of how to resolve this issue. I tried to solve the problem with as minimal of a change as possible. Please let me know if you have some better ideas or other suggestions.

## `FromStream` impls for String

The purpose of adding these `Extend` impls is to continue my work from #129 in adding the rest of the `FromStream` impls. The `Extend` impls are used directly to add all of the `FromStream` impls for `String`. Just like with #207 and #265, this adds a new `string` module that is unstable just like the other modules added for `FromStream`.

Co-authored-by: Sunjay Varma <varma.sunjay@gmail.com>
2019-10-04 13:55:33 +00:00
Yoshua Wuyts
5bd6acde46
Merge pull request #263 from montekki/fs-stream-map
Adds stream map combinator
2019-10-03 00:45:27 +02:00
Yoshua Wuyts
50b6d0b15f
Merge pull request #269 from montekki/fs-stream-try-for-each
Adds try_for_each combinator
2019-10-02 19:36:04 +02:00
Sunjay Varma
09a15ef116 Implementing Extend for String in terms of for_each now that that's been added 2019-10-01 22:39:57 -04:00
Sunjay Varma
d6f16b6a17 rustfmt 2019-10-01 22:31:29 -04:00
Sunjay Varma
b878855bc3 **CHANGES** extend trait in order to allow FromStream impls for String 2019-10-01 22:31:29 -04:00
bors[bot]
98c79f4ff9
Merge #255
255: Update futures-preview to 0.3.0-alpha.19 r=skade a=taiki-e

Depends on https://github.com/rustasync/surf/pull/74

Refs:
* https://github.com/rust-lang-nursery/futures-rs/issues/1761
* https://github.com/rust-lang-nursery/futures-rs/pull/1845


cc @skade @stjepang @yoshuawuyts 

Co-authored-by: Taiki Endo <te316e89@gmail.com>
2019-10-01 21:15:00 +00:00
Fedor Sakharov
35ab65fe8e
Fix docs 2019-10-01 20:07:56 +03:00
Fedor Sakharov
f4e2302e7e
Don't use Try trait, use Result instead 2019-10-01 18:08:39 +03:00
Yoshua Wuyts
a97a1fffff
Merge pull request #264 from montekki/fs-stream-for-each
Adds for_each stream combinator
2019-10-01 15:32:36 +02:00
k-nasa
cc21bdf068 $cargo fmt 2019-10-01 18:08:24 +09:00
k-nasa
c31861aa65 rafactor if expression 2019-10-01 18:08:24 +09:00
k-nasa
f08fcd0bbb refactor 2019-10-01 18:08:24 +09:00
k-nasa
87b272f83d refacotr: Refactor match expression 2019-10-01 18:08:24 +09:00
k-nasa
2460f35768 fix: Remove unnecessary Borrowed
Each implements a Copy trait
2019-10-01 18:08:24 +09:00
k-nasa
468cb6348f fix: Remove unnecessary &mut 2019-10-01 18:08:24 +09:00
k-nasa
6253e97717 feat: Add Default trait 2019-10-01 18:08:24 +09:00
Fedor Sakharov
66d38f7856
Adds try_for_each combinator 2019-10-01 10:39:43 +03:00
Sunjay Varma
a05b564486 rustfmt 2019-09-30 20:14:16 -04:00
Sunjay Varma
fb7582bd7a Using Box::pin(...) instead of Pin::from(Box::new(...)) 2019-09-30 19:42:30 -04:00
Sunjay Varma
ab7129cd45 FromStream for Vec<T> in terms of Extend 2019-09-30 19:42:30 -04:00
Sunjay Varma
76b10c4784 FromStream for Option<T> 2019-09-30 19:42:30 -04:00
Fedor Sakharov
6da7efc5ac
Adds for_each stream combinator 2019-09-30 23:45:00 +03:00
Fedor Sakharov
658a16bebe
Adds stream map combinator 2019-09-30 23:17:25 +03:00
Yoshua Wuyts
06862d47c3
update Barrier example to match std::sync::Barrier 1:1
Signed-off-by: Yoshua Wuyts <yoshuawuyts@gmail.com>
2019-09-29 04:21:48 +02:00
Taiki Endo
f0bf66d0df Update futures-preview to 0.3.0-alpha.19 2019-09-29 00:38:49 +09:00
dignifiedquire
064b44f695 apply cr 2019-09-27 18:49:23 -06:00
Yoshua Wuyts
958d3a9e27
add an unstable task::spawn_blocking function
Signed-off-by: Yoshua Wuyts <yoshuawuyts@gmail.com>
2019-09-28 01:37:17 +02:00
dignifiedquire
a1aa3f823d finish BufRead 2019-09-27 18:59:30 +02:00
dignifiedquire
dc6c8fb131 feat(io): add stub for BufRead for Take 2019-09-27 16:36:55 +02:00
dignifiedquire
d9aec105a1 feat(io): implement Read::chain 2019-09-27 16:30:38 +02:00
dignifiedquire
e681e297ef feat(io): implement Read::bytes 2019-09-27 15:14:24 +02:00
dignifiedquire
f751ebb8c4 feat(io): implement Read::by_ref 2019-09-27 15:10:40 +02:00
dignifiedquire
75dc819b2f feat(io): implement Read::take 2019-09-27 15:07:05 +02:00
bors[bot]
f6a2393fb5
Merge #241
241: Simplify extension traits using a macro r=yoshuawuyts a=stjepang

This PR would fix #235 

Async methods in our extension traits are now written in the simpler `-> impl Future<Output = T> [ConcreteFuture<Self>]` style. At the same time, doc tests are used even when the `docs` feature is not enabled.

Co-authored-by: Stjepan Glavina <stjepang@gmail.com>
2019-09-27 11:36:32 +00:00
Stjepan Glavina
414fadd6e6 cargo fmt 2019-09-26 23:13:02 -04:00
Yoshua Wuyts
70069e0014
future docs
Signed-off-by: Yoshua Wuyts <yoshuawuyts@gmail.com>
2019-09-27 01:07:55 +02:00
Stjepan Glavina
8e32fd09f3 Fix a doc test 2019-09-26 14:31:02 -04:00
Stjepan Glavina
ff028bb540 Improve compile times and add comments 2019-09-26 14:21:27 -04:00
Yoshua Wuyts
0b39306b74
fix barrier tests
Signed-off-by: Yoshua Wuyts <yoshuawuyts@gmail.com>
2019-09-26 17:24:24 +02:00
Yoshua Wuyts
c23cc769ee
mark sync::Barrier as unstable
Signed-off-by: Yoshua Wuyts <yoshuawuyts@gmail.com>
2019-09-26 16:34:44 +02:00
Stjepan Glavina
79eab9eb9a Simplify extension traits using a macro 2019-09-26 07:46:29 -04:00
dignifiedquire
b77b72d333 feat: implement sync::Barrier
Based on the implementation in https://github.com/tokio-rs/tokio/pull/1571
2019-09-25 21:10:06 +02:00
Yoshua Wuyts
785371cbc4
Merge pull request #187 from async-rs/join-macros
add future::{join,try_join,select,try_select} macros
2019-09-24 22:18:26 +02:00
Yoshua Wuyts
553e48057f
Merge pull request #133 from yoshuawuyts/ready_macro
expose `task::ready!`
2019-09-24 22:16:20 +02:00
Kirill Mironov
63154f5b7a cargo fmt 2019-09-24 16:33:02 +03:00
Kirill Mironov
d23af83189 removed LineWriter and implemented requested changes
Signed-off-by: Kirill Mironov <k.mironov@albato.ru>
2019-09-24 15:59:46 +03:00
Kirill Mironov
9509a056bd Merge branch 'master' into buf-writer 2019-09-24 15:03:55 +03:00
Stjepan Glavina
293d992de1 Fix stream_extend compilation failures 2019-09-24 05:13:02 +02:00
Yoshua Wuyts
a1bc097ffd
Merge pull request #211 from tirr-c/stream-extend
Add stream::Extend
2019-09-23 00:14:29 +02:00
Stjepan Glavina
c62b7a0ba9 Fix warnings 2019-09-22 17:06:00 +02:00
Stjepan Glavina
73d7fea937 Re-export Stream from futures 2019-09-22 16:51:18 +02:00
bors[bot]
33ff41df48
Merge #224
224: Re-export IO traits from futures r=stjepang a=stjepang

Sorry for the big PR!

Instead of providing our own traits `async_std::io::{Read, Write, Seek, BufRead}`, we now re-export `futures::io::{AsyncRead, AsyncWrite, AsyncSeek, AsyncRead}`. While re-exporting we rename them to strip away the "Async" prefix.

The documentation will display the contents of the original traits from the `futures` crate together with our own extension methods. There's a note in the docs saying the extenion methods become available only when `async_std::prelude::*` is imported.

Our extension traits are re-exported into the prelude, but are marked with `#[doc(hidden)]` so they're completely invisible to users.

The benefit of this is that people can now implement traits from `async_std::io` for their types and stay compatible with `futures`. This will also simplify some trait bounds in our APIs - for example, things like `where Self: futures_io::AsyncRead`.

At the same time, I cleaned up some trait bounds in our stream interfaces, but haven't otherwise fiddled with them much.

I intend to follow up with another PR doing the same change for `Stream` so that we re-export the stream trait from `futures`.

Co-authored-by: Stjepan Glavina <stjepang@gmail.com>
2019-09-22 13:50:53 +00:00
Stjepan Glavina
17534cfffc Fuse next() future 2019-09-22 15:19:54 +02:00
Fedor Sakharov
2a2a473889
adds stream::chain combinator 2019-09-22 15:48:12 +03:00
Stjepan Glavina
d55cfb1da8 impl FusedStream for Fuse 2019-09-22 12:44:46 +02:00
Stjepan Glavina
797a6b2d90 Add a missing assert in a doc example 2019-09-22 12:16:35 +02:00
Stjepan Glavina
bfab20da03 Don't re-export ext traits in async_std::io 2019-09-22 12:08:08 +02:00
Fedor Sakharov
89fd473da0
fixes merge artifacts in stream docs 2019-09-22 09:51:54 +03:00
bors[bot]
a8e48b1542
Merge #226
226: adds stream::step_by combinator r=stjepang a=montekki

Ref: #129 
Stdlib: https://doc.rust-lang.org/std/iter/trait.Iterator.html#method.step_by

Co-authored-by: Fedor Sakharov <fedor.sakharov@gmail.com>
2019-09-21 16:46:50 +00:00
Fedor Sakharov
376049b51d
Merge branch 'master' into fs-stream-step-by 2019-09-21 19:07:27 +03:00
Fedor Sakharov
bf7121d2d4
adds stream::inspect combinator 2019-09-21 18:19:47 +03:00
Fedor Sakharov
e74c0cec1f
adds stream::step_by combinator 2019-09-21 17:44:57 +03:00
Fedor Sakharov
ea080e7305
Merge branch 'master' into fs-stream-skip-while 2019-09-21 17:42:44 +03:00
bors[bot]
99724497b3
Merge #221
221: adds stream::filter combinator r=stjepang a=montekki

Ref: #129 
Stdlib: https://doc.rust-lang.org/std/iter/trait.Iterator.html#method.filter

Co-authored-by: Fedor Sakharov <fedor.sakharov@gmail.com>
2019-09-21 14:22:58 +00:00
bors[bot]
47ce009e10
Merge #222
222: adds stream::skip combinator r=stjepang a=montekki

Ref: #129 
Stdlib: https://doc.rust-lang.org/std/iter/trait.Iterator.html#method.skip

Co-authored-by: Fedor Sakharov <fedor.sakharov@gmail.com>
2019-09-21 13:46:11 +00:00
Fedor Sakharov
fdd81e1b2a
Actually export Skip 2019-09-21 16:40:58 +03:00
Fedor Sakharov
e430851bc4
export Filter type 2019-09-21 16:40:01 +03:00
Fedor Sakharov
75da138696
export Skip type 2019-09-21 16:37:30 +03:00
Fedor Sakharov
93463e8df3
export SkipWhile type 2019-09-21 16:34:51 +03:00