Skip to content

Commit 38cb886

Browse files
authored
Add minutes 2025-06-10 (#346)
* Add minutes * chore: fix a bullet point level
1 parent 30f1616 commit 38cb886

1 file changed

Lines changed: 65 additions & 4 deletions

File tree

  • subcommittee/coding-guidelines/meetings/2025-06-10

subcommittee/coding-guidelines/meetings/2025-06-10/minutes.md

Lines changed: 65 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -29,11 +29,26 @@
2929

3030
**Please add your name, and an emoji that describes your day.**
3131

32-
*
32+
* Pete LeVasseur, 🌃
33+
* Jordan McQueen ☕🌅
34+
* Félix Fischer 🍂
35+
* Fernando ☕
36+
* Andrew Fernandes ☕
3337

3438
**Notetaker:**
3539

36-
*
40+
* Fernando
41+
42+
## Coding Guidelines Thoughts
43+
44+
* Mine the Rustonomicon for `unsafe` coding guidelines
45+
* May give rise to some `undecidable` guidelines due to some properties being unable to be verified statically
46+
* Mine The Little Book of Rust Macros for macro coding guidelines
47+
* \[todo\] Jordan writing a guideline for having a SAFETY comment above `unsafe` block and tie into the corresponding clippy lint
48+
* Show the bidirectional linking
49+
* [Undocumented unsafe block Clippy Lint](https://rust-lang.github.io/rust-clippy/master/index.html?groups=restriction#undocumented_unsafe_blocks)
50+
* \[todo\] MC/DC coverage limitations as a guideline
51+
* By limiting to some subset it may be feasible to enable MCDC sooner / at all
3752

3853
## Housekeeping section
3954

@@ -43,11 +58,57 @@
4358

4459
## Tasks
4560

46-
*
61+
* Search for the \[todo\] markers
4762

4863
## Meeting Minutes
4964

50-
*
65+
* Acceptance of previous meeting minutes
66+
* Highlights: [pull request with guidelines](https://github.com/rustfoundation/safety-critical-rust-coding-guidelines/pull/127), demo on how to to propose a new coding guideline via [a GitHub issue](https://github.com/rustfoundation/safety-critical-rust-coding-guidelines/issues/new?template=CODING-GUIDELINE.yml).
67+
* New member introduction.
68+
* [Pull request with direct-recursion clippy lint](https://github.com/rust-lang/rust-clippy/pull/15006).
69+
* Review of [revised milestone](https://github.com/rustfoundation/safety-critical-rust-coding-guidelines/milestone/1): [todo] all, call for reviewing
70+
* Specificity for macros needed.
71+
* Check if the workflow to contribute with guidelines is user-friendly enough.
72+
* [arewesafetycriticalyet.org](http://arewesafetycriticalyet.org)
73+
* Deployment of coding guidelines to [coding-guidelines.arewesafetycriticalyet.org](http://coding-guidelines.arewesafetycriticalyet.org) already done\! [todo] PL, thank who took care of it 💌
74+
* Fill in resources.md at [docs coding\_guidelines](https://github.com/rustfoundation/safety-critical-rust-consortium/tree/main/arewesafetycriticalyet.org/docs/coding_guidelines) \[todo\] by Jordan.
75+
* Working session
76+
* Guidelines discussion
77+
* Safety comments on unsafe blocks. Is any resistance to such a guideline expected?
78+
* Similar guidelines in AUTOSAR (existance of Doxygen comments) and MISRA (document assembly, advisory) exist. It's probably not a CERT-style guideline, though.
79+
* Existing clippy lint (cf. [Coding Guidelines Thoughts](#coding-guidelines-thoughts)).
80+
* MCDC for rustc in the works. Interesting challenges with `match`. How to handle in the guideline wording; “if using language feature X, then MCDC property Y cannot be achieved”.
81+
* The wording sounds sensible. It could be a guideline.
82+
* Some material shared on the topic during the discussion:
83+
[_Annotating Control-Flow Graphs for Formalized Test Coverage Criteria_ in arXiv](https://arxiv.org/abs/2407.04144v1) ([IEEE Xplore](https://ieeexplore.ieee.org/document/10675739))
84+
[cargo-llvm-cov](https://crates.io/crates/cargo-llvm-cov)
85+
86+
Other information and references shared:
87+
88+
Re: last meeting’s notes regarding stack frames and tail recursion
89+
90+
* [https://rust-lang.github.io/rust-clippy/master/index.html\#large\_stack\_frames](https://rust-lang.github.io/rust-clippy/master/index.html#large_stack_frames) lint for large stack frames
91+
* Explicit Tail Calls RFC work: [https://github.com/rust-lang/rfcs/pull/3407](https://github.com/rust-lang/rfcs/pull/3407)
92+
* It is intended for guaranteeing tail calls do happen (and the stack frame gets reutilized)
93+
94+
Re: today’s talk about Unsafe Rust stuff:
95+
96+
* Rustonomicon: [https://doc.rust-lang.org/nomicon/](https://doc.rust-lang.org/nomicon/)
97+
* Ralf Jung’s Blog: [https://www.ralfj.de/blog/](https://www.ralfj.de/blog/)
98+
* Tree Borrows, the latest memory model for Rust: [https://www.ralfj.de/blog/2023/06/02/tree-borrows.html](https://www.ralfj.de/blog/2023/06/02/tree-borrows.html)
99+
* Miri, an interpreter for MIR in which you can dynamically check that the invariants your code must uphold are not broken: [https://github.com/rust-lang/miri](https://github.com/rust-lang/miri)
100+
* Unsafe Code Guidelines: [https://rust-lang.github.io/unsafe-code-guidelines/](https://rust-lang.github.io/unsafe-code-guidelines/)
101+
* Repo: [https://github.com/rust-lang/unsafe-code-guidelines](https://github.com/rust-lang/unsafe-code-guidelines)
102+
103+
Re: Clippy lints that might directly correlate to Coding Guidelines
104+
105+
* [https://rust-lang.github.io/rust-clippy/master/index.html?groups=restriction](https://rust-lang.github.io/rust-clippy/master/index.html?groups=restriction)
106+
* [Arithmetic Side Effects](https://rust-lang.github.io/rust-clippy/master/index.html?groups=restriction#arithmetic_side_effects)
107+
* [panic\!](https://rust-lang.github.io/rust-clippy/master/index.html?groups=restriction#panic)
108+
* [Undocumented unsafe Blocks](https://rust-lang.github.io/rust-clippy/master/index.html?groups=restriction#undocumented_unsafe_blocks)
109+
* [Float Arithmetic](https://rust-lang.github.io/rust-clippy/master/index.html?groups=restriction#float_arithmetic)
110+
* [as Conversions](https://rust-lang.github.io/rust-clippy/master/index.html?groups=restriction#as_conversions)
111+
51112

52113
## Material
53114

0 commit comments

Comments
 (0)