Merge pull request #418 from guilliamxavier/patch-1

Fix `Vec::push_all` ptr code in exception-safety
diff --git a/src/subtyping.md b/src/subtyping.md
index 6e3ef37..6a61669 100644
--- a/src/subtyping.md
+++ b/src/subtyping.md
@@ -118,9 +118,9 @@
 Our first instinct might be to blame the `assign` impl, but there's really nothing wrong here.
 It shouldn't be surprising that we might want to assign a `T` into a `T`.
 
-The problem is that we cannot assume that `&mut &'static str` and `&mut &'b str` are compatible.
-This means that `&mut &'static str` **cannot** be a *subtype* of `&mut &'b str`,
-even if `'static` is a subtype of `'b`.
+The problem is that we cannot assume `&'static str` can still be downgraded into `&'world str` to satisfy `T`, once it's behind a `&mut` reference.
+This means that `&mut &'static str` **cannot** be a *subtype* of `&mut &'world str`,
+even if `'static` is a subtype of `'world`.
 
 Variance is the concept that Rust borrows to define relationships about subtypes through their generic parameters.