Auto merge of #37386 - johnthagen:Self-reference-example, r=GuillaumeGomez

Add example using Self to reference

When I first came across `Self` I had a hard time finding references to it in the docs (and it's also been asked about on [StackOverflow](http://stackoverflow.com/questions/32304595/whats-the-difference-between-self-and-self).

I hope this example provides someone who comes across it for the first time a little more help.  If there is a better way to show an example actually using `Self`, I'm happy to modify this.  It was just the simplest place to start I could see.
This commit is contained in:
bors 2016-11-06 02:28:58 -08:00 committed by GitHub
commit 161f2623bd

View File

@ -3755,6 +3755,21 @@ The special type `Self` has a meaning within traits and impls. In a trait defini
to an implicit type parameter representing the "implementing" type. In an impl,
it is an alias for the implementing type. For example, in:
```
pub trait From<T> {
fn from(T) -> Self;
}
impl From<i32> for String {
fn from(x: i32) -> Self {
x.to_string()
}
}
```
The notation `Self` in the impl refers to the implementing type: `String`. In another
example:
```
trait Printable {
fn make_string(&self) -> String;