Skip to content

Commit 2bdc665

Browse files
authored
Small fixes in seamless-rust-cpp.md (#289)
1 parent 8f55e0f commit 2bdc665

File tree

1 file changed

+10
-11
lines changed

1 file changed

+10
-11
lines changed

src/2025h1/seamless-rust-cpp.md

Lines changed: 10 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
# Evaluate approaches for seamless interop between C++ and Rust
22

33
| Metadata | |
4-
| :-- | :-- |
54
| :----------------- | ------------------------------ |
65
| Point of contact | @tmandry |
76
| Teams | <!-- TEAMS WITH ASKS --> |
@@ -27,15 +26,15 @@ We should aim to spread the benefits of Rust and its underlying ideas as far as
2726

2827
#### Costs of memory unsafety
2928

30-
Memory safety vulnerabilities are the most costly kinds of vulnerabilities, both for product owners and their users. These vulnerabilities and their costs have persisted despite the deployment of many mitigation measures in memory unsafe languages which often impose costs of their own.[^ag][^rust-in-android]
29+
Memory safety vulnerabilities are the most costly kinds of vulnerabilities, both for product owners and their users. These vulnerabilities and their costs have persisted despite the deployment of many mitigation measures in memory unsafe languages which often impose costs of their own.[^ag] [^rust-in-android]
3130

3231
Experience has shown that regardless of the size of an existing codebase, incrementally adopting a memory safe language like Rust in new code brings roughly linear benefits in terms of new memory safety vulnerabilities. **This is because most vulnerabilities come from new code, not old code.**[^android] This means Rust adoption has value even if only adopted in new code.
3332

3433
Given the growing recognition of this problem from within various technical communities, major technology companies, and major governmental bodies, there is increasing pressure to adopt memory safe languages across the board for all new code. As this proposal explains, this presents both a significant opportunity and a significant challenge for Rust.
3534

36-
[^ag]: https://alexgaynor.net/2020/may/27/science-on-memory-unsafety-and-security/
37-
[^rust-in-android]: https://security.googleblog.com/2021/04/rust-in-android-platform.html
38-
[^android]: See https://security.googleblog.com/2024/09/eliminating-memory-safety-vulnerabilities-Android.html and https://security.googleblog.com/2022/12/memory-safe-languages-in-android-13.html.
35+
[^ag]: <https://alexgaynor.net/2020/may/27/science-on-memory-unsafety-and-security/>
36+
[^rust-in-android]: <https://security.googleblog.com/2021/04/rust-in-android-platform.html>
37+
[^android]: See <https://security.googleblog.com/2024/09/eliminating-memory-safety-vulnerabilities-Android.html> and <https://security.googleblog.com/2022/12/memory-safe-languages-in-android-13.html>.
3938

4039
#### Obstacles to memory safety
4140

@@ -45,14 +44,14 @@ For example, safety has become more socially desirable in many technical communi
4544

4645
For C/C++ this has led to an improvement along the technical front in terms of automated checking, in both static and dynamic tooling. However, this protracted effort has also revealed the limits of such an approach without language changes. While there have been calls for C++ to adopt memory safety features,[^safe-cpp] they have not gained traction within the C++ standards body for a combination of technical, social, and economic reasons.[^corentin-profiles]
4746

48-
[^safe-cpp]: https://safecpp.org/draft.html
49-
[^corentin-profiles]: https://cor3ntin.github.io/posts/profiles
47+
[^safe-cpp]: <https://safecpp.org/draft.html>
48+
[^corentin-profiles]: <https://cor3ntin.github.io/posts/profiles>
5049

5150
#### Obstacles to Rust adoption
5251

5352
> Changing languages at a large scale is fearfully expensive.[^oncd]
5453
55-
[^oncd]: https://downloads.regulations.gov/ONCD-2023-0002-0020/attachment_1.pdf
54+
[^oncd]: <https://downloads.regulations.gov/ONCD-2023-0002-0020/attachment_1.pdf>
5655

5756
Rust itself is a major technical breakthrough that enables safety from all kinds of undefined behavior, including spatial safety, temporal safety, and data race safety, with very high confidence. This makes it appealing for those looking to introduce safety to their codebase. Rust adoption is feasible in the following situations:
5857

@@ -124,11 +123,11 @@ In addition, it proposes the following axioms:
124123
|------------------------------|----------------------------------------|-----------------------------------------|
125124
| Discussion and moral support | ![Team][] [lang], [compiler], [libs-api] | |
126125
| Design meeting | ![Team][] [lang], [compiler], [libs-api] | 2-3 meetings expected; all involve lang |
127-
| Lang-team champion | ![Team][] [lang] | @tmandry |
128-
| Author design doc | @tmandry can drive | |
126+
| Lang-team champion | ![Team][] [lang] | @tmandry |
127+
| Author design doc | @tmandry | |
129128
| Author design doc | ![Help wanted][] | |
130129
| Author design doc | ![Help wanted][] | |
131130

132131
## Frequently asked questions
133132

134-
None yet.
133+
None yet.

0 commit comments

Comments
 (0)