summary refs log tree commit diff
path: root/src/doc/reference.md
diff options
context:
space:
mode:
authorMichael Rosenberg <42micro@gmail.com>2015-05-15 22:07:20 -0400
committerMichael Rosenberg <42micro@gmail.com>2015-05-15 22:07:20 -0400
commitd3ac395dcc6bb68b6ec1d1a8601d3b3c8b7bd372 (patch)
tree3d2e865c7502e701c27cbd5ac9d462d558ee2afd /src/doc/reference.md
parentdaaf71553929a63d619d2a7337588fed1baf6bfe (diff)
downloadrust-d3ac395dcc6bb68b6ec1d1a8601d3b3c8b7bd372.tar.gz
rust-d3ac395dcc6bb68b6ec1d1a8601d3b3c8b7bd372.zip
Update reference.md
Added `Deref` to the "Special Traits" section
Diffstat (limited to 'src/doc/reference.md')
-rw-r--r--src/doc/reference.md8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/doc/reference.md b/src/doc/reference.md
index 21e9be59ebb..0682c2003e3 100644
--- a/src/doc/reference.md
+++ b/src/doc/reference.md
@@ -3622,6 +3622,14 @@ The `Sized` trait indicates that the size of this type is known at compile-time.
 The `Drop` trait provides a destructor, to be run whenever a value of this type
 is to be destroyed.
 
+## The `Deref` trait
+
+The `Deref<Target = U>` trait allows a type to implicitly implement all the methods
+of the type `U`. When attempting to resolve a method call, the compiler will search
+the top-level type for the implementation of the called method. If no such method is
+found, `.deref()` is called and the compiler continues to search for the method
+implementation in the returned type `U`.
+
 # Memory model
 
 A Rust program's memory consists of a static set of *items* and a *heap*.