Rust claims article: what the compiler stops, and what it does not - #9
Closed
compilersutra wants to merge 14 commits into
Closed
Rust claims article: what the compiler stops, and what it does not#9compilersutra wants to merge 14 commits into
compilersutra wants to merge 14 commits into
Conversation
…ly covers. Wire it into Compiler Comparisons with hub and sibling-article links so the slogan, the C++ comparison, and the rustc pipeline sit next to each other. Co-authored-by: Cursor <cursoragent@cursor.com>
Drop the report cadence (paired tables, wrap-up boxes, extra diagrams) while keeping the compiled demos, uutils notes, and ISSTA / #25860 facts. Co-authored-by: Cursor <cursoragent@cursor.com>
Keep the same facts and demos; explain jargon on first use so the extra clauses on the slogan are easier to follow. Co-authored-by: Cursor <cursoragent@cursor.com>
… article. The piece now walks through rustc vs gcc/g++ on the same bugs, what ASan/UBSan catch by default, and a check-then-open file example rustc does not see.
Clang still ships the UAF and TOCTOU programs; it warns on a constant a[10] and links anyway. ASan/UBSan match gcc when the flags are on.
…-bug trio, and CVE walkthroughs. Adds the C/C++/Rust scoreboard, what the language does and does not guarantee, safety vs correctness, the rustc pipeline question, cost of the checks, and a decision table.
Adds what rustc actually proves, how that information reaches LLVM, panic vs undefined behavior, a compiled two-thread example, and a sharper closing sentence.
Cut overlapping recap sections, put compile-time vs panic vs unsafe up front, and keep TOCTOU as the boundary example instead of a second CVE essay. Co-authored-by: Cursor <cursoragent@cursor.com>
Add an unsafe/FFI checklist, note span::at vs operator[] and LLVM-elided bounds checks, and cite references inline. Co-authored-by: Cursor <cursoragent@cursor.com>
…s of rustc. Co-authored-by: Cursor <cursoragent@cursor.com>
…nsafe. Spell out that --release does not drop bounds checks unless LLVM proves the index, and bridge from the pipeline into the rustc soundness example. Co-authored-by: Cursor <cursoragent@cursor.com>
…notes. Also bold the results table headers and note that the #25860 debug stop is rustc's internal check, not user code. Co-authored-by: Cursor <cursoragent@cursor.com>
Clarify that the #25860 debug stop is a compiler-internal assertion, not user code. Co-authored-by: Cursor <cursoragent@cursor.com>
C++23 checked indexing in the article is vector::at or GSL; the C++23 span[i] experiment is unchanged. Co-authored-by: Cursor <cursoragent@cursor.com>
Owner
Author
|
Closing this one. It mixed the clang-flag explorer with the Rust claims article. The article-only change landed in #10. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Test plan
/docs/articles/rust-claims-a-reality-checklocally and skim the three memory examples plus the TOCTOU tabs.