Skip to content

Commit eba89c2

Browse files
authored
coding guidelines agenda 2026-06-17 (Safety-Critical-Rust-Consortium#682)
* coding guidelines agenda 2026-06-17 * add reminder to self to ask for availability for RustConf 2026 SCRC room * add notes
1 parent 21c2819 commit eba89c2

1 file changed

Lines changed: 106 additions & 0 deletions

File tree

  • subcommittee/coding-guidelines/meetings/2026-06-17
Lines changed: 106 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,106 @@
1+
# **Coding Guidelines Subcommittee Meeting on 2026-06-17 @ 1600 CEST / 1100 EDT**
2+
3+
[Link](https://www.worldtimebuddy.com/?qm=1&lid=5,12,2643743,8,1850147,100,14,14,1835848&h=5&date=2026-6-3&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/Safety-Critical-Rust-Consortium/safety-critical-rust-consortium/blob/main/subcommittee/coding-guidelines/meetings/2026-06-10/minutes.md)
15+
3. Introduction of new members
16+
4. Solicit availability for RustConf 2026 SCRC Room
17+
- Please put availability on this [LettuceMeet](https://lettucemeet.com/l/oYlvM)
18+
5. Discuss possible 2-3 coding guidelines to choose for Clippy lints
19+
- Picking "decidable" ones probably good
20+
- Let's look here: [https://coding-guidelines.arewesafetycriticalyet.org/coding-guidelines/expressions/index.html](https://coding-guidelines.arewesafetycriticalyet.org/coding-guidelines/expressions/index.html)
21+
6. First version of MISRA C \+ CERT C Appendices [live](https://coding-guidelines.arewesafetycriticalyet.org/appendices/standards-matrices/index.html)
22+
- Pete will now mine these appendices for creating issues for contributors
23+
7. Liaison White Paper Solicitation (Alex)
24+
8. Interest in the MISRA C++ mapping (mira / Pete)
25+
- Updates on new things in the MISRA C++ \=\> Rust mapping
26+
- In talks with MISRA folks still; but in practice the procedure outlined seemed reasonable to them
27+
- 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)
28+
9. Round table
29+
30+
## **Check-in area**
31+
32+
- Pete LeVasseur ➕
33+
- Oreste Bernardi 🌞
34+
- Markus Hosch 🤯
35+
- Max Jacinto 📖
36+
- Samuel Wright ☀️
37+
- Mira Baumann
38+
- Alex Celeste ☕
39+
- Achim Kriso 🦆
40+
41+
**Notetaker:**
42+
43+
- Alex Celeste
44+
45+
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.
46+
47+
## **Housekeeping section**
48+
49+
- Document space: [coding-guidelines](https://github.com/rustfoundation/safety-critical-rust-consortium/tree/main/subcommittee/coding-guidelines)
50+
- Zulip: [safety-critical-consortium: Coding Guidelines](https://rust-lang.zulipchat.com/#narrow/channel/445688-safety-critical-consortium/topic/Coding.20Guidelines)
51+
- [Kanban board](https://github.com/orgs/rustfoundation/projects/1/views/3)
52+
- [`contributor experience`](https://github.com/orgs/rustfoundation/projects/1/views/4) view
53+
- [`coding guideline`](https://github.com/orgs/rustfoundation/projects/1/views/5) view
54+
55+
## **Tasks**
56+
57+
- Alex: create an Issue listing the rules we have identified as applicable and their starting partial coverage lints
58+
- Sam: investigate lint ii (pointer as underscore)
59+
- Pete: investigate lint iii (integer to pointer, general conversions)
60+
- Pete: open an Issue for lint i (int as int)
61+
- Alex: circulate the zeroth Whitepaper draft onto Zulip with ideas jotted down by Pete
62+
- Pete: add a usage statement for copyrighted material to the shared drive and also to the end of the minutes template
63+
64+
## **Meeting Minutes**
65+
66+
- Previous minutes accepted with formatting fixes
67+
- Still need to decide on a day for the SCRC room at RustConf
68+
- Also need to arrange the online component
69+
- Having had two expert sessions now the group is ready to pick out 2-3 Clippy lints to work on
70+
- Reviewing the expression rules list: most are decidable, especially if type-oriented rather than value-oriented
71+
1. No \`as\` with integers is extremely similar to existing lints (no blanket lint but a widening lint exists) e.g. \`[clippy::cast\_lossless](https://rust-lang.github.io/rust-clippy/master/index.html?search=cast_loss#cast_lossless)\` \- inexact match but demonstrates checking of \`as\`
72+
2. \`as\`-pointer casts is also similar to existing lints e.g. \`[clippy::ptr\_as\_ptr](https://rust-lang.github.io/rust-clippy/master/index.html?search=underscore#as_pointer_underscore)\`, \`[clippy::as\_pointer\_underscore](https://rust-lang.github.io/rust-clippy/master/index.html?search=underscore#as_pointer_underscore)\` \- inexact match
73+
3. Integer to pointer has some support as \`[integer-to-ptr-transmutes](https://doc.rust-lang.org/rustc/lints/listing/warn-by-default.html?highlight=int%20to%20pointer#integer-to-ptr-transmutes)\`, still only partial coverage (transmute only)
74+
4. Shifting out of range and division by zero are not decidable, partial support in \`[arithmetic-overflow](https://doc.rust-lang.org/rustc/lints/listing/deny-by-default.html?highlight=shift#arithmetic-overflow)\` \- probably intent to split the shift rule into constant and dynamic versions for decidability as the more constrained case is still useful; the existing lint is focused on constant shift rhs values only; the general case of the rule needs to be changed to **undecidable**
75+
1. Related lint in \`[clippy::arithmetic\_side\_effects](https://rust-lang.github.io/rust-clippy/master/?search=overflo#arithmetic_side_effects)\` which bans the native infix operators that have a risk of overflow behaviours
76+
5. Integer to pointer conversions has two rules in the decidable and undecidable flavours; the decidable rule is partially covered by the lints above
77+
- Is there a reason we are particularly interested in the underscore for this rule?
78+
1. Converting to a \`dyn\` type is checked whereas converting between pointer types is (implicit) unsafe and unchecked
79+
- The Appendices are live\! GH Issues still to be generated from these, which may be a lot
80+
- Liaison White Paper Solicitation (Alex)
81+
- Proposal paper on items of shared value to pool funding
82+
1. For example: having the Guidelines completed; having Clippy lints written to enforce as many of the Guidelines as possible; having people with the Community dedicating time to that work; getting safety qualification for Clippy or other tools (bindgen etc); getting the guidance/documentation available to pursue qualification independently
83+
2. All of these items should be hardware, OS, vendor generic, and aiming to be useful to all or any of the existing safety standards (auto, aero, etc)
84+
3. Enlist the various topics from Rust Week into a draft document and then circulate on Zulip
85+
- Identify users of guidelines
86+
- Challenges in enforcing guidelines
87+
- Vendor opportunities (tooling)
88+
- Perspective of an assessor that has assessed Rust code
89+
- Success stories of application of Clippy lints in safety-critical context
90+
- On MISRA C++
91+
- Pete is in contact with David and Andrew at MISRA w.r.t supply of MISRA materials; agreeable so long as usage/access is restricted in some fashion to members of the WG only (i.e. MISRA C and MISRA C++ will be made visible to individual members)
92+
- Same statement of use needs to go on all the meeting notes
93+
- Mira continues to make progress on working through the MISRA C++ rules
94+
1. The preprocessor remains an unstarted topic
95+
2. Questions for Doug on certain specific rules
96+
97+
## **Material**
98+
99+
Any material to read before the meeting should be included here.
100+
101+
Overview of [Safety-Critical Rust](https://rust-lang.github.io/rust-project-goals/2026/roadmap-safety-critical-rust.html) Rust Project Goals Roadmap (Pete)
102+
103+
- Soliciting those interested in [Normative Documentation for Sound unsafe Rust](https://rust-lang.github.io/rust-project-goals/2026/safe-unsafe-for-safety-critical.html) goal
104+
- Register interest [here](https://rust-lang.zulipchat.com/#narrow/channel/445688-safety-critical-consortium/topic/SCRC.20.3C.3D.3E.20t-opsem.3A.20Normative.20Documentation.20for.20Sound.20.60unsafe.60/with/586198564) on Rust Zulip
105+
- 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
106+
- Register interest [here](https://rust-lang.zulipchat.com/#narrow/channel/445688-safety-critical-consortium/topic/Getting.20involved.20with.20Clippy.20for.20SCRC.20lints/with/583090116) on Rust Zulip

0 commit comments

Comments
 (0)