---
title: Triage meeting 2025-07-30
tags: ["T-lang", "triage-meeting", "minutes"]
date: 2025-07-30
discussion: https://rust-lang.zulipchat.com/#narrow/channel/410673-t-lang.2Fmeetings/topic/Triage.20meeting.202025-07-30/
url: https://hackmd.io/aRDT7BY-T_62dVemjDu2Lg
---
# T-lang meeting agenda
- Meeting date: 2025-07-30
## Attendance
- People: TC, Josh, Tomas, Taylor, Tyler, Eric, Niko, Martin, Amanieu, Yosh, Xiang
## Meeting roles
- Driver: TC
- Minutes: Tomas
## Scheduled meetings
- 2025-07-30: "Design meeting: In-place Initialization" [#332](https://github.com/rust-lang/lang-team/issues/332)
Edit the schedule here: https://github.com/orgs/rust-lang/projects/31/views/7.
## Announcements or custom items
(Meeting attendees, feel free to add items here!)
### Guest attendee items
TC: For any guests who are present, please note in this section if you're attending for the purposes of any items on (or off) the agenda in particular.
### Moving right along
TC: As we've been doing recently, due to the impressive backlog, I'm going to push the pace a bit. If it's ever too fast or you need a moment before we move on, please raise a hand and we'll pause.
### Design meeting at 12:30 EST / 09:30 PST / 17:30 CET
TC: Remember that we have a design/planning meeting that starts half an hour after this call ends.
### Next meeting with RfL
We're next meeting with RfL on 2025-04-23 to review the status of RfL project goals.
https://github.com/rust-lang/rfcs/pull/3614
## Rust 2025 review
### Meta
TC: We should start thinking about Rust 2025.
Our motivating priorities are:
- Make every edition a success.
- Do so without requiring heroics from anyone.
- ...or stressing anyone or everyone out.
The tentative timeline will be:
| Date | Version | Edition stage |
|------------|---------------|--------------------------------|
| 2025-04-03 | Release v1.86 | Checking off items... |
| 2025-05-15 | Release v1.87 | Checking off items... |
| 2025-06-26 | Release v1.88 | Checking off items... |
| 2025-08-07 | Release v1.89 | Checking off items... |
| 2025-09-12 | Branch v1.91 | Go / no go on all items |
| 2025-09-18 | Release v1.90 | |
| 2025-10-24 | Branch v1.92 | Stabilize Rust 2025 on nightly |
| 2025-10-30 | Release v1.91 | Rust 2025 nightly beta |
| 2025-12-05 | Branch v1.93 | Cut Rust 2025 to beta |
| 2025-12-11 | Release v1.92 | Announce Rust 2025 is pending |
| 2026-01-22 | Release v1.93 | Release Rust 2025 |
None.
## Nominated RFCs, PRs, and issues
### "Reject relaxed bounds inside associated type bounds (ATB)" rust#135331
**Link:** https://github.com/rust-lang/rust/pull/135331
Josh: This was accidentally accepted for the shorthand syntax for associated type bounds and the other sytax was already an error.
TC: That's right.
Josh: Another crater run got kicked up to make sure nothing happneed in the last six months. If that shows something, we'll have to pause this.
### "`rustc_const_eval`: respect `target.min_global_align`" rust#142198
**Link:** https://github.com/rust-lang/rust/pull/142198
Josh: We already did a lang discussion around `min_global_align`. This is extending that guarantee into const evaluation. Any constants produced const eval would satisfy the `min_global_align` guarantee.
TC: We're making a lang guarantee. Ralf pointed that this would add a third property that would be propagated up to the abstract language machine (the other two are pointer size and endianness).
TC: This is only for s390x.
Josh: Previously we also talked about the idea that people may want to set this for target definition itself.
TC: On the 390x, they make a guarantee about the alignment of the global symbols. If the alignment was set much higher, are we talking about aligning functions as well? Or just global statics? Do we distinguish `no_mangle` statics or those that are not no_mangle too?
Josh: That's a reasonable question we should ask. I wouldn't expect it to be applicable to function given the instruction to load a given address isn't something we'd use to load from code pointers. But we should check with an s390 expert.
Tyler: What are you asking about function entries?
TC: If you were to set global alignment much higher, what exactly would we be aligning?
Tyler: Okay, I don't have a problem with this.
TC: Next step: we'll ask the question and return to this.
### "emit `StorageLive` and schedule `StorageDead` for `let`-`else`'s bindings after matching" rust#143028
**Link:** https://github.com/rust-lang/rust/pull/143028
TC: Already in FCP.
### "Port `#[link]` to the new attribute parsing infrastructure " rust#143193
**Link:** https://github.com/rust-lang/rust/pull/143193
TC: There's a crater run that's been completed. They're cleaning up attributes. We accepted a lot of stuff in the attributes, and as they're porting it to the new infrastructure, they're trying to clean it up.
Josh: Two of the crates this breaks are older versions of winit and glutin which are graphics crates used in many gamedev projects. Anyone hitting them would use a many years old crates.
TC: We're talking 6-9 year old crates.
Josh: Still a breaking change.
TC: I think things on crates.io represent more maintained things on average. We're seeing far more breakage on github repositories where there may be code that will never ever be touched. I see the crates.io / github ratio as an indicator here.
Josh: We should reach out to the winit and glutin code and see if they can make a patch that would mean this would be a cargo update.
TC: They'd need to do this for a lot of versions.
Eric: How hard is it to parse what they're doing now? Do we have the a sense of how difficult this would be?
Josh: I don't know but I can ask the author of the PR.
Eric: I guess we can make it parse the incorrect ?? and have a quick note that ??.
TC: What we can do is break it for everything else, lint at deny by defaut while warning in dependencies on this one case, and then decide later whether we want to break that too.
Josh: Also depends on how much work the parsing logic would be.
Tyler: 628 regressions. Not that small.
TC: But almost all of them on GitHub.
TC: I'll propose the resolution above.
### "Port `#[should_panic]` to the new attribute parsing infrastructure " rust#143808
**Link:** https://github.com/rust-lang/rust/pull/143808
TC: There's a crater run here. This is in FCP.
### "stabilize c-style varargs for system, sysv64, win64, efiapi, aapcs" rust#144066
**Link:** https://github.com/rust-lang/rust/pull/144066
TC: We skipped over this one last week because there was a discussion ongoing. The discussion seemes to have died down three days ago.
Josh: I think this is potentially ready for FCP.
Josh: This is t-compiler and t-lang, I'm assuming it should be just t-lang FCP?
TC: Yes, t-lang only.
(Josh will start FCP.)
### "const-eval: full support for pointer fragments" rust#144081
**Link:** https://github.com/rust-lang/rust/pull/144081
TC: We FCPed this last week, then filed a meeting-level concern, and the person who filed the concern for us is not here. Do we want to ask Scott to resolve it for us?
Josh: It's impressive we can accomplish this. We're pulling stunts to support edge cases people are trying to do. They're valid cases but still.
Niko: When storing an opaque pointer in memory, it's eight bytes. But what are those bytes?
Josh: This is const-eval. Const-eval doesn't store actual pointer values, just tracks magic. And then when it reassembles it, it'll be a pointer.
Niko: That's what I've asked in the issue. We probably should ask Scott.
Tyler: Sounds the concern was resolved already?
Tyler: Scott references this idea that you don't have to catch UB in const eval and I don't think that ever got addressed.
Josh: Ralf's response was: "yes, you actually have to do this, it's not optional".
Niko: If you didn't track exactly which byte you represented but could still execute the program correctly. We should probably clarify this and make sure Ralf is aligned on it. I think this is worth the complexity of a spec.
Josh: Agreed, let's ship this as a required part of Rust. Tyler, what do you think isn't answered here?
Tyler: There's a missing piece. Scott makes the assertion that not all implementations need to catch UB in const-eval and that's not addressed in Ralf's response.
TC: We can't resolve the concern right now anyway. Let's each ask these questions on the thread.
### "Extract ImplOfTrait in AST/HIR" rust#144386
**Link:** https://github.com/rust-lang/rust/pull/144386
TC: For trait impls we allow unsafe impl, default impl and negative impl (the last two are not stable yet but we allow them in parsing). We were allowing those for inherent impls as well (where there wasn't a `for`). The Reference didn't document that -- it said these were not allowed. This PR makes them not allowed.
TC: This is the full set of things we're disallowing:
```rust
#[cfg(false)] unsafe impl Type {}
#[cfg(false)] impl !Type {}
#[cfg(false)] default impl Type {}
```
TC: The crater run came out clean.
Josh: Also seems a net-improvement on performance. Ship it.
TC: We're in FCP.
### "Stabilize loongarch32 inline asm" rust#144402
**Link:** https://github.com/rust-lang/rust/pull/144402
TC: Amanieu says it's OK.
Amanieu: loongarch64 is already stable. loongarch32 is the same architecture, just that pointers are 32 bit.
(Note: pronounced "long arch", "loong" is Chinese for "dragon".)
Josh: Looks like it's reasonable to ship.
TC: I've approved the Reference PR, so this is good to go once our FCP completes.
### "Add lint against integer to pointer transmutes" rust#144531
**Link:** https://github.com/rust-lang/rust/pull/144531
TC: This is from Urgau. We're adding a lint against transmuting from an integer to a pointer without provenance. I proposed FCP.
Josh: This is linting on a transmute. Would it also lint on an as cast? You have a `usize` as pointer to something? Ah, it does not.
TC: The `as` cast picks a provenance and transmute doesn't so there's actually a difference.
Tyler: Is this the same as for exposed provenance?
TC: Yes.
Josh: So `as` cast implies exposed provenance and transmute does not?
Josh: Is this the first time we're officially warning about the code not caring about provenance? I'm not aware of anything else that specifically says you should not worry about provenance.
TC: I'm not aware either of an earlier case.
Josh: Sounds like this is the first time we're telling a user that provenance is a thing.
Tyler: Does Miri use it?
Amanieu: I'm pretty sure it does. It doesn't catch all issues with exposed provenance, but if you use strict provenance, those are all checked.
Tyler: Do you know if that's the default?
Amanieu: I don't know, sorry.
Josh: I am all for it. The only concern is if we discovered in the ecosystem where people are doing large structure to a large structure transmute where there may be an equivalent to usize. I'm not sure how we'd tell people what to do.
TC: I think we've crossed that bridge. We accepted the "Rust has provenance" RFC. We said this is undefined behavior, so we should tell people this is undefined behavior.
We're in FCP.
### "Stabilize `sse4a` and `tbm` target features" rust#144542
**Link:** https://github.com/rust-lang/rust/pull/144542
TC: This is a target feature stabilization.
Amanieu: We've already stabilized the intrinsics for these target features. I think these are mainly supported on AMD CPUs and not by intel which is why they were overlooked. But there's basically no issues on them.
Josh: At least some of them were somewhat historical (e.g. `tbm` was added by AMD and then dropped by AMD). But they are real instructions.
TC: I've asked for a Reference PR, the author put it up. It's super simple, I'm going to approve it.
Josh: Amanieu would you mind answering Ralf's question? https://github.com/rust-lang/rust/pull/144542#issuecomment-3125670986
Amanieu: Yes, let me do that now.
### "Start reporting future breakage for `ILL_FORMED_ATTRIBUTE_INPUT` in dependencies" rust#144544
**Link:** https://github.com/rust-lang/rust/pull/144544
TC: We already had this as deny by default. But weren't reporting it in dependencies, so I suggested to JonathaBrouwer that we start doing this. This is that PR, and is related to the work he is doing to move lints to the new infrastructure.
TC: There's a crater report back on this. What does crater do when you do something just for reporting dependencies? Probably nothing interesting. But I'm not sure I really care.
Tyler: It's fine. Ticking a box.
TC: This is now in FCP.
### "Stabilize `offset_of_enum`" rust#143954
**Link:** https://github.com/rust-lang/rust/pull/143954
TC: This is related to what we talked about in the design meeting a few weeks ago about `set_discriminant`. In later discussion, we talked about various options, including returning an `Option` here.
Josh: I don't recall us rejecting the post mono error.
TC: In the discussion people raised points for why the post mono error here would be problematic. Many of us found that compelling but we never made a decision as a team.
Tyler: Seems the discussion progressed towards talking aobut whether we should evaluate to `Option` for this macro. I found that pretty compelling.
Josh: Is this propesing the `offset_of!` would have a different type depending on whether it would be applied to `struct` vs `enum`? Having `offset_of` returning `Option` in general would be terrible for non-enums. For enum it might be less bad, but it would result in a lot of `unwrap`.
Niko: I agree, in practice it would be pretty irritating.
TC: Looking at the options, I don't see anything better. Returning `Option` is strictly more general, and doing the general thing lets you do the other things. You can implement the post-mono version in terms of the one that returns `Option`, but not the other way around.
Niko: In that regard I could imagine something like `enum_offset` or `try_offset`. It seems surprising the return type changes whether you're passing an enum.
Josh: `offset_of` in structs is stable and returns `usize`. And this is adding enum variant support to it.
Niko: Yeah, that means we should have a separate name.
TC: We can ship `try_offset_of` that returns the option. And then we can implement `offset_of!` (with the post-mono error) in terms of `try_offset_of!`.
Josh: That seems like a good option. Having `try_offset_of!` that returns an `Option` and having `offset_of` that returns `usize` and results in a post mono error if `try_offset_of` would return `None`.
Tyler: We could add a lint where a generic parameter is used with `offset_of!`.
Niko: What happens if you run `offset_of` on a struct that's not representable? A struct may have a generic value that...
Josh: The question on enums is: is the enum large enough that:
```rust
enum MyEnum {
Foo,
Bar(u32, !)
}
```
Niko: Isn't that the question for `size_of`?
Josh: Right now according to some of the folks who work on generics, if you write the two element enum today, it would use the bigger size. The reason we might want this to fail is that we may want to optimize this in th efuture.
Nico: is the idea we'd do something different for structs?
TC: What the discussion brought up was that we're already committed on struct (since 1.0) -- even before we stabilized `offset_of!` there were tricks for doing this. There are also much better arguments for why you want the structs to work the way they do of always reserving the space, and there are much better arguments for why you might want enums to work the other way.
Niko: That makes sense. It's kind of like if let and match. I have the expectation that enum and a struct should match but sometimes there are times where that's not true. I like the `try_offset_of`.
Josh: It's not completely clear to me if we necessarily have a stability guarantee whether a struct with an uninhabited field has a struct with an inhabited field.
Niko: IIRC there are some good usecases that come down to unsafe code.
Taylor: You make a `Box<MaybeUninit>` ??.
Niko: It's possible to do that with the enum too, just harder.
Josh: The example Taylor did was what I was looking for.
TC: How do people feel about `try_offset_of!` and implementing `offset_of!` with a post mono error?
Josh: +1
Tyler: The easiest thing we could do would be to only stabilize `try_offset_of!`. I'd like to lint on `offset_of` on an enum variant with generics.
Josh: Ideally we would ship `offset_of` when we can, but yes, we always have options.
TC: OK, I'll propose `try_offset_of!` returning `Option` and `offset_of!` with the post-mono error, I'll mention the lint desired for the latter, and that if that lint is hard we could consider stabilizing the former only first.
(The meeting ended here.)
---
### "Stabilize the `breakpoint` function" rust#142325
**Link:** https://github.com/rust-lang/rust/pull/142325
## On radar RFCs, PRs, and issues
### "Fallback `{float}` to `f32` when `f32: From<{float}>` and add `impl From<f16> for f32`" rust#139087
**Link:** https://github.com/rust-lang/rust/pull/139087
### "[WIP] Forbid object lifetime changing pointer casts" rust#136776
**Link:** https://github.com/rust-lang/rust/pull/136776
### "Tracking issue for `cfg_select` (formerly `cfg_match`)" rust#115585
**Link:** https://github.com/rust-lang/rust/issues/115585
### "Split elided_lifetime_in_paths into finer-grained lints" rust#120808
**Link:** https://github.com/rust-lang/rust/pull/120808
### "Arbitrary self types v2: stabilize" rust#135881
**Link:** https://github.com/rust-lang/rust/pull/135881
### "Stabilize return type notation (RFC 3654)" rust#138424
**Link:** https://github.com/rust-lang/rust/pull/138424
### "`#[target_feature]` mismatch on unsafe trait fn vs its impl causes sneaky UB" rust#139368
**Link:** https://github.com/rust-lang/rust/issues/139368
### "Spurious irrefutable_let_patterns warning with let-chain" rust#139369
**Link:** https://github.com/rust-lang/rust/issues/139369
### "Stabilize `fn_align`: `#[align(N)]` on functions" rust#140261
**Link:** https://github.com/rust-lang/rust/pull/140261
### "`rustc_const_eval`: respect `target.min_global_align`" rust#142198
**Link:** https://github.com/rust-lang/rust/pull/142198
### "`core::marker::NoCell` in bounds (previously known an `Freeze`)" rfcs#3633
**Link:** https://github.com/rust-lang/rfcs/pull/3633
### "Unsafe derives and attributes" rfcs#3715
**Link:** https://github.com/rust-lang/rfcs/pull/3715
### "[RFC] Allow packed types to transitively contain aligned types" rfcs#3718
**Link:** https://github.com/rust-lang/rfcs/pull/3718
### "RFC: Add an attribute for raising the alignment of various items" rfcs#3806
**Link:** https://github.com/rust-lang/rfcs/pull/3806
### "Tracking issue for RFC 2523, `#[cfg(version(..))]`" rust#64796
**Link:** https://github.com/rust-lang/rust/issues/64796
### "Tracking issue: Support for pointers with `asm_const`" rust#128464
**Link:** https://github.com/rust-lang/rust/issues/128464
### "lexer: Treat more floats with empty exponent as valid tokens" rust#131656
**Link:** https://github.com/rust-lang/rust/pull/131656
### "An unsafe const fn being used to compute an array length or const generic is incorrectly described as being an "item"." rust#133441
**Link:** https://github.com/rust-lang/rust/issues/133441
### "Stabilize `derive(CoercePointee)`" rust#133820
**Link:** https://github.com/rust-lang/rust/pull/133820
### "experiment with relaxing the orphan rule" rust#136979
**Link:** https://github.com/rust-lang/rust/issues/136979
### "Tracking issue for unsupported_calling_conventions (cdecl, stdcall, fastcall)" rust#137018
**Link:** https://github.com/rust-lang/rust/issues/137018
### "Oddity with lifetime elision and type aliases" rust#140611
**Link:** https://github.com/rust-lang/rust/issues/140611
### "Add `core::ptr::assume_moved`" rfcs#3700
**Link:** https://github.com/rust-lang/rfcs/pull/3700
### "#[deprecated] lint doesn't trigger when overriding deprecated method" rust#98990
**Link:** https://github.com/rust-lang/rust/issues/98990
### "Tracking Issue for unicode and escape codes in literals" rust#116907
**Link:** https://github.com/rust-lang/rust/issues/116907
### "sanitizers: Stabilize AddressSanitizer and LeakSanitizer for the Tier 1 targets" rust#123617
**Link:** https://github.com/rust-lang/rust/pull/123617
### "Built-in attributes are treated differently vs prelude attributes, unstable built-in attributes can name-collide with stable macro, and built-in attributes can break back-compat" rust#134963
**Link:** https://github.com/rust-lang/rust/issues/134963
### "Decide on behavior of `anonymous_lifetime_in_impl_trait`" rust#137575
**Link:** https://github.com/rust-lang/rust/issues/137575
### "[RFC] Add `#[export_ordinal(n)]` attribute" rfcs#3641
**Link:** https://github.com/rust-lang/rfcs/pull/3641
### "RFC: No (opsem) Magic Boxes" rfcs#3712
**Link:** https://github.com/rust-lang/rfcs/pull/3712
### "Tracking Issue: Procedural Macro Diagnostics (RFC 1566)" rust#54140
**Link:** https://github.com/rust-lang/rust/issues/54140
### "Tracking Issue for enum access in offset_of" rust#120141
**Link:** https://github.com/rust-lang/rust/issues/120141
### "Remove unstable cfg `target(...)` compact feature" rust#130780
**Link:** https://github.com/rust-lang/rust/pull/130780
### "Strengthen the follow-set rule for macros" rust#131025
**Link:** https://github.com/rust-lang/rust/issues/131025
### "Warn about C-style octal literals" rust#131309
**Link:** https://github.com/rust-lang/rust/pull/131309
### "Add lint against (some) interior mutable consts" rust#132146
**Link:** https://github.com/rust-lang/rust/pull/132146
### "RFC: Improved State Machine Codegen" rfcs#3720
**Link:** https://github.com/rust-lang/rfcs/pull/3720
### "Add `must-use-output` attribute" rfcs#3773
**Link:** https://github.com/rust-lang/rfcs/pull/3773
### "Effective breakage to `jiff` due to `ambiguous_negative_literals`" rust#128287
**Link:** https://github.com/rust-lang/rust/issues/128287
### "Simplify lightweight clones, including into closures and async blocks" rfcs#3680
**Link:** https://github.com/rust-lang/rfcs/pull/3680
### "Macro fragment fields" rfcs#3714
**Link:** https://github.com/rust-lang/rfcs/pull/3714
### "Add `homogeneous_try_blocks` RFC" rfcs#3721
**Link:** https://github.com/rust-lang/rfcs/pull/3721
### "Elided lifetime changes in `rust_2018_idioms` lint is very noisy and results in dramatically degraded APIs for Bevy" rust#131725
**Link:** https://github.com/rust-lang/rust/issues/131725
### "Coercing &mut to *const should not create a shared reference" rust#56604
**Link:** https://github.com/rust-lang/rust/issues/56604
### "#[cold] on match arms" rust#120193
**Link:** https://github.com/rust-lang/rust/pull/120193
### "`is` operator for pattern-matching and binding" rfcs#3573
**Link:** https://github.com/rust-lang/rfcs/pull/3573
### "Unsafe fields" rfcs#3458
**Link:** https://github.com/rust-lang/rfcs/pull/3458
### "RFC: Allow symbol re-export in cdylib crate from linked staticlib" rfcs#3556
**Link:** https://github.com/rust-lang/rfcs/pull/3556
### "Hierarchy of Sized traits" rfcs#3729
**Link:** https://github.com/rust-lang/rfcs/pull/3729
### "Language vs. implementation threat models and implications for TypeId collision resistance" rust#129030
**Link:** https://github.com/rust-lang/rust/issues/129030
### "RFC: inherent trait implementation" rfcs#2375
**Link:** https://github.com/rust-lang/rfcs/pull/2375
### "Raw Keywords" rfcs#3098
**Link:** https://github.com/rust-lang/rfcs/pull/3098
### "RFC: Implementable trait aliases" rfcs#3437
**Link:** https://github.com/rust-lang/rfcs/pull/3437
### "Should Rust still ignore SIGPIPE by default?" rust#62569
**Link:** https://github.com/rust-lang/rust/issues/62569
### "types team / lang team interaction" rust#116557
**Link:** https://github.com/rust-lang/rust/issues/116557
### "Trait method impl restrictions" rfcs#3678
**Link:** https://github.com/rust-lang/rfcs/pull/3678
### "Closing issues relevant to T-lang on this repo" rfcs#3756
**Link:** https://github.com/rust-lang/rfcs/issues/3756
### "Implement `PartialOrd` and `Ord` for `Discriminant`" rust#106418
**Link:** https://github.com/rust-lang/rust/pull/106418
### "Fallout from expansion of redundant import checking" rust#121708
**Link:** https://github.com/rust-lang/rust/issues/121708
### "What are the guarantees around which constants (and callees) in a function get monomorphized?" rust#122301
**Link:** https://github.com/rust-lang/rust/issues/122301
### "Policy for lint expansions" rust#122759
**Link:** https://github.com/rust-lang/rust/issues/122759
### "Decide on path forward for attributes on expressions" rust#127436
**Link:** https://github.com/rust-lang/rust/issues/127436
### "`continue` expressions in loop conditions" rust#118673
**Link:** https://github.com/rust-lang/rust/issues/118673
### "Tracking Issue for `breakpoint` feature (`core::arch::breakpoint`)" rust#133724
**Link:** https://github.com/rust-lang/rust/issues/133724
### "`fn_cast!` macro" rust#140803
**Link:** https://github.com/rust-lang/rust/issues/140803
### "Permit duplicate imports" rust#141043
**Link:** https://github.com/rust-lang/rust/pull/141043
### "Stabilize `if let` guards (`feature(if_let_guard)`)" rust#141295
**Link:** https://github.com/rust-lang/rust/pull/141295
### "RFC: Allow type inference for const or static" rfcs#3546
**Link:** https://github.com/rust-lang/rfcs/pull/3546
### "RFC: Unsafe Set Enum Discriminants" rfcs#3727
**Link:** https://github.com/rust-lang/rfcs/pull/3727
### "RFC: naming groups of configuration with `cfg_alias`" rfcs#3804
**Link:** https://github.com/rust-lang/rfcs/pull/3804
### "RFC: enable `derive(From)` for single-field structs" rfcs#3809
**Link:** https://github.com/rust-lang/rfcs/pull/3809
### "de-RFC: Remove unsized_locals" rfcs#3829
**Link:** https://github.com/rust-lang/rfcs/pull/3829
### "Tracking Issue for `const fn` `type_id`" rust#77125
**Link:** https://github.com/rust-lang/rust/issues/77125
### "Decide what we want about `macro_metavar_expr`" rust#137581
**Link:** https://github.com/rust-lang/rust/issues/137581
### "Original `pin!()` macro behavior cannot be expressed in Rust 2024" rust#138718
**Link:** https://github.com/rust-lang/rust/issues/138718
### "Allow while let chains on all editions" rust#140204
**Link:** https://github.com/rust-lang/rust/pull/140204
### "Lang proposal: Allow `#[cfg(...)]` within `asm!`" rust#140279
**Link:** https://github.com/rust-lang/rust/issues/140279
### "Add new `function_casts_as_integer` lint" rust#141470
**Link:** https://github.com/rust-lang/rust/pull/141470
### "Consider folkertdev's `c_variadic` proposal" rust#141524
**Link:** https://github.com/rust-lang/rust/issues/141524
### "Permit attributes on `use` items" rust#141704
**Link:** https://github.com/rust-lang/rust/issues/141704
### "Stabilize `#[cfg(version(...))]`, take 2" rust#141766
**Link:** https://github.com/rust-lang/rust/pull/141766
### "Should a `[..]` slice pattern constitute a discriminant read" rust#141825
**Link:** https://github.com/rust-lang/rust/issues/141825
### "drop-checking is more permissive when `let` statements have an `else` block" rust#142056
**Link:** https://github.com/rust-lang/rust/issues/142056
### "Decision: Use the condition name `rust_version` for RFC 2523" rust#142651
**Link:** https://github.com/rust-lang/rust/issues/142651
### "Stabilize `-Cmin-function-alignment`" rust#142824
**Link:** https://github.com/rust-lang/rust/pull/142824
### "Warn or error on duplicate attributes" rust#142836
**Link:** https://github.com/rust-lang/rust/issues/142836
### "A path towards erroring on nonsense attributes" rust#142838
**Link:** https://github.com/rust-lang/rust/issues/142838
### "const-eval can construct uninhabited values via recursive static initialization" rust#143047
**Link:** https://github.com/rust-lang/rust/issues/143047
### "add a scope for `if let` guard temporaries and bindings" rust#143376
**Link:** https://github.com/rust-lang/rust/pull/143376
### "Nested panics and `std::thread::panicking`" rust#143612
**Link:** https://github.com/rust-lang/rust/issues/143612
### "lower pattern bindings in the order they're written and base drop order on primary bindings' order" rust#143764
**Link:** https://github.com/rust-lang/rust/pull/143764
### "Should_panic can be applied to non-tests" rust#143799
**Link:** https://github.com/rust-lang/rust/issues/143799
### "Port #[macro_export] to the new attribute parsing infrastructure" rust#143857
**Link:** https://github.com/rust-lang/rust/pull/143857
### "Mark all deprecation lints in name resolution as deny-by-default and report-in-deps" rust#143929
**Link:** https://github.com/rust-lang/rust/pull/143929
### "Stabilize const TypeId::of" rust#144133
**Link:** https://github.com/rust-lang/rust/pull/144133
### "Add lint against dangling pointers from local variables" rust#144322
**Link:** https://github.com/rust-lang/rust/pull/144322
## Action item review
- [Action items list](https://hackmd.io/gstfhtXYTHa3Jv-P_2RK7A)
## Pending lang team project proposals
None.
## PRs on the lang-team repo
### "Frequently requested changes: add bypassing visibility" lang-team#323
**Link:** https://github.com/rust-lang/lang-team/pull/323
### "Add soqb`s design doc to variadics notes" lang-team#236
**Link:** https://github.com/rust-lang/lang-team/pull/236
### "Update auto traits design notes with recent discussion" lang-team#237
**Link:** https://github.com/rust-lang/lang-team/pull/237
### "Update hackmd link to a public link" lang-team#258
**Link:** https://github.com/rust-lang/lang-team/pull/258
### "Adding a link to "how to add a feature gate" in the experimenting how-to" lang-team#267
**Link:** https://github.com/rust-lang/lang-team/pull/267
### "text describing how other teams are enabled to make decisions." lang-team#290
**Link:** https://github.com/rust-lang/lang-team/pull/290
### "Fix link to agenda template" lang-team#315
**Link:** https://github.com/rust-lang/lang-team/pull/315
### "new decision process" lang-team#326
**Link:** https://github.com/rust-lang/lang-team/pull/326
### "Clarify that taking input in coroutines currently uses 'yield expressions'" lang-team#328
**Link:** https://github.com/rust-lang/lang-team/pull/328
### "Document experimental `P-lang-drag-[0-4]` and `I-lang-easy-decision`" lang-team#330
**Link:** https://github.com/rust-lang/lang-team/pull/330
## RFCs waiting to be merged
### "[RFC] Add `#[export_ordinal(n)]` attribute" rfcs#3641
**Link:** https://github.com/rust-lang/rfcs/pull/3641
### "Closing issues relevant to T-lang on this repo" rfcs#3756
**Link:** https://github.com/rust-lang/rfcs/issues/3756
## `S-waiting-on-team`
### "Fallback `{float}` to `f32` when `f32: From<{float}>` and add `impl From<f16> for f32`" rust#139087
**Link:** https://github.com/rust-lang/rust/pull/139087
### "Stabilize `fn_align`: `#[align(N)]` on functions" rust#140261
**Link:** https://github.com/rust-lang/rust/pull/140261
### "Extract ImplOfTrait in AST/HIR" rust#144386
**Link:** https://github.com/rust-lang/rust/pull/144386
### "lexer: Treat more floats with empty exponent as valid tokens" rust#131656
**Link:** https://github.com/rust-lang/rust/pull/131656
### "`repr(tag = ...)` for type aliases" rfcs#3659
**Link:** https://github.com/rust-lang/rfcs/pull/3659
### "Remove unstable cfg `target(...)` compact feature" rust#130780
**Link:** https://github.com/rust-lang/rust/pull/130780
### "Add lint against (some) interior mutable consts" rust#132146
**Link:** https://github.com/rust-lang/rust/pull/132146
### "Stabilize the `breakpoint` function" rust#142325
**Link:** https://github.com/rust-lang/rust/pull/142325
### "#[cold] on match arms" rust#120193
**Link:** https://github.com/rust-lang/rust/pull/120193
### "Permit duplicate imports" rust#141043
**Link:** https://github.com/rust-lang/rust/pull/141043
### "Stabilize `if let` guards (`feature(if_let_guard)`)" rust#141295
**Link:** https://github.com/rust-lang/rust/pull/141295
### "Permissions" rfcs#3380
**Link:** https://github.com/rust-lang/rfcs/pull/3380
### "Rename `AsyncIterator` back to `Stream`, introduce an AFIT-based `AsyncIterator` trait" rust#119550
**Link:** https://github.com/rust-lang/rust/pull/119550
### "Tracking Issue for `bare_link_kind`" rust#132061
**Link:** https://github.com/rust-lang/rust/issues/132061
### "Add compiler support for namespaced crates" rust#140271
**Link:** https://github.com/rust-lang/rust/pull/140271
### "Add new `function_casts_as_integer` lint" rust#141470
**Link:** https://github.com/rust-lang/rust/pull/141470
### "Stabilize `-Cmin-function-alignment`" rust#142824
**Link:** https://github.com/rust-lang/rust/pull/142824
### "Mark all deprecation lints in name resolution as deny-by-default and report-in-deps" rust#143929
**Link:** https://github.com/rust-lang/rust/pull/143929
### "Add debuginfo_transparent attribute for structs" rust#144223
**Link:** https://github.com/rust-lang/rust/pull/144223
### "Upgrade semicolon_in_expressions_from_macros from warn to deny" rust#144369
**Link:** https://github.com/rust-lang/rust/pull/144369
## Proposed FCPs
**Check your boxes!**
### "Fallback `{float}` to `f32` when `f32: From<{float}>` and add `impl From<f16> for f32`" rust#139087
**Link:** https://github.com/rust-lang/rust/pull/139087
### "[WIP] Forbid object lifetime changing pointer casts" rust#136776
**Link:** https://github.com/rust-lang/rust/pull/136776
### "Reject relaxed bounds inside associated type bounds (ATB)" rust#135331
**Link:** https://github.com/rust-lang/rust/pull/135331
### "Arbitrary self types v2: stabilize" rust#135881
**Link:** https://github.com/rust-lang/rust/pull/135881
### "Stabilize return type notation (RFC 3654)" rust#138424
**Link:** https://github.com/rust-lang/rust/pull/138424
### "const-eval: full support for pointer fragments" rust#144081
**Link:** https://github.com/rust-lang/rust/pull/144081
### "Extract ImplOfTrait in AST/HIR" rust#144386
**Link:** https://github.com/rust-lang/rust/pull/144386
### "Stabilize loongarch32 inline asm" rust#144402
**Link:** https://github.com/rust-lang/rust/pull/144402
### "Add lint against integer to pointer transmutes" rust#144531
**Link:** https://github.com/rust-lang/rust/pull/144531
### "Start reporting future breakage for `ILL_FORMED_ATTRIBUTE_INPUT` in dependencies" rust#144544
**Link:** https://github.com/rust-lang/rust/pull/144544
### "`core::marker::NoCell` in bounds (previously known an `Freeze`)" rfcs#3633
**Link:** https://github.com/rust-lang/rfcs/pull/3633
### "Unsafe derives and attributes" rfcs#3715
**Link:** https://github.com/rust-lang/rfcs/pull/3715
### "RFC: Add an attribute for raising the alignment of various items" rfcs#3806
**Link:** https://github.com/rust-lang/rfcs/pull/3806
### "sanitizers: Stabilize AddressSanitizer and LeakSanitizer for the Tier 1 targets" rust#123617
**Link:** https://github.com/rust-lang/rust/pull/123617
### "RFC: No (opsem) Magic Boxes" rfcs#3712
**Link:** https://github.com/rust-lang/rfcs/pull/3712
### "Remove unstable cfg `target(...)` compact feature" rust#130780
**Link:** https://github.com/rust-lang/rust/pull/130780
### "Warn about C-style octal literals" rust#131309
**Link:** https://github.com/rust-lang/rust/pull/131309
### "Stabilize the `breakpoint` function" rust#142325
**Link:** https://github.com/rust-lang/rust/pull/142325
### "Unsafe fields" rfcs#3458
**Link:** https://github.com/rust-lang/rfcs/pull/3458
### "[RFC] externally implementable functions" rfcs#3632
**Link:** https://github.com/rust-lang/rfcs/pull/3632
### "Implement `PartialOrd` and `Ord` for `Discriminant`" rust#106418
**Link:** https://github.com/rust-lang/rust/pull/106418
### "Policy for lint expansions" rust#122759
**Link:** https://github.com/rust-lang/rust/issues/122759
### "Decide on path forward for attributes on expressions" rust#127436
**Link:** https://github.com/rust-lang/rust/issues/127436
### "Stabilize `if let` guards (`feature(if_let_guard)`)" rust#141295
**Link:** https://github.com/rust-lang/rust/pull/141295
### "RFC: Allow type inference for const or static" rfcs#3546
**Link:** https://github.com/rust-lang/rfcs/pull/3546
### "Allow `&&`, `||`, and `!` in `cfg`" rfcs#3796
**Link:** https://github.com/rust-lang/rfcs/pull/3796
### "de-RFC: Remove unsized_locals" rfcs#3829
**Link:** https://github.com/rust-lang/rfcs/pull/3829
### "Stabilize associated type position impl Trait (ATPIT)" rust#120700
**Link:** https://github.com/rust-lang/rust/pull/120700
### "Allow while let chains on all editions" rust#140204
**Link:** https://github.com/rust-lang/rust/pull/140204
### "Stabilize `#[cfg(version(...))]`, take 2" rust#141766
**Link:** https://github.com/rust-lang/rust/pull/141766
### "Decision: Use the condition name `rust_version` for RFC 2523" rust#142651
**Link:** https://github.com/rust-lang/rust/issues/142651
### "new decision process" lang-team#326
**Link:** https://github.com/rust-lang/lang-team/pull/326
## Active FCPs
### "emit `StorageLive` and schedule `StorageDead` for `let`-`else`'s bindings after matching" rust#143028
**Link:** https://github.com/rust-lang/rust/pull/143028
### "Port `#[should_panic]` to the new attribute parsing infrastructure " rust#143808
**Link:** https://github.com/rust-lang/rust/pull/143808
### "RFC: enable `derive(From)` for single-field structs" rfcs#3809
**Link:** https://github.com/rust-lang/rfcs/pull/3809
### "Remove the `#[no_sanitize]` attribute in favor of `#[sanitize(xyz = "on|off")]`" rust#142681
**Link:** https://github.com/rust-lang/rust/pull/142681
### "lower pattern bindings in the order they're written and base drop order on primary bindings' order" rust#143764
**Link:** https://github.com/rust-lang/rust/pull/143764
### "Mark all deprecation lints in name resolution as deny-by-default and report-in-deps" rust#143929
**Link:** https://github.com/rust-lang/rust/pull/143929
### "Stabilize const TypeId::of" rust#144133
**Link:** https://github.com/rust-lang/rust/pull/144133
### "Add lint against dangling pointers from local variables" rust#144322
**Link:** https://github.com/rust-lang/rust/pull/144322
### "Upgrade semicolon_in_expressions_from_macros from warn to deny" rust#144369
**Link:** https://github.com/rust-lang/rust/pull/144369
## P-critical issues
None.