diff --git a/src/doc/guide-lifetimes.md b/src/doc/guide-lifetimes.md index 55bea362e9b..66b9ef1ea72 100644 --- a/src/doc/guide-lifetimes.md +++ b/src/doc/guide-lifetimes.md @@ -275,8 +275,10 @@ invalidate the pointer `owner_age`. # Borrowing and enums -The previous example showed that the type system forbids any borrowing -of owned boxes found in aliasable, mutable memory. This restriction +The previous example showed that the type system forbids any mutations +of owned boxed values while they are being borrowed. In general, the type +system also forbids borrowing a value as mutable if it is already being +borrowed - either as a mutable reference or an immutable one. This restriction prevents pointers from pointing into freed memory. There is one other case where the compiler must be very careful to ensure that pointers remain valid: pointers into the interior of an `enum`.