--- title: Triage meeting 2023-02-21 tags: triage-meeting --- # T-lang meeting agenda * Meeting date: 2023-02-21 ## Attendance * Team members: pnkfelix, Josh, Tyler, Scott * Others: Mark, David, Bryan Garza, Lokathor, Gary Guo ## Meeting roles * Action item scribe: * Note-taker: pnkfelix ## Scheduled meetings - "discuss/resolve `fn { mod { (use) super::...; } }` and its interaction with derive patterns" [lang-team#193](https://github.com/rust-lang/lang-team/issues/193) - Post monomorphization errors [lang-team#195](https://github.com/rust-lang/lang-team/issues/195) - "Interface between opsem and lang team" [lang-team#196](https://github.com/rust-lang/lang-team/issues/196) ## Announcements or custom items (Meeting attendees, feel free to add items here!) ## Action item review * [Action items list](https://hackmd.io/gstfhtXYTHa3Jv-P_2RK7A) ## Pending lang team project proposals None. ## PRs on the lang-team repo ### "Updates to Frequently Requested Changes" lang-team#200 **Link:** https://github.com/rust-lang/lang-team/pull/200 ## RFCs waiting to be merged None. ## Proposed FCPs **Check your boxes!** ### "Edition Based Method Disambiguation: Preventing inference ambiguity breakages with extension trait methods" rfcs#3240 - **Link:** https://github.com/rust-lang/rfcs/pull/3240 - [**Tracking Comment**](https://github.com/rust-lang/rfcs/pull/3240#issuecomment-1377748067): > Team member @joshtriplett has proposed to merge this. The next step is review by the rest of the tagged team members: > > * [ ] @Amanieu > * [ ] @BurntSushi > * [ ] @dtolnay > * [x] @joshtriplett > * [ ] @m-ou-se > * [ ] @nikomatsakis > * [ ] @pnkfelix > * [ ] @scottmcm > * [ ] @tmandry > > No concerns currently listed. > > Once a majority of reviewers approve (and at most 2 approvals are outstanding), this will enter its final comment period. If you spot a major issue that hasn't been raised at any point in this process, please speak up! > > cc @rust-lang/lang-advisors: FCP proposed for lang, please feel free to register concerns. > See [this document](https://github.com/rust-lang/rfcbot-rs/blob/master/README.md) for info about what commands tagged team members can give me. - [**Initiating Comment**](https://github.com/rust-lang/rfcs/pull/3240#issuecomment-1377748031): > @rfcbot merge ### "unsafe attributes" rfcs#3325 - **Link:** https://github.com/rust-lang/rfcs/pull/3325 - [**Tracking Comment**](https://github.com/rust-lang/rfcs/pull/3325#issuecomment-1396911253): > Team member @joshtriplett has proposed to merge this. The next step is review by the rest of the tagged team members: > > * [x] @joshtriplett > * [ ] @nikomatsakis > * [ ] @pnkfelix > * [ ] @scottmcm > * [x] @tmandry > > No concerns currently listed. > > Once a majority of reviewers approve (and at most 2 approvals are outstanding), this will enter its final comment period. If you spot a major issue that hasn't been raised at any point in this process, please speak up! > > cc @rust-lang/lang-advisors: FCP proposed for lang, please feel free to register concerns. > See [this document](https://github.com/rust-lang/rfcbot-rs/blob/master/README.md) for info about what commands tagged team members can give me. - [**Initiating Comment**](https://github.com/rust-lang/rfcs/pull/3325#issuecomment-1396911218): > @rfcbot merge scottmcm: Leans into discharging an obligation. Have talked about having separate words for introducing an obligation vs discharging one. josh: Better to have that in a separate RFC. Lokathor: Extern functions should also be unsafe, do we want to do that in the edition? josh: Sounds reasonable. Needs a concrete proposal. You could, in an unsafe context, declare an extern function that would be callable from a safe context. scottmcm: So the extern block needs to be `unsafe extern` and the function doesn't need to be `unsafe fn`. josh: Exactly. scottmcm: So please write the RFC :-) josh: It would help us "sell" it to give people the (new) ability to declare safe extern functions. pnkfelix: should lang#3325 (unsafe attributes) be on an edition boundary? Or does the spectre of UB motivate making the change on all editions? scottmcm: I like the sound of doing it on an edition boundary. pnkfelix: also, on subject of discharging: where is the discharge happening? scottmcm/josh: the `no_mangle` introduces; the `unsafe` discharges here. scottmcm: this doesn't exist, but imagine it's `unsafe attribute no_mangle;`, introducing the obligation that's later discharged in `#[(unsafe(no_mangle)]`. pnkfelix: okay. because one could imagine further language changes that would enable discharge at a different scope (e.g an `unsafe crate` or `unsafe mod`, for example...) scottmcm: I like the point about rolling out over an edition. The RFC should probably specify that Lokathor: Do we want to encourage people to update to new editions? josh: When it's as simple as a new keyword we should (`k#newkeyword`), but if it's much more complex than that we don't have to provide it in an old edition. ### "RFC: UTF-8 characters and escape codes in (byte) string literals" rfcs#3349 - **Link:** https://github.com/rust-lang/rfcs/pull/3349 - [**Tracking Comment**](https://github.com/rust-lang/rfcs/pull/3349#issuecomment-1396747916): > Team member @joshtriplett has proposed to merge this. The next step is review by the rest of the tagged team members: > > * [x] @joshtriplett > * [ ] @nikomatsakis > * [ ] @pnkfelix > * [ ] @scottmcm > * [ ] @tmandry > > Concerns: > > * raw-byte-strings-with-unicode (https://github.com/rust-lang/rfcs/pull/3349#issuecomment-1396747889) > > Once a majority of reviewers approve (and at most 2 approvals are outstanding), this will enter its final comment period. If you spot a major issue that hasn't been raised at any point in this process, please speak up! > > cc @rust-lang/lang-advisors: FCP proposed for lang, please feel free to register concerns. > See [this document](https://github.com/rust-lang/rfcbot-rs/blob/master/README.md) for info about what commands tagged team members can give me. - [**Initiating Comment**](https://github.com/rust-lang/rfcs/pull/3349#issuecomment-1396747889): > I do think we should permit `br"¥¥¥"`, but I don't think we should make any of the other changes proposed in that table, for the reasons @m-ou-se stated. > > I'm going to go ahead and propose FCP for this. This does *not* preclude making further changes to how this information is presented. > > @rfcbot merge > > @rfcbot concern raw-byte-strings-with-unicode ### "Tracking issue for RFC 2515, "Permit impl Trait in type aliases"" rust#63063 - **Link:** https://github.com/rust-lang/rust/issues/63063 - [**Tracking Comment**](https://github.com/rust-lang/rust/issues/63063#issuecomment-1360043090): > Team member @nikomatsakis has proposed to merge this. The next step is review by the rest of the tagged team members: > > * [x] @cramertj > * [x] @joshtriplett > * [x] @nikomatsakis > * [ ] @pnkfelix > * [ ] @scottmcm > > Concerns: > > * ~~~~ resolved by https://github.com/rust-lang/rust/issues/63063#issuecomment-1361432898 > * docs (https://github.com/rust-lang/rust/issues/63063#issuecomment-1364525286) > * function-defining-uses (https://github.com/rust-lang/rust/issues/63063#issuecomment-1385946789) > > Once a majority of reviewers approve (and at most 2 approvals are outstanding), this will enter its final comment period. If you spot a major issue that hasn't been raised at any point in this process, please speak up! > > cc @rust-lang/lang-advisors: FCP proposed for lang, please feel free to register concerns. > See [this document](https://github.com/rust-lang/rfcbot-rs/blob/master/README.md) for info about what commands tagged team members can give me. - [**Initiating Comment**](https://github.com/rust-lang/rust/issues/63063#issuecomment-1360043060): > @rfcbot fcp merge > > This has been a long-time coming. Let's Do This! > > [Stabilization report in this comment.](https://github.com/rust-lang/rust/issues/63063#issuecomment-1354392317) https://github.com/rust-lang/rust/issues/107645 tmandry: Most flexible would be to restrict to items that mention the TAIT in their return types? pnkfelix: Wonder why that wasn't mentioned. scottmcm: FCP on this decision pnkfelix: Will create a zulip thread to discuss more options. tmandry: Can include the return type option there if you don't. ### "Tracking Issue for "C-unwind ABI", RFC 2945" rust#74990 - **Link:** https://github.com/rust-lang/rust/issues/74990 - [**Tracking Comment**](https://github.com/rust-lang/rust/issues/74990#issuecomment-1363474839): > Team member @joshtriplett has proposed to merge this. The next step is review by the rest of the tagged team members: > > * [x] @joshtriplett > * [x] @nikomatsakis > * [ ] @pnkfelix > * [x] @scottmcm > * [x] @tmandry > > Concerns: > > * docs (https://github.com/rust-lang/rust/issues/74990#issuecomment-1364528477) > > Once a majority of reviewers approve (and at most 2 approvals are outstanding), this will enter its final comment period. If you spot a major issue that hasn't been raised at any point in this process, please speak up! > > cc @rust-lang/lang-advisors: FCP proposed for lang, please feel free to register concerns. > See [this document](https://github.com/rust-lang/rfcbot-rs/blob/master/README.md) for info about what commands tagged team members can give me. - [**Initiating Comment**](https://github.com/rust-lang/rust/issues/74990#issuecomment-1363474832): > Shall we stabilize the `extern "C-unwind"` and other `-unwind` calling conventions? This change will leave `extern "C"` unchanged for now, but have the existing feature gate continue to opt into the new behavior on nightly. We'll do a separate change later to make `extern "C"` and similar not permit unwinding. > > @rfcbot merge tmandry: I'll look at my doc comments at least. ### "Stabilise inline_const" rust#104087 - **Link:** https://github.com/rust-lang/rust/pull/104087 - [**Tracking Comment**](https://github.com/rust-lang/rust/pull/104087#issuecomment-1350231887): > Team member @scottmcm has proposed to merge this. The next step is review by the rest of the tagged team members: > > * [x] @cramertj > * [x] @joshtriplett > * [x] @nikomatsakis > * [ ] @pnkfelix > * [x] @scottmcm > > Concerns: > > * expectations-around-panics-in-inline-const (https://github.com/rust-lang/rust/pull/104087#issuecomment-1379582240) > * post-monomorphization-errors (https://github.com/rust-lang/rust/pull/104087#issuecomment-1409927203) > * should-unused-code-cause-errors (https://github.com/rust-lang/rust/pull/104087#issuecomment-1410921524) > > Once a majority of reviewers approve (and at most 2 approvals are outstanding), this will enter its final comment period. If you spot a major issue that hasn't been raised at any point in this process, please speak up! > > cc @rust-lang/lang-advisors: FCP proposed for lang, please feel free to register concerns. > See [this document](https://github.com/rust-lang/rfcbot-rs/blob/master/README.md) for info about what commands tagged team members can give me. - [**Initiating Comment**](https://github.com/rust-lang/rust/pull/104087#issuecomment-1350231871): > Restarting the FCP from https://github.com/rust-lang/rust/pull/104087#issuecomment-1315946122 > > @rfcbot fcp merge ### "Properly allow macro expanded `format_args` invocations to uses captures" rust#106505 - **Link:** https://github.com/rust-lang/rust/pull/106505 - [**Tracking Comment**](https://github.com/rust-lang/rust/pull/106505#issuecomment-1402511990): > Team member @scottmcm has proposed to merge this. The next step is review by the rest of the tagged team members: > > * [x] @joshtriplett > * [ ] @nikomatsakis > * [ ] @pnkfelix > * [x] @scottmcm > * [ ] @tmandry > > Concerns: > > * ~~please-link-tests~~ resolved by https://github.com/rust-lang/rust/pull/106505#issuecomment-1416417520 > > Once a majority of reviewers approve (and at most 2 approvals are outstanding), this will enter its final comment period. If you spot a major issue that hasn't been raised at any point in this process, please speak up! > > cc @rust-lang/lang-advisors: FCP proposed for lang, please feel free to register concerns. > See [this document](https://github.com/rust-lang/rfcbot-rs/blob/master/README.md) for info about what commands tagged team members can give me. - [**Initiating Comment**](https://github.com/rust-lang/rust/pull/106505#issuecomment-1402511930): > We discussed this in the lang team meeting today. Broadly we thought that proc macros being able to emit tokens that use captures makes logical sense. Basically, a proc macro *emitting* something as a whole that one could write directly, as in https://github.com/rust-lang/rust/pull/106505/files#diff-868206cf54a88d81468a76d45e639cea40c537f2031d19f06c114e3cb329a426R44, seems entirely fine, though mixing things like `format!(concat!(…))` might still be best to reject. > > So I'll start a > > @rfcbot fcp merge > > but we had some requests to confirm, so... ### "Stabilize `anonymous_lifetime_in_impl_trait`" rust#107378 - **Link:** https://github.com/rust-lang/rust/pull/107378 - [**Tracking Comment**](https://github.com/rust-lang/rust/pull/107378#issuecomment-1430287200): > Team member @joshtriplett has proposed to merge this. The next step is review by the rest of the tagged team members: > > * [x] @joshtriplett > * [ ] @nikomatsakis > * [ ] @pnkfelix > * [ ] @scottmcm > * [ ] @tmandry > > No concerns currently listed. > > Once a majority of reviewers approve (and at most 2 approvals are outstanding), this will enter its final comment period. If you spot a major issue that hasn't been raised at any point in this process, please speak up! > > cc @rust-lang/lang-advisors: FCP proposed for lang, please feel free to register concerns. > See [this document](https://github.com/rust-lang/rfcbot-rs/blob/master/README.md) for info about what commands tagged team members can give me. - [**Initiating Comment**](https://github.com/rust-lang/rust/pull/107378#issuecomment-1430287177): > We discussed this in today's @rust-lang/lang meeting, and we think this is ready for an FCP to merge: > > @rfcbot merge > > We'd also like to make sure that future work on type-alias impl Trait (TAIT) doesn't automatically assume anonymous lifetimes will work there, and thinks carefully about how or if that should work. ## Active FCPs None. ## P-critical issues None. ## Nominated RFCs, PRs and issues discussed this meeting ### "lang agenda generator ignores lang-nominated closed issues" lang-team#199 **Link:** https://github.com/rust-lang/lang-team/issues/199 ### "RFC: result_ffi_guarantees" rfcs#3391 **Link:** https://github.com/rust-lang/rfcs/pull/3391 scottmcm: Why is this not a layout guarantee? Lokathor: ABI is separate from layout, but the RFC actually defines both of them. Lokathor: Some questions around stability josh: We document layout guarantees for Option (https://doc.rust-lang.org/std/option/#representation), not Result scottmcm: "option-like" <https://rust-lang.github.io/unsafe-code-guidelines/layout/enums.html#discriminant-elision-on-option-like-enums>. gary: https://github.com/rust-lang/rust/pull/60300 is FCP-ed by T-lang and covers all option-like tmandry: Concerned about ZSTs becoming non-ZSTs, but `()` seems fine. Lokathor: Sometimes crate authors will use a ZST for errors. tmandry: Maybe `#[repr(transparent)]` can be used to mark it. scottmcm: ZST, 1-alignment, ... . We have some issues about `repr(transparent)` getting this wrong, but it's all the same problems. scottmcm: Seems like wanting a custom ZST is more valid for the E than the T side. ## Nominated RFCs, PRs and issues NOT discussed this meeting ### "RFC: Start working on a Rust specification" rfcs#3355 **Link:** https://github.com/rust-lang/rfcs/pull/3355 ### "Introduce terminating scope for tail expressions of breakable scopes" rust#106493 **Link:** https://github.com/rust-lang/rust/pull/106493 ### "TAIT defining scope options" rust#107645 **Link:** https://github.com/rust-lang/rust/issues/107645