Skip to content

Commit

Permalink
Mention multiple impl blocks in TRPL
Browse files Browse the repository at this point in the history
  • Loading branch information
steveklabnik committed Nov 4, 2015
1 parent a216e84 commit 0c93e72
Showing 1 changed file with 29 additions and 2 deletions.
31 changes: 29 additions & 2 deletions src/doc/trpl/method-syntax.md
Original file line number Diff line number Diff line change
Expand Up @@ -43,8 +43,6 @@ fn main() {

This will print `12.566371`.



We’ve made a `struct` that represents a circle. We then write an `impl` block,
and inside it, define a method, `area`.

Expand Down Expand Up @@ -83,6 +81,35 @@ impl Circle {
}
```

You can use as many `impl` blocks as you’d like. The previous example could
have also been written like this:

```rust
struct Circle {
x: f64,
y: f64,
radius: f64,
}

impl Circle {
fn reference(&self) {
println!("taking self by reference!");
}
}

impl Circle {
fn mutable_reference(&mut self) {
println!("taking self by mutable reference!");
}
}

impl Circle {
fn takes_ownership(self) {
println!("taking ownership of self!");
}
}
```

# Chaining method calls

So, now we know how to call a method, such as `foo.bar()`. But what about our
Expand Down

0 comments on commit 0c93e72

Please sign in to comment.