Skip to content

Commit 9e3bec1

Browse files
authored
feat: add coding guidelines notes from 2025-10-29 (#498)
1 parent 3587c60 commit 9e3bec1

1 file changed

Lines changed: 138 additions & 0 deletions

File tree

  • subcommittee/coding-guidelines/meetings/2025-10-29
Lines changed: 138 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,138 @@
1+
# **Coding Guidelines Subcommittee Meeting on 2025-10-29 @ 1100 EDT / 1600 CET**
2+
3+
[Link](https://www.worldtimebuddy.com/?qm=1&lid=5,100,2643743,12,1850147,2193733,8,6,2673730,1261481&h=5&date=2025-10-29&sln=11-12&hf=1) to meeting time in common time zones.
4+
5+
| Search Key | Description |
6+
| :---- | :---- |
7+
| \[todo\] | Action Item |
8+
| \[decision\] | Something decided on |
9+
| \[important\] | Key information |
10+
11+
## **Agenda**
12+
13+
1. Solicitation of notetaker
14+
2. Acceptance of [Previous Meeting Minutes](https://github.com/rustfoundation/safety-critical-rust-consortium/blob/main/subcommittee/coding-guidelines/meetings/2025-10-22/minutes.md)
15+
3. Introduction of new member
16+
4. Share launch milestone & Kanban board (Pete LeVasseur)
17+
* [Prepare for launch to wider Rust community](https://github.com/rustfoundation/safety-critical-rust-coding-guidelines/milestone/1)
18+
* [Kanban board](https://github.com/orgs/rustfoundation/projects/1/views/3)
19+
* [`contributor experience`](https://github.com/orgs/rustfoundation/projects/1/views/4) view
20+
* [`coding guideline`](https://github.com/orgs/rustfoundation/projects/1/views/5) view
21+
5. [FLS Team](https://rust-lang.org/governance/teams/lang/#team-fls) started (Pete)
22+
* If interested in becoming involved, feel free to visit [Zulip channel](https://rust-lang.zulipchat.com/#narrow/channel/520710-t-lang.2Ffls) or come to our first meeting (find the `.ics` [here](https://rust-lang.github.io/calendar/fls.ics))
23+
6. Eclipse S-CORE usage of Rust (Pete/Markus)
24+
* Find their relevant meeting notes [here](https://github.com/orgs/eclipse-score/discussions/1933)
25+
7. Review progress on guidelines incorporated from CERT
26+
* [High-level mapping of CERT rule groups to Rust](https://github.com/rustfoundation/safety-critical-rust-coding-guidelines/issues/152)
27+
* Integers \- Félix Fischer
28+
* Arrays \- Alex Celeste
29+
* Floating Point \- Andrew Fernandes
30+
8. Rule flavors discussion
31+
9. Round table
32+
33+
## **Check-in area**
34+
35+
**Please add your name, and an emoji that describes your day.**
36+
37+
* Max Jacinto 🦀
38+
* Alex Celeste ☕
39+
* Pete LeVasseur 🧑‍💻🖇️
40+
* Alex Senier 🤪
41+
* Oreste Bernardi 🏙️
42+
* William Cunningham
43+
* Julius Gustavsson 🙃
44+
* Christof Petig 🐛
45+
* Gideon Mueller
46+
* Douglas Deslauriers 🎃
47+
* Tiago Manczak
48+
* Dillon McEwan ☕
49+
50+
**Notetaker:**
51+
52+
* Alex Celeste
53+
54+
For tips on how we take notes in the Safety-Critical Rust Consortium, please see the [Meeting Notetaker Role](https://github.com/rustfoundation/safety-critical-rust-consortium/blob/main/docs/notetaker-role.md) doc.
55+
56+
## **Housekeeping section**
57+
58+
* Document space: [coding-guidelines](https://github.com/rustfoundation/safety-critical-rust-consortium/tree/main/subcommittee/coding-guidelines)
59+
* Zulip: [safety-critical-consortium: Coding Guidelines](https://rust-lang.zulipchat.com/#narrow/channel/445688-safety-critical-consortium/topic/Coding.20Guidelines)
60+
* [Kanban board](https://github.com/orgs/rustfoundation/projects/1/views/3)
61+
* [`contributor experience`](https://github.com/orgs/rustfoundation/projects/1/views/4) view
62+
* [`coding guideline`](https://github.com/orgs/rustfoundation/projects/1/views/5) view
63+
64+
## **Tasks**
65+
66+
* Xx
67+
68+
## **Meeting Minutes**
69+
70+
* Introduction of new membres: non-safety-critical ECU shipping Rust in production at \[vendor\]
71+
* Due date removed from launch milestone but items remain priorities for preparing an announcement
72+
* (some of this is automation/infra)
73+
* Similar content is viewable in the Kanban board
74+
* Chapter review tasks to appear here
75+
* FLS Team\! “If you’re interested, take a look”
76+
* First meeting upcoming
77+
* This is a good way to give back if your use case for the compiler is in a safety-critical project
78+
* Will not be forced to contribute
79+
* Eclipse S-CORE: automotive companies in EU collaborating on a better/future software stack as an open-source commodity
80+
* [https://eclipse.dev/score/](https://eclipse.dev/score/) and [https://github.com/eclipse-score](https://github.com/eclipse-score)
81+
* There is a regular Rust meeting, Pete is attending
82+
* There will be a larger meeting about Rust’s role in this upcoming
83+
* Targeting a 1.0 release at the end of 2026; targeting ASIL-B development; want to be able to use Rust for this
84+
* Eclipse SDV is open to the public to attend ([https://sdv.eclipse.org/](https://sdv.eclipse.org/))
85+
* CERT-C progress
86+
* Stalled on Arrays
87+
* Others not present today
88+
* Rules flavours
89+
* Summary of topics from last week and from the breakout session in the All-hands
90+
* Main driver of the discussion are Markus’s ideas
91+
* \[decision\] Postpone till Markus able to join
92+
* Marketing collateral
93+
* Company would like some content to talk about, or announced version of the coding guidelines
94+
* Coding guidelines in current state doesn’t seem to be of appropriate level of maturity to market far and wide at industry event
95+
* Action item to create an issue for a new rule w.r.t type annotation on variable bindings
96+
* A review of the C++ precedent revealed two positions: “almost always \`auto\`” vs not to do this especially in interfaces
97+
* Loose proposal in previous meeting to require a type annotation when the language server cannot display a “nice” type
98+
* Does the precedent from C++ indicate that this is not important after all? Perhaps there isn’t always intent to restrict this
99+
* For C++ this is much more ambiguous than in Rust, especially because references can be implicit
100+
* What do AUTOSAR and MISRA C++ say about this?
101+
* Nothing in MISRA C++ (the group has no opinion)
102+
* AUTOSAR has some related rules \- target the idea that \`auto\` should not be used when the resulting type is not clear, but for things like getting an iterator, typing it out is not helpful; requires strong types for interfaces
103+
* Writing generic C++ code is difficult to do while staying within these guidelines as they can result in the tool complaining more
104+
* It might make sense to have a guideline w.r.t clarity, but this is probably not decidable
105+
* Probably not necessary to restrict type inference at the moment \- there seems to be little appetite for an undecidable rule
106+
* If the compiler itself cannot infer the type at all that’s a different issue anyway
107+
* Previously did not consider delayed inference, although the compiler still rejects ambiguities
108+
* Concerned about an API that may do something different from what is expected because of the type selecting a behaviour through an unexpected trait
109+
* Rule proposed previously was based on interaction with editing environments and what is shown to the user \- the rule may help clarity in places where the editor would display something unreadable
110+
* This tool feature implies a need for the information
111+
* Implicit safety requirement on the analyzer as well, to show the reviewer the right type and thus enable them to correctly understand the code
112+
* The feature is often useful while editing rather than while reading \- once done making changes, it will be checked by the compiler
113+
* \[todo\] The action here is to open a generic Issue, not a new-guideline Issue, to keep track of the group’s thoughts and any evolving discussion
114+
* \[todo\] Request to provide an example or two to attach to the issue to illustrate
115+
* Next AUTOSAR release event (25-11) will have a section about Rust in the video presentation, in the Classic platform
116+
* Includes some stats about errors prevented by use of Rust in Classic
117+
* Discussion of safety-critical in closing keynote at RustConf 2025; short but the vision doc team will write an RFC about the lessons and insights, domains identified; Pete did 20-25 interviews so safety-critical will feature prominently
118+
* (link here)
119+
* Florian gave some examples in a presentation w.r.t guidelines for unsafe using the example of a mutex; all of the code impacting the safe justification for the unsafe block needs to be in the same module so that the impact of it can be understood
120+
* Should this be a new guideline?
121+
* Would this be a decidable guideline or require manual review?
122+
* An unsafe block should require a justification and this justification should summarize all APIs relevant to it; by listing them it provides a list of additional points to review and this can generate proactive warnings to the reviewer; so there are useful automations associated with this, but not fully bidirectional
123+
* Some users isolate all uses of \`unsafe\` into a dedicated crate for separate review
124+
* Ensuring that all APIs (types and functions) which affect one specific unsafe behaviour are together makes them easier to review, not necessarily the same line of distinction
125+
* The module boundary is where invariants are easiest to uphold, can be a broader boundary if split across more than one module
126+
* Related to some of the discussion in Eclipse S-CORE w.r.t design guidelines around unsafety
127+
* \[todo\] Another topic for a new discussion Issue
128+
* We have a number of issues discussing unsafety already but maybe not capturing this angle
129+
* Should cover the module-level discussion
130+
* The dice will have the logo printed on the 1 unless we pay extra for the 20\!
131+
132+
## **Material**
133+
134+
Any material to read before the meeting should be included here.
135+
136+
* Milestone: [Prepare for launch to wider Rust community](https://github.com/rustfoundation/safety-critical-rust-coding-guidelines/milestone/1)
137+
* FLS Maintenance: [FLS Team \- North Star](https://hackmd.io/@plevasseur/HJb6qomOge/edit)
138+
* [Github Issue to discuss about panicking in Safety Critical](https://github.com/rustfoundation/safety-critical-rust-coding-guidelines/issues/158)

0 commit comments

Comments
 (0)