|
| 1 | +# **Coding Guidelines Subcommittee Meeting on 2026-03-27 @ 0800 JST / 1600 PDT** |
| 2 | + |
| 3 | +[Link](https://www.worldtimebuddy.com/?qm=1&lid=5,12,2643743,8,1850147,100,14&h=5&date=2026-3-25&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://docs.google.com/document/d/1-199gUHkqoV5gZp6Pmv67oBCaj-FIUcoiHKDR1bse90/edit?tab=t.0#heading=h.a85rlz5fz80p) |
| 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 | + - [\#427 \[CERT C Review Batch 1/5\] Review proposed Rust categorization](https://github.com/rustfoundation/safety-critical-rust-coding-guidelines/issues/427) |
| 18 | + - [\#428 \[CERT C Review Batch 2/5\] Review proposed Rust categorization](https://github.com/rustfoundation/safety-critical-rust-coding-guidelines/issues/428) |
| 19 | + - [\#429 \[CERT C Review Batch 3/5\] Review proposed Rust categorization](https://github.com/rustfoundation/safety-critical-rust-coding-guidelines/issues/429) |
| 20 | + - [\#430 \[CERT C Review Batch 4/5\] Review proposed Rust categorization](https://github.com/rustfoundation/safety-critical-rust-coding-guidelines/issues/430) |
| 21 | + - [\#431 \[CERT C Review Batch 5/5\] Review proposed Rust categorization](https://github.com/rustfoundation/safety-critical-rust-coding-guidelines/issues/431) |
| 22 | +5. Discuss running Asia-Pacific meeting organization |
| 23 | +6. Proposals and ideas for new rules (all) |
| 24 | +7. Progress on ongoing tasks (all) |
| 25 | +8. Round table |
| 26 | + |
| 27 | +## **Check-in area** |
| 28 | + |
| 29 | +* Mikhail Antoshkin ☕ |
| 30 | +* Pete LeVasseur 🖖 |
| 31 | +* Yuchen Shen ☕ |
| 32 | + |
| 33 | +**Please add your name, and an emoji that describes your day.** |
| 34 | + |
| 35 | +**Notetaker:** |
| 36 | + |
| 37 | +* Yuchen |
| 38 | + |
| 39 | +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. |
| 40 | + |
| 41 | +## **Housekeeping section** |
| 42 | + |
| 43 | +* Document space: [coding-guidelines](https://github.com/rustfoundation/safety-critical-rust-consortium/tree/main/subcommittee/coding-guidelines) |
| 44 | +* Zulip: [safety-critical-consortium: Coding Guidelines](https://rust-lang.zulipchat.com/#narrow/channel/445688-safety-critical-consortium/topic/Coding.20Guidelines) |
| 45 | +* [Kanban board](https://github.com/orgs/rustfoundation/projects/1/views/3) |
| 46 | + * [`contributor experience`](https://github.com/orgs/rustfoundation/projects/1/views/4) view |
| 47 | + * [`coding guideline`](https://github.com/orgs/rustfoundation/projects/1/views/5) view |
| 48 | + |
| 49 | +## **Tasks** |
| 50 | + |
| 51 | +* xx |
| 52 | + |
| 53 | +## **Meeting Minutes** |
| 54 | + |
| 55 | +* Have mapping between Cert C to Rust and Misra C to Rust in FY26 |
| 56 | +* MEM34 partially applicable to Rust, only in unsafe |
| 57 | + * We don’t do a lot manual allocations in Rust |
| 58 | + * There is case that user creates bindings to libc memory API |
| 59 | + * Do we need a specific rule for FFI? |
| 60 | + * List all the possibilities for Rust programmer to use free() and dealloc() in the mapped rule |
| 61 | +* CON35 applicable but probably change the name to not mention “by the predefined order” but just “avoid deadlock”. Rust has better API to avoid deadlock |
| 62 | + * Parking\_lot has the experimental mechanism to prevent deadlock |
| 63 | + * [https://fuchsia-docs.firebaseapp.com/rust/lock\_order/index.html](https://fuchsia-docs.firebaseapp.com/rust/lock_order/index.html) |
| 64 | + * [https://crates.io/crates/lock\_ordering](https://crates.io/crates/lock_ordering) |
| 65 | +* EXP36 cast itself should be safe? Only the access can cause undefined behavior. |
| 66 | + * But it doesn’t make sense to just cast the pointer without using the casted pointer. So better to just say do not cast the pointers. |
| 67 | + * What “strictly aligned” mean here? |
| 68 | + * Like cast a pointer to byte to pointer to a data structure, then the pointer can point into unaligned location in the data structure |
| 69 | +* MEM35-C |
| 70 | + * We probably can reduce the work we do to have a single rule to say “do not break safety contracts” to cover all possible cases and refine later to specific cases. |
| 71 | + * It is good to explicitly document “do not break safety contracts” even it is obvious. |
| 72 | +* Copy the discussion above into issue \#431 |
| 73 | + |
| 74 | +## **Material** |
| 75 | + |
| 76 | +Any material to read before the meeting should be included here. |
0 commit comments