--- title: "WG-async triage meeting 2024-02-26" tags: ["WG-async", "triage-meeting", "minutes"] date: 2024-02-26 discussion: https://rust-lang.zulipchat.com/#narrow/stream/187312-wg-async/topic/Triage.20meeting.202024-02-26 url: https://hackmd.io/E9QWuOjTQTmeVv58_aPPRQ --- # WG-async meeting agenda - Meeting date: 2024-02-26 ## Attendance - People: TC, eholk, CE, Daria ## Meeting roles - Minutes: TC ## Scheduled meetings - 2024-02-29: "Discuss async portability" [#334](https://github.com/rust-lang/wg-async/issues/334) Update these [here](https://github.com/orgs/rust-lang/projects/40/views/1). ## Proposed meetings None. Update these [here](https://github.com/orgs/rust-lang/projects/40/views/1). ## Announcements or custom items (Meeting attendees, feel free to add items here!) ## Untriaged issues ### "Bad error message using shared borrow of non-sync type across await point" rust#71010 **Link:** https://github.com/rust-lang/rust/issues/71010 (We triaged this and commented on the issue.) ### "Poor error message when spawning a future returned by an async fn that takes an owned value as reference" rust#81096 **Link:** https://github.com/rust-lang/rust/issues/81096 (We triaged this and commented on the issue.) ### "Function works but non-capturing closure with identical signature fails with strange error" rust#81326 **Link:** https://github.com/rust-lang/rust/issues/81326 CE: Found an ICE looking into this: ```rust #![feature(closure_lifetime_binder)] #![feature(async_closure)] use std::future::Future; async fn f(arg: &i32) { } async fn func<F>(f: F) where F: async for<'a> Fn(&'a i32) { let x: i32 = 0; f(&x).await; } fn main() { // works func(f); // fails func(|a: &i32| { f(a) }); // should work func(async |a: &i32| { f(a).await }); } ``` (We triaged this and commented on the issue.) ### "`implementation of Debug is not general enough` when making async block into `&dyn Future + Send`" rust#87425 **Link:** https://github.com/rust-lang/rust/issues/87425 (We triaged this and commented on the issue.) ### "Confusing interaction between associated types, `async fn` and `impl Future`" rust#89657 **Link:** https://github.com/rust-lang/rust/issues/89657 (We triaged this and commented on the issue.) ### "Unexpected "the parameter type X may not live long enough" error in asynchronous functions" rust#95719 **Link:** https://github.com/rust-lang/rust/issues/95719 (We triaged this and commented on the issue.) ### "Tracking Issue for `waker_getters`" rust#96992 **Link:** https://github.com/rust-lang/rust/issues/96992 (This has finished FCP. We marked this as triaged.) ### "Implementation of FnOnce is not general enough for `Flatten` iterator of futures outliving an .await point" rust#98380 **Link:** https://github.com/rust-lang/rust/issues/98380 (We triaged this and commented on the issue.) ### "async blocks can't forward references" rust#100406 **Link:** https://github.com/rust-lang/rust/issues/100406 (We triaged this and commented on the issue.) ### "Tracking Issue for `const_waker`" rust#102012 **Link:** https://github.com/rust-lang/rust/issues/102012 (This is in proposed T-libs-api FCP. We marked this as triaged.) ### "Mut borrow persists after await" rust#106688 **Link:** https://github.com/rust-lang/rust/issues/106688 (We triaged this and commented on the issue.) ### "`async_fn_in_trait` and `return_type_notation` cause awkward awaits" rust#112569 **Link:** https://github.com/rust-lang/rust/issues/112569 (We triaged this and commented on the issue.) ### "Non-Send values that are assigned to a variable but not used across an await point incorrectly mark the entire Future as non-Send" rust#116680 **Link:** https://github.com/rust-lang/rust/issues/116680 (We triaged this and commented on the issue.) ### "rustc cannot infer Send for async block consistently with drop and braces" rust#118604 **Link:** https://github.com/rust-lang/rust/issues/118604 (We triaged this and commented on the issue.) ### "ICE with "failed to resolve instance for <... as IntoFuture>::into_future: Ok(None)" (regression between 1.73 and 1.74)" rust#119095 **Link:** https://github.com/rust-lang/rust/issues/119095 (We triaged this and commented on the issue.) ### "Clarification needed on what happens when `Future::poll` wakes an old waker" rust#119698 **Link:** https://github.com/rust-lang/rust/issues/119698 (We triaged this, commented on the issue, and nominated it for ourselves.) ### "Cycle detected in async fn but not with -> impl Future" rust#119727 **Link:** https://github.com/rust-lang/rust/issues/119727 (We triaged this and commented on the issue.) ### "never patterns: `!` argument not detected as diverging on async fn" rust#120240 **Link:** https://github.com/rust-lang/rust/issues/120240 (We triaged this and commented on the issue.) ### "Value is incorrectly considered to be borrowed accross await points" rust#120442 **Link:** https://github.com/rust-lang/rust/issues/120442 (We triaged this and commented on the issue.) ### "ICE: `ConstContext::Maybe must have host effect param` during `mir_const_qualif`" rust#120503 **Link:** https://github.com/rust-lang/rust/issues/120503 (We triaged this and commented on the issue.) ### "Async callback argument causes nonsensical error message." rust#121093 **Link:** https://github.com/rust-lang/rust/issues/121093 (We triaged this and commented on the issue.) ### "Add LocalWaker support" libs-team#191 **Link:** https://github.com/rust-lang/libs-team/issues/191 (This one, being in libs, we can't mark as triaged, but it is.) (The meeting ended here.) ## Nominated RFCs, PRs, and issues ### "Tracking Issue for `waker_getters`" rust#96992 **Link:** https://github.com/rust-lang/rust/issues/96992 ### "Tracking Issue for `task::Waker::noop`" rust#98286 **Link:** https://github.com/rust-lang/rust/issues/98286 ### "Tracking Issue for `Ready::into_inner()`" rust#101196 **Link:** https://github.com/rust-lang/rust/issues/101196 ### "Tracking Issue for `const_waker`" rust#102012 **Link:** https://github.com/rust-lang/rust/issues/102012 ### "Rename `AsyncIterator` back to `Stream`, introduce an AFIT-based `AsyncIterator` trait" rust#119550 **Link:** https://github.com/rust-lang/rust/pull/119550 ### "Add LocalWaker support" libs-team#191 **Link:** https://github.com/rust-lang/libs-team/issues/191 ## WG RFCs, PRs, and issues nominated for T-lang/T-types ### "`.await` does not perform autoref or autoderef" rust#111546 **Link:** https://github.com/rust-lang/rust/issues/111546 ## Pending PRs on the WG-async repo None. ## `S-waiting-on-team` ### "Rename `AsyncIterator` back to `Stream`, introduce an AFIT-based `AsyncIterator` trait" rust#119550 **Link:** https://github.com/rust-lang/rust/pull/119550 ## Proposed FCPs **Check your boxes!** ### "Tracking Issue for `Ready::into_inner()`" rust#101196 **Link:** https://github.com/rust-lang/rust/issues/101196 ### "Tracking Issue for `const_waker`" rust#102012 **Link:** https://github.com/rust-lang/rust/issues/102012 ## Active FCPs None. ## P-critical issues None. ## WG-async work project board https://github.com/orgs/rust-lang/projects/29/views1/d