diff options
| author | bors <bors@rust-lang.org> | 2014-10-31 02:27:15 +0000 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2014-10-31 02:27:15 +0000 |
| commit | 221fc1e3cdcc208e1bb7debcc2de27d47c847747 (patch) | |
| tree | 5e2d393fe5a4a94cd6a09d93f4ddcf5a4f6aecaa /src/doc/reference.md | |
| parent | a12d06b73fcb38cf23dfe71da725428a1094395f (diff) | |
| parent | 6fcba8826fd26028341a35d88b07208378ac05ea (diff) | |
| download | rust-221fc1e3cdcc208e1bb7debcc2de27d47c847747.tar.gz rust-221fc1e3cdcc208e1bb7debcc2de27d47c847747.zip | |
auto merge of #18459 : alexcrichton/rust/rollup, r=alexcrichton
Diffstat (limited to 'src/doc/reference.md')
| -rw-r--r-- | src/doc/reference.md | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/src/doc/reference.md b/src/doc/reference.md index 44705123ed8..084309e9978 100644 --- a/src/doc/reference.md +++ b/src/doc/reference.md @@ -1153,7 +1153,7 @@ exposing an API making it possible for it to occur in safe code. * Data races * Dereferencing a null/dangling raw pointer -* Mutating an immutable value/reference +* Mutating an immutable value/reference without `UnsafeCell` * Reads of [undef](http://llvm.org/docs/LangRef.html#undefined-values) (uninitialized) memory * Breaking the [pointer aliasing @@ -1166,11 +1166,14 @@ exposing an API making it possible for it to occur in safe code. * Using `std::ptr::copy_nonoverlapping_memory` (`memcpy32`/`memcpy64` instrinsics) on overlapping buffers * Invalid values in primitive types, even in private fields/locals: - * Dangling/null pointers in non-raw pointers, or slices + * Dangling/null references or boxes * A value other than `false` (0) or `true` (1) in a `bool` * A discriminant in an `enum` not included in the type definition * A value in a `char` which is a surrogate or above `char::MAX` * non-UTF-8 byte sequences in a `str` +* Unwinding into Rust from foreign code or unwinding from Rust into foreign + code. Rust's failure system is not compatible with exception handling in + other languages. Unwinding must be caught and handled at FFI boundaries. ##### Behaviour not considered unsafe |
