about summary refs log tree commit diff
diff options
context:
space:
mode:
authorPeter Todd <pete@petertodd.org>2018-10-29 14:44:15 -0400
committerPeter Todd <pete@petertodd.org>2018-10-29 14:44:15 -0400
commitbc1885703cb46a462a4be1eea7c4e0f9abbe7a95 (patch)
tree55319392ca10dc93b76e137a7833cb3dfb106604
parentd586d5d2f51489821b471f20959333558c24b129 (diff)
downloadrust-bc1885703cb46a462a4be1eea7c4e0f9abbe7a95.tar.gz
rust-bc1885703cb46a462a4be1eea7c4e0f9abbe7a95.zip
Return &T / &mut T in ManuallyDrop Deref(Mut) impl
Without this change the generated documentation looks like this:

    fn deref(&self) -> &<ManuallyDrop<T> as Deref>::Target

Returning the actual type directly makes the generated docs more clear:

    fn deref(&self) -> &T
-rw-r--r--src/libcore/mem.rs4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/libcore/mem.rs b/src/libcore/mem.rs
index 22016e8cf41..1f1df51919c 100644
--- a/src/libcore/mem.rs
+++ b/src/libcore/mem.rs
@@ -1018,7 +1018,7 @@ impl<T: ?Sized> ManuallyDrop<T> {
 impl<T: ?Sized> Deref for ManuallyDrop<T> {
     type Target = T;
     #[inline]
-    fn deref(&self) -> &Self::Target {
+    fn deref(&self) -> &T {
         &self.value
     }
 }
@@ -1026,7 +1026,7 @@ impl<T: ?Sized> Deref for ManuallyDrop<T> {
 #[stable(feature = "manually_drop", since = "1.20.0")]
 impl<T: ?Sized> DerefMut for ManuallyDrop<T> {
     #[inline]
-    fn deref_mut(&mut self) -> &mut Self::Target {
+    fn deref_mut(&mut self) -> &mut T {
         &mut self.value
     }
 }