# Backlog Bonanza YYYY-MM-DD [GitHub query](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AC-tracking-issue+label%3AT-lang) ## What are we DOING? * Take things that have been unstable for a while and "disposition them". * Goal: Everything that is nightly only has one or more of the following labels, indicating the blocker(s) to stabilizing it: * S-tracking-ready-to-stabilize: Needs a stabilization PR (good to go :train:) * S-tracking-needs-to-bake: Needs time to bake (set a date? other criteria?) * S-tracking-impl-incomplete: Not code complete or blocking bugs * S-tracking-unimplemented: Implementation not begun * S-tracking-design-concerns: Blocking design concerns * This might be "doesn't quite seem to deliver value we hoped for" or "something doesn't feel right" * S-tracking-perma-unstable * Internal implementation detail of rustc, stdlib * S-tracking-needs-investigation Attendance: Josh, Felix, Scott, Mark ## Tracking Issue for try_trait_v2, A new design for the ? desugaring (RFC#3058) #84277 * A bunch of conversation around restructuring the trait hierarchy/design * Some discussions with Jane + Mara on this * https://github.com/rust-lang/rust/issues/84277#issuecomment-1066120333 has a concrete proposal * https://github.com/rust-lang/rust/issues/84277#issuecomment-1078700107 is another version * desugaring likely to stay approximately the same, but traits might change * Design concerns, but mostly around finalizing the trait design, no major changes to the language semantic expected ## Tracking Issue for RFC 2528: type-changing struct update syntax #86555 * Implemented, no known blockers, marking as ready to stabilize (needs docs + stabilization report) ## Tracking issue: deref patterns #87121 * Somewhat active Zulip etc. * impl-incomplete ## Tracking Issue for RFC 3137: let-else statements #87335 * Active work on the MIR/HIR parts, seems nearly there * impl-incomplete for now though. ## Tracking Issue for #[track_caller] on closures #87417 * S-ready-to-stabilize ```rust #![feature(closure_track_caller)] fn foo() -> impl Fn() { #[track_caller] || { panic!(); } } fn main() { foo()() } ``` I thought this worked, but no: ``` error[E0658]: attributes on expressions are experimental --> src/main.rs:2:13 | 2 | let x = #[inline] || (); | ^^^^^^^^^ | = note: see issue #15701 <https://github.com/rust-lang/rust/issues/15701> for more information = help: add `#![feature(stmt_expr_attributes)]` to the crate attributes to enable ``` ## Tracking Issue for "Overconstraining and omitting unsafe in impls of unsafe trait methods" (RFC 2316) #87919 https://github.com/rust-lang/rust/issues/87919 * No implementation * [RFC 3245](https://github.com/rust-lang/rfcs/pull/3245) is an enhancement, but not coupling to this one ## Tracking Issue for RFC: Supertrait Item Shadowing #89151 https://github.com/rust-lang/rust/issues/89151 * Felix to bring up in compiler meeting ## Tracking Issue for deref_into_dyn_supertrait compatibility lint #89460 tracking issue for trait upcasting: https://github.com/rust-lang/rust/issues/65991 We think the lint probably needs movement/understanding before we can stabilize #65991, and also don't really recall seeing this lint discussed before. ## https://github.com/rust-lang/rust/issues/89554 * Ready to stabilize ## Tracking Issue for RFC #2972: Constrained Naked Functions #90957 PR for stabilization: https://github.com/rust-lang/rust/pull/93587 ## Tracking Issue for static async fn in traits #91611 * implementation can proceed, but stabilization would be blocked on GATs. ## Tracking Issue for enabling elided_lifetimes_in_paths lints #91639