Skip to content

Commit e78bd2a

Browse files
committed
Fixed uninitialized typo
1 parent af70299 commit e78bd2a

File tree

2 files changed

+2
-2
lines changed

2 files changed

+2
-2
lines changed

docs/draft.html

+1-1
Original file line numberDiff line numberDiff line change
@@ -556,7 +556,7 @@ <h2 data-number="1.2" id="extend-c-for-safety"><span class="header-section-numbe
556556
behaviors. Sometimes these operations are prohibited by the compiler
557557
frontend, as is the case with pointer arithmetic. Sometimes the
558558
operations are prohibited by static analysis in the compiler’s
559-
middle-end; that stops use of initialized variables and use-after-free
559+
middle-end; that stops use of uninitialized variables and use-after-free
560560
bugs, and it’s the enabling technology of the <em>ownership and
561561
borrowing</em> safety model. The remainder of issues, like out-of-bounds
562562
array subscripts, are addressed with runtime panic and aborts.</p>

proposal/draft.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ The foreignness of Rust for career C++ developers combined with the the friction
4444

4545
The goal of this proposal is to advance a superset of C++ with a _rigorously safe subset_. Begin a new project, or take an existing one, and start writing safe code in C++. Code in the safe context exhibits the same strong safety guarantees as code written in Rust.
4646

47-
Rigorous safety is a carrot-and-stick approach. The stick comes first. The stick is what security researchers and regulators care about. Safe C++ developers are prohibited from writing operations that may result in lifetime safety, type safety or thread safety undefined behaviors. Sometimes these operations are prohibited by the compiler frontend, as is the case with pointer arithmetic. Sometimes the operations are prohibited by static analysis in the compiler's middle-end; that stops use of initialized variables and use-after-free bugs, and it's the enabling technology of the _ownership and borrowing_ safety model. The remainder of issues, like out-of-bounds array subscripts, are addressed with runtime panic and aborts.
47+
Rigorous safety is a carrot-and-stick approach. The stick comes first. The stick is what security researchers and regulators care about. Safe C++ developers are prohibited from writing operations that may result in lifetime safety, type safety or thread safety undefined behaviors. Sometimes these operations are prohibited by the compiler frontend, as is the case with pointer arithmetic. Sometimes the operations are prohibited by static analysis in the compiler's middle-end; that stops use of uninitialized variables and use-after-free bugs, and it's the enabling technology of the _ownership and borrowing_ safety model. The remainder of issues, like out-of-bounds array subscripts, are addressed with runtime panic and aborts.
4848

4949
The carrot is a suite of new capabilities which improve on the unsafe ones denied to users. The affine type system makes it easier to relocate objects without breaking type safety. Pattern matching, which is safe and expressive, interfaces with the extension's new choice types. Borrow checking,[@borrow-checking] the most sophisticated part of the Safe C++, provides a new reference type that flags use-after-free and iterator invalidation defects at compile time.
5050

0 commit comments

Comments
 (0)