From 67455e29a1d611a71a3a528544649b1b3ac4df16 Mon Sep 17 00:00:00 2001 From: Alexis Beingessner Date: Tue, 4 Aug 2015 15:09:47 -0700 Subject: [PATCH] Fix variance ordering I thought this was actually a huge error and I'd have to rewrite a bunch but it looks like everything else was correct. Closes #27457 --- src/doc/nomicon/subtyping.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/doc/nomicon/subtyping.md b/src/doc/nomicon/subtyping.md index 3c57297f323c..65dcb6a94e13 100644 --- a/src/doc/nomicon/subtyping.md +++ b/src/doc/nomicon/subtyping.md @@ -93,8 +93,8 @@ fn main() { The signature of `overwrite` is clearly valid: it takes mutable references to two values of the same type, and overwrites one with the other. If `&mut T` was -variant over T, then `&mut &'a str` would be a subtype of `&mut &'static str`, -since `&'a str` is a subtype of `&'static str`. Therefore the lifetime of +variant over T, then `&mut &'static str` would be a subtype of `&mut &'a str`, +since `&'static str` is a subtype of `&'a str`. Therefore the lifetime of `forever_str` would successfully be "shrunk" down to the shorter lifetime of `string`, and `overwrite` would be called successfully. `string` would subsequently be dropped, and `forever_str` would point to freed memory when we