macros: add #[allow(unused_mut)] to select! (#2858)

This commit is contained in:
Alice Ryhl 2020-09-22 22:56:45 +02:00 committed by GitHub
parent cb8f2ceb2e
commit e09b90ea32
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 18 additions and 0 deletions

View File

@ -404,6 +404,7 @@ macro_rules! select {
// The future returned a value, check if matches
// the specified pattern.
#[allow(unused_variables)]
#[allow(unused_mut)]
match &out {
$bind => {}
_ => continue,

View File

@ -462,3 +462,20 @@ async fn async_never() -> ! {
tokio::time::delay_for(Duration::from_millis(10)).await;
}
}
// From https://github.com/tokio-rs/tokio/issues/2857
#[tokio::test]
async fn mut_on_left_hand_side() {
let v = async move {
let ok = async { 1 };
tokio::pin!(ok);
tokio::select! {
mut a = &mut ok => {
a += 1;
a
}
}
}
.await;
assert_eq!(v, 2);
}