Skip to content

Commit d3677b1

Browse files
authored
coding guidelines: minutes for 2026-04-08 (#621)
1 parent 2814836 commit d3677b1

1 file changed

Lines changed: 98 additions & 0 deletions

File tree

  • subcommittee/coding-guidelines/meetings/2026-04-08
Lines changed: 98 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,98 @@
1+
# **Coding Guidelines Subcommittee Meeting on 2026-04-08 @ 1600 CEST / 1100 EDT**
2+
3+
[Link](https://www.worldtimebuddy.com/?qm=1&lid=5,12,2643743,8,1850147,100,14&h=5&date=2026-4-8&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/2026-04-01/minutes.md)
15+
3. Introduction of new members
16+
4. Review batches for [CERT C \=\> Rust Mapping](https://github.com/rustfoundation/safety-critical-rust-coding-guidelines/issues/336) (Pete)
17+
- Thank you to everyone for your support in providing feedback
18+
- Félix will go over this and come back in a week or two with thoughts
19+
5. Coverage of MISRA C and CERT C in 2026 (Félix / Markus)
20+
- MISRA C one has a [PR up](https://github.com/rustfoundation/safety-critical-rust-coding-guidelines/pull/432) from Markus
21+
- Félix met with Markus and will walk us through the "harmonized" version that should work for MISRA, CERT both
22+
6. Overview of [Safety-Critical Rust](https://rust-lang.github.io/rust-project-goals/2026/roadmap-safety-critical-rust.html) \- Rust Project Goals Roadmap (Pete)
23+
- Soliciting those interested in [Establish a Spot for Safety-Critical Lints in Clippy](https://rust-lang.github.io/rust-project-goals/2026/safety-critical-lints-in-clippy.html) goal
24+
- Explanation of the work, as Pete understands from initial discussions with t-clippy
25+
7. Proposals and ideas for new rules (all)
26+
8. Progress on ongoing tasks (all)
27+
9. Round table
28+
29+
## **Check-in area**
30+
31+
**Please add your name, and an emoji that describes your day.**
32+
33+
* Pete LeVasseur 🦀✍️
34+
* David Svoboda (-:
35+
* Arshad Mahmood 🌞
36+
* Max Jacinto ⚽
37+
* Samuel Wright 🌞
38+
* Andreas Weis 🫈
39+
* Félix Fischer ☕
40+
* Oreste Bernardi 🏥
41+
* Markus Hosch 👾
42+
* William Barsse 🦀
43+
* Jason Newcomb ☕
44+
* Achim Kriso 🙂
45+
46+
**Notetaker:**
47+
48+
* Andreas Weis
49+
50+
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.
51+
52+
## **Housekeeping section**
53+
54+
* Document space: [coding-guidelines](https://github.com/rustfoundation/safety-critical-rust-consortium/tree/main/subcommittee/coding-guidelines)
55+
* Zulip: [safety-critical-consortium: Coding Guidelines](https://rust-lang.zulipchat.com/#narrow/channel/445688-safety-critical-consortium/topic/Coding.20Guidelines)
56+
* [Kanban board](https://github.com/orgs/rustfoundation/projects/1/views/3)
57+
* [`contributor experience`](https://github.com/orgs/rustfoundation/projects/1/views/4) view
58+
* [`coding guideline`](https://github.com/orgs/rustfoundation/projects/1/views/5) view
59+
60+
## **Tasks**
61+
62+
* \[todo\] Pete LeVasseur: Clean up meeting minutes for 2026-04-01 Meeting
63+
64+
## **Meeting Minutes**
65+
66+
* Introduction of new members
67+
* CERT-C mapping
68+
* Rules were reviewed in smaller groups, feedback was given and is currently being worked through. Current plan is to complete this by next week.
69+
* Spreadsheet showing Mapping of MISRA C and CERT C
70+
* [PR is prepared](https://github.com/rustfoundation/safety-critical-rust-coding-guidelines/pull/432) for a *Standards Matrices* section in the Appendix of the guidelines document
71+
* Goal is to give people a shortcut how familiar rules from other guidelines are mapped into the Rust world
72+
* MISRA headlines can not be included in the table for IP reasons, so it only contains the rule numbers in the table
73+
* Some rules don’t work the same for Rust, e.g. Rust Octals use different (and less confusing) literals than C, so the rationale for the C rule no longer applies
74+
* Table 3 contains rules that are not applicable to Rust along with a comment explaining why it is safe to omit them for Rust. This table needs more work, many entries don’t have comments and existing comments are probably not detailed enough.
75+
* Table 1 also misses entries for Rust guidelines that the rule maps to. Links need to be added there.
76+
* We should focus on Mandatory and Required rules first, Advisory rules may be treated as lower priority
77+
* It was discussed whether the table should be maintained in a Google Sheet for easier editing. It was agreed that the only source of truth should be the .rst file in the repo, maintaining a Google Sheet on the side is not sensible. The rate of change is expected to go down significantly once the initial version of the table is finished.
78+
* Rust has the additional distinction between safe and unsafe parts, so rule applicability needs to be evaluated for those separately.
79+
* Rust Safety Critical Project goals and roadmap \- Writing clippy lints
80+
* Some existing lints could use better explanation and rationale texts, we could contribute there
81+
* Additional lints for new guidelines. We could implement them and gather feedback from clippy maintainers how to write proper lints
82+
* Process for adding new lints to clippy may be slow. Having a separate process to try out and experiment with new rules quickly might make sense for us. The idea is to have a “walled off section” for experimentation.
83+
* Some lints require global reasoning, which is not a good fit for clippy. Including this is in the default ruleset for clippy is probably undesirable. Clippy only works one-crate-at-a-time. Analysing across crate boundaries is not feasible.
84+
* Lints with high false positive rates? High false positive rate is probably fine. It may restrict which category a lint ends up in, but it is not a problem in principle.
85+
1. [https://doc.rust-lang.org/stable/clippy/lints.html\#pedantic](https://doc.rust-lang.org/stable/clippy/lints.html#pedantic)
86+
* lints requiring annotations for being decidable?
87+
1. Some existing lints rely on annotations on types. Annotation is not part of the type, but used by the linter to influence diagnostics.
88+
2. Clippy would prefer if annotations are not necessary for a check to work, but it can be discussed.
89+
3. All clippy::\* attributes are for use by clippy.
90+
4. It may be useful for safety critical to be able to compile a list of all attributes that are used to deviate from clippy warnings. This can be an important artifact to hand to an assessor for safety certification.
91+
* Easy way to configure a set of lints in bulk? Currently requires providing [a pre-written config file](https://doc.rust-lang.org/stable/clippy/configuration.html). There is an [RFC for lint profiles](https://github.com/rust-lang/rfcs/pull/3926) which may be helpful in this context, but it still requires someone to provide the profile.
92+
* Question: Can one lint fall under multiple lint groups?
93+
1. May help with the SCRC request for lints to be able to be turned on depending on different levels of safety-critical software and different standards
94+
* Meeting adjourned
95+
96+
## **Material**
97+
98+
Any material to read before the meeting should be included here.

0 commit comments

Comments
 (0)