Skip to content

Commit 35fc085

Browse files
committed
2022-05-31 minutes
1 parent 0bd4e2a commit 35fc085

File tree

1 file changed

+301
-0
lines changed

1 file changed

+301
-0
lines changed

minutes/2022-05-31.md

Lines changed: 301 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,301 @@
1+
---
2+
title: Triage meeting 2022-05-31
3+
tags: triage-meeting
4+
---
5+
6+
# T-lang meeting agenda
7+
8+
* Meeting date: 2022-05-31
9+
10+
## Attendance
11+
12+
* Team members: pnkfelix, joshtriplett
13+
* Others: simulacrum
14+
15+
## Meeting roles
16+
17+
* Action item scribe: simulacrum
18+
* Note-taker: pnkfelix
19+
20+
## Additional agenda items
21+
22+
- Kangrejos - Rust in Linux conference (workshop/summit), in Spain in mid-August (after RustConf)
23+
- planned in-person; no known plan to support hybrid for this specific event
24+
25+
- Unwinding from Drop impl
26+
- Amanieu seeking next steps on this
27+
- Rough consensus: we need a clear story for what should be done by applications that want to never stop (e.g. web servers catching panics within requests and returning 500 Internal Server Error)
28+
29+
- cfg_accessible being worked on
30+
- https://github.com/rust-lang/rust/pull/97391
31+
- May allow unblocking cfg_accessible
32+
- Discussion of certain implementation details, relating to trying to use feature in current-crate
33+
- Josh points out that the main use-case for this feature is for conditionalizing on accessibilty from *other crates*, so we would be happy if this feature simply errored out with "not supported" if you tried to apply it to something in the current crate.
34+
35+
## Action item review
36+
37+
* [Action items list](https://hackmd.io/gstfhtXYTHa3Jv-P_2RK7A)
38+
39+
## Pending lang team project proposals
40+
### "Deprecate target_vendor " lang-team#102
41+
42+
**Link:** https://github.com/rust-lang/lang-team/issues/102
43+
44+
### "Support platforms with size_t != uintptr_t" lang-team#125
45+
46+
**Link:** https://github.com/rust-lang/lang-team/issues/125
47+
48+
### "Positional Associated Types" lang-team#126
49+
50+
**Link:** https://github.com/rust-lang/lang-team/issues/126
51+
52+
### "Interoperability With C++ Destruction Order" lang-team#135
53+
54+
**Link:** https://github.com/rust-lang/lang-team/issues/135
55+
56+
### "allow construction of non-exhaustive structs when using functional update syntax" lang-team#143
57+
58+
**Link:** https://github.com/rust-lang/lang-team/issues/143
59+
60+
### "Add #[deprecated_safe] attribute to allow functions be be marked unsafe in a backwards compatible fashion" lang-team#147
61+
62+
**Link:** https://github.com/rust-lang/lang-team/issues/147
63+
64+
### "Async fns in traits" lang-team#150
65+
66+
**Link:** https://github.com/rust-lang/lang-team/issues/150
67+
68+
### "dyn* trait" lang-team#158
69+
70+
**Link:** https://github.com/rust-lang/lang-team/issues/158
71+
72+
### "Initiative: `?` traits, `try` blocks, `yeet` exprs, oh my" lang-team#160
73+
74+
**Link:** https://github.com/rust-lang/lang-team/issues/160
75+
76+
### "Initiative: Ghost types and blocks" lang-team#161
77+
78+
**Link:** https://github.com/rust-lang/lang-team/issues/161
79+
80+
### "Keyword generics" lang-team#162
81+
82+
**Link:** https://github.com/rust-lang/lang-team/issues/162
83+
84+
### "Add const evaluatable `where const { <block> }`" lang-team#163
85+
86+
**Link:** https://github.com/rust-lang/lang-team/issues/163
87+
88+
89+
90+
## PRs on the lang-team repo
91+
92+
None.
93+
94+
95+
96+
97+
## RFCs waiting to be merged
98+
99+
None.
100+
101+
102+
103+
104+
## Proposed FCPs
105+
106+
**Check your boxes!**
107+
### "Refined trait implementations" rfcs#3245
108+
109+
**Link:** https://github.com/rust-lang/rfcs/pull/3245
110+
- [**Tracking Comment**](https://github.com/rust-lang/rfcs/pull/3245#issuecomment-1116370994):
111+
> Team member @nikomatsakis has proposed to merge this. The next step is review by the rest of the tagged team members:
112+
>
113+
> * [x] @cramertj
114+
> * [ ] @joshtriplett
115+
> * [x] @nikomatsakis
116+
> * [x] @pnkfelix
117+
> * [ ] @scottmcm
118+
>
119+
> Concerns:
120+
>
121+
> * unresolved-question-for-next-edition (https://github.com/rust-lang/rfcs/pull/3245#issuecomment-1116371336)
122+
>
123+
> 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!
124+
>
125+
> 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.
126+
- [**Initiating Comment**](https://github.com/rust-lang/rfcs/pull/3245#issuecomment-1116370985):
127+
> @rfcbot fcp merge
128+
>
129+
> I think we've got consensus on most of this here -- the main question is whether, in the next edition, `#[refine]` ought to be required in order to see the effects of the change or optional (perhaps with a lint). I'm going to separate propose a concern to move this to an unresolved question, I dont' see why it should block this RFC from going forward now.
130+
131+
132+
133+
134+
### "Stabilize `let else`" rust#93628
135+
136+
**Link:** https://github.com/rust-lang/rust/pull/93628
137+
- [**Tracking Comment**](https://github.com/rust-lang/rust/pull/93628#issuecomment-1029383585):
138+
> Team member @joshtriplett has proposed to merge this. The next step is review by the rest of the tagged team members:
139+
>
140+
> * [x] @cramertj
141+
> * [x] @joshtriplett
142+
> * [x] @nikomatsakis
143+
> * [x] @pnkfelix
144+
> * [ ] @scottmcm
145+
>
146+
> Concerns:
147+
>
148+
> * need-consistency-rvalue-temporary-rules-between-let-and-let-else (https://github.com/rust-lang/rust/pull/93628#issuecomment-1055738523)
149+
> * ~~not-while-rustfmt-breaks-on-it~~ resolved by https://github.com/rust-lang/rust/pull/93628#issuecomment-1032936704
150+
> * ~~semicolon~~ resolved by https://github.com/rust-lang/rust/pull/93628#issuecomment-1059799661
151+
> * ~~stabilization-report~~ resolved by https://github.com/rust-lang/rust/pull/93628#issuecomment-1033846359
152+
> * ~~summarize-concerns~~ resolved by https://github.com/rust-lang/rust/pull/93628#issuecomment-1056785904
153+
>
154+
> 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!
155+
>
156+
> 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.
157+
- [**Initiating Comment**](https://github.com/rust-lang/rust/pull/93628#issuecomment-1029383577):
158+
> Shall we stabilize `let else` syntax? We've had many demonstrated uses, including extensively throughout `rust-lang/rust`, we've seen the value of it, and there aren't any known issues with it.
159+
>
160+
> @rfcbot merge
161+
162+
163+
164+
165+
166+
## Active FCPs
167+
### "Lang: Stabilize usage of rustc_nonnull_optimization_guaranteed on -1" rust#97122
168+
169+
**Link:** https://github.com/rust-lang/rust/issues/97122
170+
171+
- scottmcm: Where are these types exposed?
172+
- `std::os::unix::io`
173+
174+
### "Deprecate target_vendor " lang-team#102
175+
176+
**Link:** https://github.com/rust-lang/lang-team/issues/102
177+
178+
### "Positional Associated Types" lang-team#126
179+
180+
**Link:** https://github.com/rust-lang/lang-team/issues/126
181+
182+
### "Interoperability With C++ Destruction Order" lang-team#135
183+
184+
**Link:** https://github.com/rust-lang/lang-team/issues/135
185+
186+
### "allow construction of non-exhaustive structs when using functional update syntax" lang-team#143
187+
188+
**Link:** https://github.com/rust-lang/lang-team/issues/143
189+
190+
### "Add #[deprecated_safe] attribute to allow functions be be marked unsafe in a backwards compatible fashion" lang-team#147
191+
192+
**Link:** https://github.com/rust-lang/lang-team/issues/147
193+
194+
### "Async fns in traits" lang-team#150
195+
196+
**Link:** https://github.com/rust-lang/lang-team/issues/150
197+
198+
### "Initiative: `?` traits, `try` blocks, `yeet` exprs, oh my" lang-team#160
199+
200+
**Link:** https://github.com/rust-lang/lang-team/issues/160
201+
202+
### "Initiative: Ghost types and blocks" lang-team#161
203+
204+
**Link:** https://github.com/rust-lang/lang-team/issues/161
205+
206+
### "Keyword generics" lang-team#162
207+
208+
**Link:** https://github.com/rust-lang/lang-team/issues/162
209+
210+
211+
212+
## P-critical issues
213+
214+
None.
215+
216+
217+
218+
219+
## Nominated RFCs, PRs and issues discussed this meeting
220+
221+
222+
### "Stabilize `$$` and `${ignore}` in Rust 1.62.0" rust#95860
223+
224+
**Link:** https://github.com/rust-lang/rust/pull/95860
225+
226+
* CAD97 had some concerns
227+
* CAD97 pointed out that josh themself [got the syntax wrong](https://github.com/rust-lang/rust/pull/95860#issuecomment-1139881538) when interacting on issue; this gave them pause: Is this a sign that the syntax is itself overly confusing?
228+
* scottmcm is not sure we should read too much into that
229+
* (the specific concern is the use of `$op(var)` rather than `$op($var)`, since the latter is what many will expect): conflicting mental models of "`$var` is how you name a metavariable" versus "`$var` is the expansion of the metavariable var."
230+
* scottmcm: will we ever want random tokens in the input to `$ignore(..)`, or is it always going to be restricted to just metavariables?
231+
* scottmcm: should we ask a libs expert about this?
232+
* josh: why would this be a libs matter?
233+
* scottmcm: "libs" is a placeholder for "person who writes macros a lot"; e.g. dtolnay.
234+
* scottmcm: but maybe such people aready weighed in on the RFC?
235+
* simulacrum: was the alternative discussed on the RFC?
236+
* josh: don't think so
237+
* simulacrum: requiring the dollar sign would be backwards compatible with allowing it to be dropped.
238+
* josh: the real point is that its an error to include the dollar sign in the first place
239+
* pnkfelix: it comes down to that CAD97 question of what the right mental model is: "`$var` is how you name a metavariable" versus "`$var` is the expansion of the metavariable var."
240+
* pnkfelix: and this sets a precedent, right? This is the first time we're adding this kind of meta-operation.
241+
* josh: could support both options
242+
* scottmcm: or we could add the second option when we have another meta-operation that would motivate such support.
243+
* simulacrum: for now I would suggest changing to requiring `$var` now and not try to accept the other. It seems like the easier way to start, to force people to write the `$` and then if we can justify taking it out later, that will be an easier shift to make.
244+
* pnkfelix: so what would we want if we *were* trying to also adopt the other meta operations like `$count(..)`, `$index(..)`, ...
245+
* https://github.com/markbt/rfcs/blob/macro_metavar_expr/text/0000-macro-metavar-expr.md#guide-level-explanation
246+
* josh: do we think we (subset of T-lang) can actually make a decision in *this* meeting? or should we raise a concern and resolve the matter asynchronously?
247+
* pnkfelix: lets raise a concern.
248+
249+
### “Warn about dead tuple struct fields” rust#95977
250+
251+
Link: https://github.com/rust-lang/rust/pull/95977
252+
253+
- Do we have a migration plan?
254+
- Josh: labeled relnotes, we should mention it in release notes and wait a few releases
255+
- Mark: Should this special case PhantomData? (Mark to post a comment.)
256+
257+
258+
### "Stabilize `let_chains` in Rust 1.63.0" rust#94927
259+
260+
**Link:** https://github.com/rust-lang/rust/pull/94927
261+
262+
* With this, `let x = ...` now gets treated as an expression in terms of how macro expression parsing works.
263+
* https://github.com/rust-lang/rust/pull/97295
264+
* josh: if being conservative in this case is as simple as PR 97295, then I'm going to register that my concern is indeed blocking on landing PR #97295 first.
265+
266+
## Nominated RFCs, PRs and issues NOT discussed this meeting
267+
### "Covariance-related GAT lifetime mismatch" rust#89352
268+
269+
**Link:** https://github.com/rust-lang/rust/issues/89352
270+
271+
### "Neither require nor imply lifetime bounds on opaque type for well formedness" rust#95474
272+
273+
**Link:** https://github.com/rust-lang/rust/pull/95474
274+
275+
### "nested RPIT and HRTB: unclear semantics and future incompatibility" rust#96194
276+
277+
**Link:** https://github.com/rust-lang/rust/issues/96194
278+
279+
### "Change enum->int casts to not go through MIR casts." rust#96862
280+
281+
**Link:** https://github.com/rust-lang/rust/pull/96862
282+
283+
### "Should `repr(transparent)` require *inhabited* 1-ZSTs?" rust#96921
284+
285+
**Link:** https://github.com/rust-lang/rust/issues/96921
286+
287+
### "clarify how Rust atomics correspond to C++ atomics" rust#97516
288+
289+
**Link:** https://github.com/rust-lang/rust/pull/97516
290+
291+
### "Document the effect of main's return value?" reference#1196
292+
293+
**Link:** https://github.com/rust-lang/reference/issues/1196
294+
295+
### "Specify what happens when casting fat pointers more specifically" reference#1206
296+
297+
**Link:** https://github.com/rust-lang/reference/pull/1206
298+
299+
300+
301+

0 commit comments

Comments
 (0)