--- title: WG-async triage meeting 2024-07-11 tags: ["WG-async", "triage-meeting", "minutes"] date: 2024-07-11 discussion: https://rust-lang.zulipchat.com/#narrow/stream/187312-wg-async/topic/Planning.20meeting.202024-07-11 url: https://hackmd.io/sKXeekeJSs2r05YNJvq3WQ --- # WG-async meeting agenda - Meeting date: 2024-07-11 ## Attendance - People: TC, tmandry, eholk ## Meeting roles - Minutes, driver: ## Scheduled meetings None. 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 ### "Tracking Issue for `context_ext`" rust#123392 **Link:** https://github.com/rust-lang/rust/issues/123392 tmandry: I want the provider API for this. We should find a way to help libs-api move this forward. I'd like to use this instead of `dyn Any`. It'd be good to hear if there's a reason this couldn't work. https://doc.rust-lang.org/stable/std/error/trait.Error.html#method.provide How it looks when providing on an Error: ```rust! impl std::error::Error for Error { fn provide<'a>(&'a self, request: &mut Request<'a>) { request .provide_ref::<MyBacktrace>(&self.backtrace) .provide_value::<MyOtherThing>(whatever()); } } ``` We'd do the same thing when building a Context in an executor. A leaf future would then look for particular extension points like... ```rust! impl Future for MyType { fn poll(self: ..., cx: &mut Context) { // ... if let Some(hook) = request_ref::<ReactorHook>(cx.provider()) { // install reactor here: hook.set_reactor(my_epoll_reactor()); } Poll::Pending } } ``` [request_ref](https://doc.rust-lang.org/stable/std/error/fn.request_ref.html) ### "Bug when using `.flatten()` method that has `Item = &'a T` when calling async function inside loop" rust#126044 **Link:** https://github.com/rust-lang/rust/issues/126044 Tracking issue is https://github.com/rust-lang/rust/issues/110338 ### "`async_closure`: error: implementation of `AsyncFnOnce` is not general enough" rust#126350 **Link:** https://github.com/rust-lang/rust/issues/126350 Same as above. ### "Tracking Issue for async drop codegen" rust#126482 **Link:** https://github.com/rust-lang/rust/issues/126482 Marked as triaged. ### "Extremely un-informative error when a future that capture the environment is used as Send" rust#126550 **Link:** https://github.com/rust-lang/rust/issues/126550 Same issue as above. ### "Async code causes error "implementation of `FnOnce` is not general enough" when demanding an `impl Send`" rust#126551 **Link:** https://github.com/rust-lang/rust/issues/126551 Same issue as above. ## Nominated RFCs, PRs, and issues ### "Clarification needed on what happens when `Future::poll` wakes an old waker" rust#119698 **Link:** https://github.com/rust-lang/rust/issues/119698 Text was added in ~~https://github.com/rust-lang/rust/pull/60128~~. https://github.com/rust-lang/rust/pull/54339 ### "Generic Futures" rfcs#3434 **Link:** https://github.com/rust-lang/rfcs/pull/3434 ### "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 ### "Context reactor hook" libs-team#347 **Link:** https://github.com/rust-lang/libs-team/issues/347 ## WG RFCs, PRs, and issues nominated for T-lang/T-types ### "Async closures" rfcs#3668 **Link:** https://github.com/rust-lang/rfcs/pull/3668 ### "Initial support for auto traits with default bounds" rust#120706 **Link:** https://github.com/rust-lang/rust/pull/120706 ## Pending PRs on the WG-async repo None. ## `S-waiting-on-team` ### "Initial support for auto traits with default bounds" rust#120706 **Link:** https://github.com/rust-lang/rust/pull/120706 ### "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!** ### "Async closures" rfcs#3668 **Link:** https://github.com/rust-lang/rfcs/pull/3668 ### "Tracking Issue for `Ready::into_inner()`" rust#101196 **Link:** https://github.com/rust-lang/rust/issues/101196 ## Active FCPs ### "Tracking Issue for `const_waker`" rust#102012 **Link:** https://github.com/rust-lang/rust/issues/102012 ## P-critical issues None. ## WG-async work project board https://github.com/orgs/rust-lang/projects/29/views1/d