diff options
author | Joel Galenson <jgalenson@google.com> | 2021-06-23 19:44:00 +0000 |
---|---|---|
committer | Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> | 2021-06-23 19:44:00 +0000 |
commit | 2d061171c9e4edf060e404fff98e7c1da2e54164 (patch) | |
tree | e28d4a0337073cff795fecb9d50994a177dc3523 | |
parent | 3acc453a2eccbc01e62976ba9c9452e7d083cad6 (diff) | |
parent | ea7da5145e825a2664db29d47acf99c87eb74c90 (diff) | |
download | async-stream-2d061171c9e4edf060e404fff98e7c1da2e54164.tar.gz |
Upgrade rust/crates/async-stream to 0.3.2 am: b10496ee09 am: 5a5722259b am: ea7da5145e
Original change: https://android-review.googlesource.com/c/platform/external/rust/crates/async-stream/+/1742514
Change-Id: Ic3fd71dba16064b846503b913ad64322fff660bb
-rw-r--r-- | .cargo_vcs_info.json | 2 | ||||
-rw-r--r-- | Android.bp | 6 | ||||
-rw-r--r-- | CHANGELOG.md | 14 | ||||
-rw-r--r-- | Cargo.lock | 76 | ||||
-rw-r--r-- | Cargo.toml | 6 | ||||
-rw-r--r-- | Cargo.toml.orig | 10 | ||||
-rw-r--r-- | METADATA | 8 | ||||
-rw-r--r-- | TEST_MAPPING | 99 | ||||
-rw-r--r-- | src/lib.rs | 1 | ||||
-rw-r--r-- | tests/stream.rs | 57 | ||||
-rw-r--r-- | tests/ui/yield_bad_expr_in_macro.rs | 11 | ||||
-rw-r--r-- | tests/ui/yield_bad_expr_in_macro.stderr | 5 | ||||
-rw-r--r-- | tests/ui/yield_in_async.stderr | 2 | ||||
-rw-r--r-- | tests/ui/yield_in_closure.stderr | 6 |
14 files changed, 243 insertions, 60 deletions
diff --git a/.cargo_vcs_info.json b/.cargo_vcs_info.json index 4a76e44..620b2af 100644 --- a/.cargo_vcs_info.json +++ b/.cargo_vcs_info.json @@ -1,5 +1,5 @@ { "git": { - "sha1": "8c22349b9367b981ad08db573d8d906069e66d8c" + "sha1": "b28da881695e3c66e1782f0c2c330d4e162eb7c2" } } @@ -31,9 +31,9 @@ rust_library { } // dependent_library ["feature_list"] -// async-stream-impl-0.3.1 +// async-stream-impl-0.3.2 // futures-core-0.3.15 "alloc,default,std" -// proc-macro2-1.0.26 "default,proc-macro" +// proc-macro2-1.0.27 "default,proc-macro" // quote-1.0.9 "default,proc-macro" -// syn-1.0.72 "clone-impls,default,derive,extra-traits,full,parsing,printing,proc-macro,quote,visit-mut" +// syn-1.0.73 "clone-impls,default,derive,extra-traits,full,parsing,printing,proc-macro,quote,visit-mut" // unicode-xid-0.2.2 "default" diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..bd7f60f --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,14 @@ +# 0.3.2 + +* Expand `yield` in internal macro calls (#57) + +# 0.3.1 + +* Support reexporting (#46) +* Allow yielding `!Unpin` values (#50) +* Implement `Stream::size_hint` method on `AsyncStream` (#40) +* Documentation improvements + +# 0.3.0 + +* Remove proc-macro-hack (#30) @@ -14,7 +14,7 @@ dependencies = [ [[package]] name = "async-stream" -version = "0.3.1" +version = "0.3.2" dependencies = [ "async-stream-impl", "futures-core", @@ -26,9 +26,9 @@ dependencies = [ [[package]] name = "async-stream-impl" -version = "0.3.1" +version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "db134ba52475c060f3329a8ef0f8786d6b872ed01515d4b79c162e5798da1340" +checksum = "648ed8c8d2ce5409ccd57453d9d1b214b342a0d69376a6feda1fd6cae3299308" dependencies = [ "proc-macro2", "quote", @@ -61,16 +61,17 @@ checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" [[package]] name = "futures-core" -version = "0.3.14" +version = "0.3.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "098cd1c6dda6ca01650f1a37a794245eb73181d0d4d4e955e2f3c37db7af1815" +checksum = "0402f765d8a89a26043b889b26ce3c4679d268fa6bb22cd7c6aad98340e179d1" [[package]] name = "futures-macro" -version = "0.3.14" +version = "0.3.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "668c6733a182cd7deb4f1de7ba3bf2120823835b3bcfbeacf7d2c4a773c1bb8b" +checksum = "a4c40298486cdf52cc00cd6d6987892ba502c7656a16a4192a9992b1ccedd121" dependencies = [ + "autocfg", "proc-macro-hack", "proc-macro2", "quote", @@ -79,16 +80,17 @@ dependencies = [ [[package]] name = "futures-task" -version = "0.3.14" +version = "0.3.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba7aa51095076f3ba6d9a1f702f74bd05ec65f555d70d2033d55ba8d69f581bc" +checksum = "8a16bef9fc1a4dddb5bee51c989e3fbba26569cbb0e31f5b303c184e3dd33dae" [[package]] name = "futures-util" -version = "0.3.14" +version = "0.3.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c144ad54d60f23927f0a6b6d816e4271278b64f005ad65e4e35291d2de9c025" +checksum = "feb5c238d27e2bf94ffdfd27b2c29e3df4a68c4193bb6427384259e2bf191967" dependencies = [ + "autocfg", "futures-core", "futures-macro", "futures-task", @@ -137,15 +139,15 @@ checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" [[package]] name = "libc" -version = "0.2.93" +version = "0.2.94" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9385f66bf6105b241aa65a61cb923ef20efc665cb9f9bb50ac2f0c4b7f378d41" +checksum = "18794a8ad5b29321f790b55d93dfba91e125cb1a9edbd4f8e3150acc771c1a5e" [[package]] name = "lock_api" -version = "0.4.3" +version = "0.4.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a3c91c24eae6777794bb1997ad98bbb87daf92890acab859f7eaa4320333176" +checksum = "0382880606dff6d15c9476c416d18690b72742aa7b605bb6dd6ec9030fbf07eb" dependencies = [ "scopeguard", ] @@ -161,9 +163,9 @@ dependencies = [ [[package]] name = "memchr" -version = "2.3.4" +version = "2.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ee1c47aaa256ecabcaea351eae4a9b01ef39ed810004e298d2511ed284b1525" +checksum = "b16bd47d9e329435e309c58469fe0791c2d0d1ba96ec0954152a5ae2b04387dc" [[package]] name = "mio" @@ -263,9 +265,9 @@ checksum = "bc881b2c22681370c6a780e47af9840ef841837bc98118431d4e1868bd0c1086" [[package]] name = "proc-macro2" -version = "1.0.26" +version = "1.0.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a152013215dca273577e18d2bf00fa862b89b24169fb78c4c95aeb07992c9cec" +checksum = "f0d8caf72986c1a598726adc988bb5984792ef84f5ee5aa50209145ee8077038" dependencies = [ "unicode-xid", ] @@ -281,9 +283,9 @@ dependencies = [ [[package]] name = "redox_syscall" -version = "0.2.6" +version = "0.2.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8270314b5ccceb518e7e578952f0b72b88222d02e8f77f5ecf7abbb673539041" +checksum = "742739e41cd49414de871ea5e549afb7e2a3ac77b589bcbebe8c82fab37147fc" dependencies = [ "bitflags", ] @@ -302,18 +304,18 @@ checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd" [[package]] name = "serde" -version = "1.0.125" +version = "1.0.126" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "558dc50e1a5a5fa7112ca2ce4effcb321b0300c0d4ccf0776a9f60cd89031171" +checksum = "ec7505abeacaec74ae4778d9d9328fe5a5d04253220a85c4ee022239fc996d03" dependencies = [ "serde_derive", ] [[package]] name = "serde_derive" -version = "1.0.125" +version = "1.0.126" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b093b7a2bb58203b5da3056c05b4ec1fed827dcfdb37347a8841695263b3d06d" +checksum = "963a7dbc9895aeac7ac90e74f34a5d5261828f79df35cbed41e10189d3804d43" dependencies = [ "proc-macro2", "quote", @@ -354,9 +356,9 @@ checksum = "fe0f37c9e8f3c5a4a66ad655a93c74daac4ad00c441533bf5c6e7990bb42604e" [[package]] name = "syn" -version = "1.0.69" +version = "1.0.72" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "48fe99c6bd8b1cc636890bcc071842de909d902c81ac7dab53ba33c421ab8ffb" +checksum = "a1e8cdbefb79a9a5a65e0db8b47b723ee907b7c7f8496c76a1770b5c310bab82" dependencies = [ "proc-macro2", "quote", @@ -374,9 +376,9 @@ dependencies = [ [[package]] name = "tokio" -version = "1.5.0" +version = "1.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "83f0c8e7c0addab50b663055baf787d0af7f413a46e6e7fb9559a4e4db7137a5" +checksum = "bd3076b5c8cc18138b8f8814895c11eb4de37114a5d127bafdc5e55798ceef37" dependencies = [ "autocfg", "bytes", @@ -394,9 +396,9 @@ dependencies = [ [[package]] name = "tokio-macros" -version = "1.1.0" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "caf7b11a536f46a809a8a9f0bb4237020f70ecbf115b842360afb127ea2fda57" +checksum = "c49e3df43841dafb86046472506755d8501c5615673955f6aa17181125d13c37" dependencies = [ "proc-macro2", "quote", @@ -405,9 +407,9 @@ dependencies = [ [[package]] name = "tokio-stream" -version = "0.1.5" +version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e177a5d8c3bf36de9ebe6d58537d8879e964332f93fb3339e43f618c81361af0" +checksum = "f8864d706fdb3cc0843a49647ac892720dac98a6eeb818b77190592cf4994066" dependencies = [ "futures-core", "pin-project-lite", @@ -416,9 +418,9 @@ dependencies = [ [[package]] name = "tokio-test" -version = "0.4.1" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f58403903e94d4bc56805e46597fced893410b2e753e229d3f7f22423ea03f67" +checksum = "53474327ae5e166530d17f2d956afcb4f8a004de581b3cae10f12006bc8163e3" dependencies = [ "async-stream 0.3.0", "bytes", @@ -452,9 +454,9 @@ dependencies = [ [[package]] name = "unicode-xid" -version = "0.2.1" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f7fe0bb3479651439c9112f72b6c505038574c9fbb575ed1bf3b797fa39dd564" +checksum = "8ccb82d61f80a663efe1f787a51b16b5a51e3314d6ac365b08639f52387b33f3" [[package]] name = "winapi" @@ -13,16 +13,16 @@ [package] edition = "2018" name = "async-stream" -version = "0.3.1" +version = "0.3.2" authors = ["Carl Lerche <me@carllerche.com>"] description = "Asynchronous streams using async & await notation" homepage = "https://github.com/tokio-rs/async-stream" -documentation = "https://docs.rs/async-stream/0.3" +documentation = "https://docs.rs/async-stream" readme = "README.md" license = "MIT" repository = "https://github.com/tokio-rs/async-stream" [dependencies.async-stream-impl] -version = "=0.3.1" +version = "=0.3.2" [dependencies.futures-core] version = "0.3" diff --git a/Cargo.toml.orig b/Cargo.toml.orig index c30cb3d..06ccf45 100644 --- a/Cargo.toml.orig +++ b/Cargo.toml.orig @@ -2,25 +2,21 @@ name = "async-stream" # When releasing to crates.io: # - Update version number -# - lib.rs: html_root_url. # - README.md # - Update CHANGELOG.md -# - Update doc URL. -# - Cargo.toml -# - README.md # - Create git tag -version = "0.3.1" +version = "0.3.2" edition = "2018" license = "MIT" authors = ["Carl Lerche <me@carllerche.com>"] description = "Asynchronous streams using async & await notation" -documentation = "https://docs.rs/async-stream/0.3" +documentation = "https://docs.rs/async-stream" homepage = "https://github.com/tokio-rs/async-stream" repository = "https://github.com/tokio-rs/async-stream" readme = "README.md" [dependencies] -async-stream-impl = { version = "=0.3.1", path = "../async-stream-impl" } +async-stream-impl = { version = "=0.3.2", path = "../async-stream-impl" } futures-core = "0.3" [dev-dependencies] @@ -7,13 +7,13 @@ third_party { } url { type: ARCHIVE - value: "https://static.crates.io/crates/async-stream/async-stream-0.3.1.crate" + value: "https://static.crates.io/crates/async-stream/async-stream-0.3.2.crate" } - version: "0.3.1" + version: "0.3.2" license_type: NOTICE last_upgrade_date { year: 2021 - month: 5 - day: 19 + month: 6 + day: 21 } } diff --git a/TEST_MAPPING b/TEST_MAPPING index 73ad094..a83b104 100644 --- a/TEST_MAPPING +++ b/TEST_MAPPING @@ -14,15 +14,33 @@ "name": "tokio-test_device_test_tests_macros" }, { + "name": "tokio_device_test_tests__require_full" + }, + { "name": "tokio_device_test_tests_buffered" }, { + "name": "tokio_device_test_tests_io_async_fd" + }, + { "name": "tokio_device_test_tests_io_async_read" }, { + "name": "tokio_device_test_tests_io_chain" + }, + { + "name": "tokio_device_test_tests_io_copy" + }, + { "name": "tokio_device_test_tests_io_copy_bidirectional" }, { + "name": "tokio_device_test_tests_io_driver" + }, + { + "name": "tokio_device_test_tests_io_driver_drop" + }, + { "name": "tokio_device_test_tests_io_lines" }, { @@ -35,9 +53,24 @@ "name": "tokio_device_test_tests_io_read_buf" }, { + "name": "tokio_device_test_tests_io_read_exact" + }, + { + "name": "tokio_device_test_tests_io_read_line" + }, + { "name": "tokio_device_test_tests_io_read_to_end" }, { + "name": "tokio_device_test_tests_io_read_to_string" + }, + { + "name": "tokio_device_test_tests_io_read_until" + }, + { + "name": "tokio_device_test_tests_io_split" + }, + { "name": "tokio_device_test_tests_io_take" }, { @@ -56,12 +89,36 @@ "name": "tokio_device_test_tests_macros_join" }, { + "name": "tokio_device_test_tests_macros_pin" + }, + { + "name": "tokio_device_test_tests_macros_select" + }, + { + "name": "tokio_device_test_tests_macros_test" + }, + { + "name": "tokio_device_test_tests_macros_try_join" + }, + { + "name": "tokio_device_test_tests_net_bind_resource" + }, + { + "name": "tokio_device_test_tests_net_lookup_host" + }, + { "name": "tokio_device_test_tests_no_rt" }, { + "name": "tokio_device_test_tests_process_kill_on_drop" + }, + { "name": "tokio_device_test_tests_rt_basic" }, { + "name": "tokio_device_test_tests_rt_common" + }, + { "name": "tokio_device_test_tests_rt_threaded" }, { @@ -77,15 +134,36 @@ "name": "tokio_device_test_tests_sync_mpsc" }, { + "name": "tokio_device_test_tests_sync_mutex" + }, + { "name": "tokio_device_test_tests_sync_mutex_owned" }, { + "name": "tokio_device_test_tests_sync_notify" + }, + { + "name": "tokio_device_test_tests_sync_oneshot" + }, + { "name": "tokio_device_test_tests_sync_rwlock" }, { + "name": "tokio_device_test_tests_sync_semaphore" + }, + { + "name": "tokio_device_test_tests_sync_semaphore_owned" + }, + { "name": "tokio_device_test_tests_sync_watch" }, { + "name": "tokio_device_test_tests_task_abort" + }, + { + "name": "tokio_device_test_tests_task_blocking" + }, + { "name": "tokio_device_test_tests_task_local" }, { @@ -95,18 +173,39 @@ "name": "tokio_device_test_tests_tcp_accept" }, { + "name": "tokio_device_test_tests_tcp_connect" + }, + { "name": "tokio_device_test_tests_tcp_echo" }, { + "name": "tokio_device_test_tests_tcp_into_split" + }, + { "name": "tokio_device_test_tests_tcp_into_std" }, { + "name": "tokio_device_test_tests_tcp_peek" + }, + { "name": "tokio_device_test_tests_tcp_shutdown" }, { + "name": "tokio_device_test_tests_tcp_socket" + }, + { + "name": "tokio_device_test_tests_tcp_split" + }, + { "name": "tokio_device_test_tests_time_rt" }, { + "name": "tokio_device_test_tests_udp" + }, + { + "name": "tokio_device_test_tests_uds_cred" + }, + { "name": "tokio_device_test_tests_uds_split" } ] @@ -1,4 +1,3 @@ -#![doc(html_root_url = "https://docs.rs/async-stream/0.3.1")] #![warn( missing_debug_implementations, missing_docs, diff --git a/tests/stream.rs b/tests/stream.rs index bc9c742..77b3813 100644 --- a/tests/stream.rs +++ b/tests/stream.rs @@ -81,6 +81,42 @@ async fn yield_multi_value() { } #[tokio::test] +async fn unit_yield_in_select() { + use tokio::select; + + async fn do_stuff_async() {} + + let s = stream! { + select! { + _ = do_stuff_async() => yield, + else => yield, + } + }; + + let values: Vec<_> = s.collect().await; + assert_eq!(values.len(), 1); +} + +#[tokio::test] +async fn yield_with_select() { + use tokio::select; + + async fn do_stuff_async() {} + async fn more_async_work() {} + + let s = stream! { + select! { + _ = do_stuff_async() => yield "hey", + _ = more_async_work() => yield "hey", + else => yield "hey", + } + }; + + let values: Vec<_> = s.collect().await; + assert_eq!(values, vec!["hey"]); +} + +#[tokio::test] async fn return_stream() { fn build_stream() -> impl Stream<Item = u32> { stream! { @@ -173,6 +209,27 @@ async fn yield_non_unpin_value() { } #[test] +fn inner_try_stream() { + use async_stream::try_stream; + use tokio::select; + + async fn do_stuff_async() {} + + let _ = stream! { + select! { + _ = do_stuff_async() => { + let another_s = try_stream! { + yield; + }; + let _: Result<(), ()> = Box::pin(another_s).next().await.unwrap(); + }, + else => {}, + } + yield + }; +} + +#[test] fn test() { let t = trybuild::TestCases::new(); t.compile_fail("tests/ui/*.rs"); diff --git a/tests/ui/yield_bad_expr_in_macro.rs b/tests/ui/yield_bad_expr_in_macro.rs new file mode 100644 index 0000000..37fcd34 --- /dev/null +++ b/tests/ui/yield_bad_expr_in_macro.rs @@ -0,0 +1,11 @@ +use async_stream::stream; + +fn main() { + async fn work() {} + + stream! { + tokio::select! { + _ = work() => yield fn f() {}, + } + }; +} diff --git a/tests/ui/yield_bad_expr_in_macro.stderr b/tests/ui/yield_bad_expr_in_macro.stderr new file mode 100644 index 0000000..71d9075 --- /dev/null +++ b/tests/ui/yield_bad_expr_in_macro.stderr @@ -0,0 +1,5 @@ +error: expected expression + --> $DIR/yield_bad_expr_in_macro.rs:8:33 + | +8 | _ = work() => yield fn f() {}, + | ^^ diff --git a/tests/ui/yield_in_async.stderr b/tests/ui/yield_in_async.stderr index 98c3568..19691eb 100644 --- a/tests/ui/yield_in_async.stderr +++ b/tests/ui/yield_in_async.stderr @@ -12,7 +12,7 @@ error[E0727]: `async` generators are not yet supported 6 | yield 123; | ^^^^^^^^^ -error[E0271]: type mismatch resolving `<[static generator@$DIR/src/lib.rs:202:9: 202:67] as Generator<ResumeTy>>::Yield == ()` +error[E0271]: type mismatch resolving `<[static generator@$DIR/src/lib.rs:201:9: 201:67] as Generator<ResumeTy>>::Yield == ()` --> $DIR/yield_in_async.rs:4:5 | 4 | / stream! { diff --git a/tests/ui/yield_in_closure.stderr b/tests/ui/yield_in_closure.stderr index 6eb733d..2506e18 100644 --- a/tests/ui/yield_in_closure.stderr +++ b/tests/ui/yield_in_closure.stderr @@ -6,13 +6,13 @@ error[E0658]: yield syntax is experimental | = note: see issue #43122 <https://github.com/rust-lang/rust/issues/43122> for more information -error[E0277]: expected a `FnOnce<(&str,)>` closure, found `[generator@$DIR/src/lib.rs:202:9: 202:67]` +error[E0277]: expected a `FnOnce<(&str,)>` closure, found `[generator@$DIR/src/lib.rs:201:9: 201:67]` --> $DIR/yield_in_closure.rs:6:14 | 6 | .and_then(|v| { - | ^^^^^^^^ expected an `FnOnce<(&str,)>` closure, found `[generator@$DIR/src/lib.rs:202:9: 202:67]` + | ^^^^^^^^ expected an `FnOnce<(&str,)>` closure, found `[generator@$DIR/src/lib.rs:201:9: 201:67]` | - = help: the trait `FnOnce<(&str,)>` is not implemented for `[generator@$DIR/src/lib.rs:202:9: 202:67]` + = help: the trait `FnOnce<(&str,)>` is not implemented for `[generator@$DIR/src/lib.rs:201:9: 201:67]` Some errors have detailed explanations: E0277, E0658. For more information about an error, try `rustc --explain E0277`. |