about summary refs log tree commit diff
path: root/src/doc/reference.md
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2014-10-31 02:27:15 +0000
committerbors <bors@rust-lang.org>2014-10-31 02:27:15 +0000
commit221fc1e3cdcc208e1bb7debcc2de27d47c847747 (patch)
tree5e2d393fe5a4a94cd6a09d93f4ddcf5a4f6aecaa /src/doc/reference.md
parenta12d06b73fcb38cf23dfe71da725428a1094395f (diff)
parent6fcba8826fd26028341a35d88b07208378ac05ea (diff)
downloadrust-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.md7
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