|
| 1 | +# **Coding Guidelines Subcommittee Meeting on 2026-05-01 @ 0800 JST / 1900 EDT** |
| 2 | + |
| 3 | +[Link](https://www.worldtimebuddy.com/?qm=1&lid=5,12,2643743,8,1850147,100,14,14&h=5&date=2026-4-30&sln=19-20&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 |
| 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 | + - Let's split up again, to get some feedback on batches 1 & 2 |
| 18 | + - [\#427 \[CERT C Review Batch 1/5\] Review proposed Rust categorization](https://github.com/rustfoundation/safety-critical-rust-coding-guidelines/issues/427) |
| 19 | + - [\#428 \[CERT C Review Batch 2/5\] Review proposed Rust categorization](https://github.com/rustfoundation/safety-critical-rust-coding-guidelines/issues/428) |
| 20 | +5. Coverage of MISRA C and CERT C in 2026 (Félix / Markus updates) |
| 21 | + - MISRA C one has a [PR up](https://github.com/rustfoundation/safety-critical-rust-coding-guidelines/pull/432) from Markus |
| 22 | +6. Interest in the MISRA C++ mapping |
| 23 | + - 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) |
| 24 | + - Pete/Alex 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 |
| 25 | +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) |
| 26 | + - 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 |
| 27 | + - 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 |
| 28 | + - 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 |
| 29 | + - 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 |
| 30 | +8. Proposals and ideas for new rules (all) |
| 31 | +9. Progress on ongoing tasks (all) |
| 32 | +10. Round table |
| 33 | + |
| 34 | +## **Check-in area** |
| 35 | + |
| 36 | +**Please add your name, and an emoji that describes your day.** |
| 37 | + |
| 38 | +- Mikhail Antoshkin ☕ |
| 39 | +- Max Jacinto 🍜 |
| 40 | +- Pete LeVasseur 🖖 |
| 41 | +- Yuchen Shen ☕ |
| 42 | + |
| 43 | +**Notetaker:** |
| 44 | + |
| 45 | +- Mikhail Antoshkin |
| 46 | + |
| 47 | +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. |
| 48 | + |
| 49 | +## **Housekeeping section** |
| 50 | + |
| 51 | +- Document space: [coding-guidelines](https://github.com/rustfoundation/safety-critical-rust-consortium/tree/main/subcommittee/coding-guidelines) |
| 52 | +- Zulip: [safety-critical-consortium: Coding Guidelines](https://rust-lang.zulipchat.com/#narrow/channel/445688-safety-critical-consortium/topic/Coding.20Guidelines) |
| 53 | +- [Kanban board](https://github.com/orgs/rustfoundation/projects/1/views/3) |
| 54 | + - [`contributor experience`](https://github.com/orgs/rustfoundation/projects/1/views/4) view |
| 55 | + - [`coding guideline`](https://github.com/orgs/rustfoundation/projects/1/views/5) view |
| 56 | + |
| 57 | +## **Tasks** |
| 58 | + |
| 59 | +- None |
| 60 | + |
| 61 | +## **Meeting Minutes** |
| 62 | + |
| 63 | +- Agenda discussion |
| 64 | + - Coverage of MISRA C and CERT C and mapping to Rust |
| 65 | + - MISRA C++ |
| 66 | + - Lacking copies of MISRA C/C++ for consortium members, trying to procure |
| 67 | + - Roadmap |
| 68 | + - If you are interested in working on clippy lints - register your interest on Zulip, though time slot might be not the most comfortable for APAC |
| 69 | + - [Normative Documentation for Sound unsafe Rust](https://rust-lang.github.io/rust-project-goals/2026/safe-unsafe-for-safety-critical.html) goal |
| 70 | + 1. Same as clippy, if you are interested - register on Zulip |
| 71 | + 1. Doing what was done for zerocopy for [iceoryx2](https://github.com/eclipse-iceoryx/iceoryx2), extracting the unsafe usage patterns |
| 72 | +- Working on batch 1 of mapping CERT C rules |
| 73 | + - CERT C website had some issues, members were not able to access it |
| 74 | + - ENV34 |
| 75 | + - Does not map to _safe_ Rust, but falls under “don’t break safety contract of an unsafe function” |
| 76 | + - CON37 |
| 77 | + - Agreed, not in std |
| 78 | + - MSC30 |
| 79 | + - Agreed, not in std |
| 80 | + - FLP37 |
| 81 | + - It maps to rust, let’s have a guideline that prohibits this |
| 82 | + - [https://doc.rust-lang.org/std/primitive.f64.html#method.to_bits](https://doc.rust-lang.org/std/primitive.f64.html#method.to_bits) |
| 83 | + - STR31 |
| 84 | + - CStr is null-terminated [https://doc.rust-lang.org/std/ffi/struct.CStr.html](https://doc.rust-lang.org/std/ffi/struct.CStr.html) |
| 85 | + - The string types interfaces are preventing you from breaking the rule though, needs more investigation |
| 86 | + - DCL40 |
| 87 | + - Agreed, compiler is checking this |
| 88 | + - The only time it can come up is C FFI, but it’s, as wth ENV34, safety contracts |
| 89 | + - DCL39 |
| 90 | + - Agreed, but needs more investigation |
| 91 | + - INT36 |
| 92 | + - [https://doc.rust-lang.org/std/ptr/index.html#using-strict-provenance](https://doc.rust-lang.org/std/ptr/index.html#using-strict-provenance) maybe we can work in strict provenance into this guideline |
| 93 | + - CON40 |
| 94 | + - Agreed, we should have a guideline to point people to use APIs on atomics |
| 95 | + - CON36 |
| 96 | + - Agreed, the only additional note is “spuriously” is a load-bearing word here, since some logic might require wake up even if condition still does not hold |
| 97 | + - EXP40 |
| 98 | + - Agreed, but let’s move it from “maybe” to a becoming a rule about statics, since it’s not about const for rust |
| 99 | + - Probably maps directly to Unsafe Rust |
| 100 | + - STR30 |
| 101 | + - Agreed, but let’s move it from “maybe” to a becoming a rule about statics, since it’s not about const for rust |
| 102 | + - Probably maps directly to Unsafe Rust |
| 103 | + - EXP39: Agreed; worth checking out the Safe Transmute Project as mentioned |
| 104 | + - CON32: Agreed; might be good to generate rules around `Send` and `Sync` |
| 105 | + - CON43: Agreed; might be good to generate rules around `Send` and `Sync` |
| 106 | + |
| 107 | +## **Material** |
| 108 | + |
| 109 | +Any material to read before the meeting should be included here. |
0 commit comments