---
title: Triage meeting 2025-09-17
tags: ["T-lang", "triage-meeting", "minutes"]
date: 2025-09-17
discussion: https://rust-lang.zulipchat.com/#narrow/channel/410673-t-lang.2Fmeetings/topic/Triage.20meeting.202025-09-17/
url: https://hackmd.io/LHZJblC1Ri2-8UA5TXrmQw
---
# T-lang meeting agenda
- Meeting date: 2025-09-17
## Attendance
- People: Josh, TC, tmandry, nikomatsakis, scottmcm, Folkert de Vries, RustyYato, Amanieu, Yosh
## Meeting roles
- Driver: TC
- Minutes: TC
## Scheduled meetings
- 2025-09-17: "Design meeting: Unsafe fields RFC review" [#344](https://github.com/rust-lang/lang-team/issues/344)
- 2025-09-24: "Design meeting: `cfg_version`" [#337](https://github.com/rust-lang/lang-team/issues/337)
- 2025-10-01: "Design meeting: Wasmtime team sync" [#342](https://github.com/rust-lang/lang-team/issues/342)
- 2025-10-08: "Design meeting: Review RFC 3848 (Pass pointers to `const` in assembly)" [#347](https://github.com/rust-lang/lang-team/issues/347)
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-09-24 to review the status of RfL project goals.
https://github.com/rust-lang/rfcs/pull/3614
### Nominations for PDs
Josh: We need to decide about nominations for PDs tomorrow.
## Nominated RFCs, PRs, and issues
### "Use const generics for array `Default` impl" rust#61415
**Link:** https://github.com/rust-lang/rust/issues/61415
TC: The question here is whether we're willing to accept some amount of magic in the standard library so as to finally add the `Default` impl for non-zero arrays. lcnr and Boxy put forward that the amount of magic required here is tolerable.
tmandry: I feel comfortable that there's some way we could generalize this in the future, but I'm not sure about that.
tmandry: It seems there are multiple ways that this could work going forward, and one of the options is it always being a special case. So to approve this we need to accept that it could always be a special case.
NM: We already have special magic around zero length arrays, with respect to const and `Copy`. This seems in line with that.
NM: My vibe here is +1.
TC: +1.
Josh: Broadly speaking, +1, with some trepidation if it involves specialization rather than another proposed approach.
NM: In the limit, we have some special trait that identifies the zero value.
tmandry: If we're framing this in terms of specialization, the question is what's the likelihood of that subset being able to be stabilized.
NM: We could say, e.g.:
```rust
impl<const N: usize> Default for [T; N]
where
if N != 0 { T: Default }
{
// Josh: and a body that looks something like this:
fn default() -> T {
const if N != 0 {
[T::default(); N]
} else {
[]
}
}
}
```
NM: There are many routes. I'm not concerned about us being able to find coherent designable options. We might not ever think any of them carry their weight as compared to a special case, but they might. What I sketched above doesn't seem too hard to do.
tmandry: I'm not sure we should go there, but I feel maybe comfortable saying yes here for now.
NM: Not handling zero-length arrays is very irritating. The lack thereof increases pressure to adopt these more complex proposals, also. I think we should just make it work given that we have precedent.
tmandry: So the argument is that if your language can't express this it should find a way to express it. Ok.
TC: OK, we're all +1 then, so we'll leave a comment expressing appetite and ask for a PR to be nominated for us.
### "Allow borrowing array elements from packed structs with ABI align <= packed align" rust#145419
**Link:** https://github.com/rust-lang/rust/pull/145419
TC: FCP has been proposed; it needs Niko's checkbox and has concerns from scottmcm (listing exact rules, which has been done) and from tmandry (semver hazard, which RalfJ has addressed).
NM: Checked.
tmandry: OK, so this is purely about making it work for const generic arrays. I'll resolve the concern.
TC: Then we'll need scottmcm to resolve the other concern.
---
TC: scottmcm is here now, discussing again.
TC: Have a look at the Reference PR here for the rules:
https://github.com/rust-lang/reference/pull/1984/files
tmandry: I don't love that we added a SemVer hazard here, but it seems that ship has sailed.
scottmcm: I'll resolve the concern; I don't like the implementation, but it's not a lang problem.
### "Prevent downstream `impl DerefMut for Pin<LocalType>`" rust#145608
**Link:** https://github.com/rust-lang/rust/pull/145608
TC: We need a checkbox from scottmcm here. It's a dual FCP, so we need everyone to check off.
### "Stabilize s390x `vector` target feature and `is_s390x_feature_detected!` macro" rust#145656
**Link:** https://github.com/rust-lang/rust/pull/145656
TC: This one needs a checkbox from scottmcm; no concerns are filed.
### "the `#[track_caller]` shim should not inherit `#[no_mangle]`" rust#145724
**Link:** https://github.com/rust-lang/rust/pull/145724
tmandry: We need to propose FCP?
TC: Right.
Folkert: This goes against the RFC, so we need to confirm the behavior here.
NM: I'd be curious to know how we made the decision, but I can see a rationale for it.
scottmcm: Do we need to allow this combination.
NM: That'd be my inclination, but it is available on stable, for better or worse.
Folkert: It'd be weird for it to not work in a program, because the behavior here is creating a function pointer.
Folkert: The shim gets the location of where you turned the function into a function pointer.
scottmcm: I agree that's the only thing it could possibly do, but I'm not sure that's what anyone is expecting. It wouldn't be surprising if you had to make a lambda that called it.
NM: Is the thing you're concerned about that it will lose the `track_caller` information?
scottmcm: It's the parameter mismatch that's funky.
NM: I could see it surprising people, but there's a method to the madness. I like that it can be desugared -- if you think of `fn` pointers as a `dyn Fn`.
NM: I'll propose FCP. I feel strongly that the behavior in the RFC is correct.
TC: Folkert; that make sense to you?
Folkert: Yes, I think that's the only thing that makes sense.
### "Having made lint `ambiguous_glob_imports` deny-by-default and report-in-deps" rust#146651
**Link:** https://github.com/rust-lang/rust/issues/146651
TC: This went in without us, so we're confirming retroactively that this was OK.
Josh: Has the process failure been dealt with separately?
TC: No. I'd like us to reaffirm in our reply here that all changes to lint levels need a lang FCP.
(The meeting ended here.)
---
### "Decide about future of `rustc_legacy_const_generics`" rust#146613
**Link:** https://github.com/rust-lang/rust/issues/146613
### "Stabilize 29 RISC-V target features (`riscv_ratified_v2`)" rust#145948
**Link:** https://github.com/rust-lang/rust/pull/145948
### "Add the `cpuid` target feature" rust#146560
**Link:** https://github.com/rust-lang/rust/pull/146560
### "Allow specifying multiple bounds for same associated item, except in trait objects" rust#146593
**Link:** https://github.com/rust-lang/rust/pull/146593
### "`dangerous_implicit_autorefs` suggestion is wrong" rust#140721
**Link:** https://github.com/rust-lang/rust/issues/140721
### "error out when `repr(align)` exceeds COFF limit" rust#142638
**Link:** https://github.com/rust-lang/rust/pull/142638
### "Tracking Issue for `darwin_objc`" rust#145496
**Link:** https://github.com/rust-lang/rust/issues/145496
### "Tracking Issue for Reborrow trait lang experiment" rust#145612
**Link:** https://github.com/rust-lang/rust/issues/145612
### "Uplifts and extends `clippy::needless-maybe-sized` into rustc" rust#145924
**Link:** https://github.com/rust-lang/rust/pull/145924
### "compiler and language documentation disagree on lifetime extension for array expressions" rust#146092
**Link:** https://github.com/rust-lang/rust/issues/146092
### "Add a new lint `UNCONSTRUCTABLE_PUB_STRUCT` to detect unconstructable public structs" rust#146440
**Link:** https://github.com/rust-lang/rust/pull/146440
### "Add lint about redefining runtime symbols" rust#146505
**Link:** https://github.com/rust-lang/rust/pull/146505
### "Result/Option layout guarantee clarifications" rust#146509
**Link:** https://github.com/rust-lang/rust/pull/146509
### "Extend format_args implicit arguments to allow field access" rfcs#3626
**Link:** https://github.com/rust-lang/rfcs/pull/3626
### "repr(ordered_fields)" rfcs#3845
**Link:** https://github.com/rust-lang/rfcs/pull/3845
### "Match guard can both move and static-promote a single constant" rust#145237
**Link:** https://github.com/rust-lang/rust/issues/145237
### "`ref` patterns can const-promote a single constant more than once" rust#145555
**Link:** https://github.com/rust-lang/rust/issues/145555
### "Tracking Issue for enum access in offset_of" rust#120141
**Link:** https://github.com/rust-lang/rust/issues/120141
### "Stabilize the `breakpoint` function" rust#142325
**Link:** https://github.com/rust-lang/rust/pull/142325