Skip to content

Commit

Permalink
Merge pull request #447 from PureWhiteWu/patch-1
Browse files Browse the repository at this point in the history
add link to reference about undefined behavior
  • Loading branch information
ehuss committed Apr 3, 2024
2 parents 6bc2415 + f4add4b commit 4993547
Showing 1 changed file with 7 additions and 0 deletions.
7 changes: 7 additions & 0 deletions src/what-unsafe-does.md
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,9 @@ language cares about is preventing the following things:
[`NonNull`] that is null. (Requesting custom invalid values is an unstable
feature, but some stable libstd types, like `NonNull`, make use of it.)

For a more detailed explanation about "Undefined Bahavior", you may refer to
[the reference][behavior-considered-undefined].

"Producing" a value happens any time a value is assigned, passed to a
function/primitive operation or returned from a function/primitive operation.

Expand Down Expand Up @@ -75,6 +78,8 @@ Rust considers it "safe" to:
* Abort the program
* Delete the production database

For more detailed information, you may refer to [the reference][behavior-not-considered-unsafe].

However any program that actually manages to do such a thing is *probably*
incorrect. Rust provides lots of tools to make these things rare, but
these problems are considered impractical to categorically prevent.
Expand All @@ -84,3 +89,5 @@ these problems are considered impractical to categorically prevent.
[race]: races.html
[target features]: ../reference/attributes/codegen.html#the-target_feature-attribute
[`NonNull`]: ../std/ptr/struct.NonNull.html
[behavior-considered-undefined]: ../reference/behavior-considered-undefined.html
[behavior-not-considered-unsafe]: ../reference/behavior-not-considered-unsafe.html

0 comments on commit 4993547

Please sign in to comment.