Skip to content

Commit 4f1b324

Browse files
Update src/2025h2/a-mir-formality.md
Co-authored-by: Travis Cross <tc@traviscross.com>
1 parent 7f4cb74 commit 4f1b324

File tree

1 file changed

+1
-1
lines changed

1 file changed

+1
-1
lines changed

src/2025h2/a-mir-formality.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ Extend a-mir-formality with the ability to represent function bodies as MiniRust
1515

1616
## Motivation
1717

18-
The goal of the a-mir-formality project is to (a) share and capture knowledge of how Rust's static type checking works, including the type checker, trait checker, borrow checker, and in-progress areas like const generics; (b) enable protoyping and exploration of new ideas in a lighterweight environment that still exposes the "inherent complexity" of the feature while avoiding the "accidental complexity" of building a full-featured implementation int he compiler; (c) be a middle ground that can help us validate and prove rust's type safety. Achieving that last bullet requires integrating with MiniRust, which models the behavior of a Rust program when executed ("operational semantics") and provides rules for what constitutes undefined behavior. If we align these two models, we should be able to test with fuzzing that, e.g., no fully safe program that passes the type check can, when executed with MiniRust, cause undefined behavior.
18+
The goal of the a-mir-formality project is to (a) share and capture knowledge of how Rust's static type checking works, including the type checker, trait checker, borrow checker, and in-progress areas like const generics; (b) enable protoyping and exploration of new ideas in a lighterweight environment that still exposes the "inherent complexity" of the feature while avoiding the "accidental complexity" of building a full-featured implementation in the compiler; (c) be a middle ground that can help us validate and prove Rust's type safety. Achieving that last bullet requires integrating with MiniRust, which models the behavior of a Rust program when executed ("operational semantics") and provides rules for what constitutes undefined behavior. If we align these two models, we should be able to test with fuzzing that, e.g., no fully safe program that passes the type check can, when executed with MiniRust, cause undefined behavior.
1919

2020
### The status quo
2121

0 commit comments

Comments
 (0)