Skip to content

Commit 3a9e14e

Browse files
authored
coding guidelines: minutes for 2026-04-15 (#631)
1 parent af23090 commit 3a9e14e

1 file changed

Lines changed: 136 additions & 0 deletions

File tree

  • subcommittee/coding-guidelines/meetings/2026-04-15
Lines changed: 136 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,136 @@
1+
# **Coding Guidelines Subcommittee Meeting on 2026-04-15 @ 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-15&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-08/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+
- Félix can share updates from his side on reviewing feedback
18+
- Let's split up again, to get some feedback on batches 1 & 2
19+
- [\#427 \[CERT C Review Batch 1/5\] Review proposed Rust categorization](https://github.com/rustfoundation/safety-critical-rust-coding-guidelines/issues/427)
20+
* Arshad
21+
* Arthur
22+
* Douglas
23+
* Félix
24+
- [\#428 \[CERT C Review Batch 2/5\] Review proposed Rust categorization](https://github.com/rustfoundation/safety-critical-rust-coding-guidelines/issues/428)
25+
* Satoshi
26+
* Max
27+
* Pete
28+
* William
29+
5. Coverage of MISRA C and CERT C in 2026 (Félix / Markus)
30+
- MISRA C one has a [PR up](https://github.com/rustfoundation/safety-critical-rust-coding-guidelines/pull/432) from Markus
31+
- Félix met with Markus and will walk us through the "harmonized" version that should work for MISRA, CERT both
32+
6. Interest in the MISRA C++ mapping
33+
- Please register interest on [this Zulip thread](https://rust-lang.zulipchat.com/#narrow/channel/579369-safety-critical-consortium.2Fcoding-guidelines/topic/MISRA.20C.2B.2B.20Mapping.20Interest/with/584764785)
34+
- Pete/Alex/Joel are working out how we can have some kind of copy of the MISRA documents (C, C++) held in the jurisdiction of the Rust Foundation in support of members to be able to work on coding guidelines
35+
7. Overview of [Safety-Critical Rust](https://rust-lang.github.io/rust-project-goals/2026/roadmap-safety-critical-rust.html) \- Rust Project Goals Roadmap (Pete)
36+
- 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
37+
- Explanation of the work, as Pete understands from initial discussions with t-clippy
38+
8. Proposals and ideas for new rules (all)
39+
9. Progress on ongoing tasks (all)
40+
10. Round table
41+
42+
## **Check-in area**
43+
44+
**Please add your name, and an emoji that describes your day.**
45+
46+
* Pete LeVasseur ☕☕
47+
* Oreste Bernardi🏥
48+
* Samuel Tardieu 🎺
49+
* Jason Newcomb ❄️
50+
* Douglas Deslauriers 🌞
51+
* Arshad Mahmood 🌦️
52+
* Félix Fischer 🙂
53+
* William Barsse
54+
* Max Jacinto 🫠
55+
* Arthur Hicken 🌄🙂
56+
* Kaneko Satoshi
57+
58+
**Notetaker:**
59+
60+
* Douglas Deslauriers
61+
62+
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.
63+
64+
## **Housekeeping section**
65+
66+
* Document space: [coding-guidelines](https://github.com/rustfoundation/safety-critical-rust-consortium/tree/main/subcommittee/coding-guidelines)
67+
* Zulip: [safety-critical-consortium: Coding Guidelines](https://rust-lang.zulipchat.com/#narrow/channel/445688-safety-critical-consortium/topic/Coding.20Guidelines)
68+
* [Kanban board](https://github.com/orgs/rustfoundation/projects/1/views/3)
69+
* [`contributor experience`](https://github.com/orgs/rustfoundation/projects/1/views/4) view
70+
* [`coding guideline`](https://github.com/orgs/rustfoundation/projects/1/views/5) view
71+
72+
## **Tasks**
73+
74+
* \[Pete\] Determine a list of people interested in Clippy integration and working with them
75+
* \[Pete\] Determine an easy Clippy lint for trial run
76+
* \[Pete\] Reach out to Markus about MISRA C mapping
77+
* \[Doug\] Open separate issue for PRE31
78+
79+
## **Meeting Minutes**
80+
81+
* Previous meeting notes
82+
* No objections
83+
* Clippy collaboration
84+
* The safety critical rust consortium members don’t want to have to use another separate tool to verify coding guidelines
85+
* There are some coding guidelines which are in a good enough space that Clippy lints could start to be implemented
86+
* Suggestion to have a few interactive sessions to help introduce our team to implementing or starting to implement lints
87+
1. What to look for when opening an issue
88+
2. How to best provide suggestions
89+
* It was suggested to open a new issue/PR against Clippy with the SCRC tag
90+
1. It is possible to open issues without the intention to implement a lint, a contributor will hopefully be found
91+
* During collaboration, the SCRC team is proposed as mostly reviewing the implementation of lints to ensure they work with all examples
92+
* There is are existing tutorial information, which could be a guide to SCRC members
93+
* Clippy is not looking to do global analysis, and will doing a crate by crate analysis
94+
* How does Clippy deal with undecidable rules?
95+
1. If Clippy can determine a violation it shows a message, if it can prove no violation then no message, the question is for when Clippy can’t know
96+
2. It entirely depends on the lint, some false positives are acceptable, sometimes false negatives are acceptable
97+
* Are most Clippy lints done on the MIR level?
98+
1. Clippy has its own const evaluator which is used for some lints
99+
* Does Clippy denote undecidable lints on [their lint page](https://rust-lang.github.io/rust-clippy/master/index.html)?
100+
1. It might be good to add this to the database for SCRC use cases
101+
2. There are two possible ways to look at decidability, one from a theoretical point of view (guidelines), one from a tool point of view (Clippy)
102+
3. No objection to adding that classification, but that might be a good deal of work to label them
103+
* Proposed easy to implement lints
104+
1. [The 'as' operator should not be used with numeric operands](https://coding-guidelines.arewesafetycriticalyet.org/coding-guidelines/expressions/gui_ADHABsmK9FXz.html#gui_ADHABsmK9FXz)
105+
2. [Avoid out-or-range shifts](https://coding-guidelines.arewesafetycriticalyet.org/coding-guidelines/expressions/gui_LvmzGKdsAgI5.html)
106+
3. [Do not shift an expression by a negative number of bits or by greater than or equal to the bitwidth of the operand](https://coding-guidelines.arewesafetycriticalyet.org/coding-guidelines/expressions/gui_RHvQj8BHlz9b.html)
107+
4. [Do not use an integer type as a divisor during integer division](https://coding-guidelines.arewesafetycriticalyet.org/coding-guidelines/expressions/gui_7y0GAMmtMhch.html)
108+
* MISRA C Mapping
109+
* The work has already been done by Alex C, etc.
110+
* Markus has been working on this
111+
* MISRA C++ Mapping
112+
* Douglas and Max have expressed interesting performing this mapping
113+
* The SCRC is looking to purchase some copies for the institution
114+
* CERT C Mapping
115+
* Useful feedback has been provided on all of the batches of issues
116+
* There are still some loose ends to some of the feedback, and the original poster may be tagged ask for clarification
117+
* Break-out Sessions
118+
* Group batch 1
119+
1. PRE31: Agreed, might split this out into a [separate advisory guideline](https://github.com/Safety-Critical-Rust-Consortium/safety-critical-rust-coding-guidelines/issues/557)
120+
* Group batch 2
121+
1. PRE30: Agree; no observations
122+
2. DCL38: Agree; no observations
123+
3. EXP35: Agree; no observations
124+
4. EXP43: Agree; should only be taken into consideration when writing `unsafe` Rust and having lifetimes be involved
125+
5. ARR32: Agree; no observations
126+
6. ARR38: Agree; Would be interesting to have a general position with respect to recreating C-like behavior (e.g. a field that represents the size of a data structure) when an idiomatic Rust solution exists. However FFI does stand out as an area where this is likely to be necessary.
127+
7. STR32: Should be taken into consideration when writing `unsafe` Rust, specially with FFI/C-bindings (`CStrings`)
128+
8. FIO34: Should be taken into consideration depending on the use-case; `no-std` projects may need the raw bytes
129+
* Round Table
130+
* Macros are hard
131+
* There is a discussion on [batch 4](https://github.com/Safety-Critical-Rust-Consortium/safety-critical-rust-coding-guidelines/issues/430#issuecomment-4074338619) about FFI, please take a look at the second part of the linked comment if you have thoughts
132+
* FFI is an important design space to think about guidelines in, and CERT C can teach us about interfacing with C
133+
134+
## **Material**
135+
136+
Any material to read before the meeting should be included here.

0 commit comments

Comments
 (0)