Skip to content

Commit 88bec09

Browse files
committed
Fix two code examples in main rust tutorial.
1. The section on trait definitions of static methods should include a trait with a static method in the generated document. 2. The section on trait inheritance had a expression that appears nonsensical ("let mycircle = @Mycircle") in the generated document. The text would be clearer (IMO) if we continued with the running example of CircleStruct.
1 parent fc9650b commit 88bec09

File tree

1 file changed

+10
-5
lines changed

1 file changed

+10
-5
lines changed

doc/tutorial.md

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2015,7 +2015,7 @@ the method name with the trait name.
20152015
The compiler will use type inference to decide which implementation to call.
20162016

20172017
~~~~
2018-
# trait Shape { static fn new(area: float) -> self; }
2018+
trait Shape { static fn new(area: float) -> self; }
20192019
# use float::consts::pi;
20202020
# use float::sqrt;
20212021
struct Circle { radius: float }
@@ -2211,11 +2211,16 @@ Likewise, supertrait methods may also be called on trait objects.
22112211
~~~ {.xfail-test}
22122212
# trait Shape { fn area(&self) -> float; }
22132213
# trait Circle : Shape { fn radius(&self) -> float; }
2214-
# impl int: Shape { fn area(&self) -> float { 0.0 } }
2215-
# impl int: Circle { fn radius(&self) -> float { 0.0 } }
2216-
# let mycircle = 0;
2214+
# use float::consts::pi;
2215+
# use float::sqrt;
2216+
# struct Point { x: float, y: float }
2217+
# struct CircleStruct { center: Point, radius: float }
2218+
# impl CircleStruct: Circle { fn radius(&self) -> float { sqrt(self.area() / pi) } }
2219+
# impl CircleStruct: Shape { fn area(&self) -> float { pi * square(self.radius) } }
2220+
2221+
let concrete = @CircleStruct{center:Point{x:3f,y:4f},radius:5f};
22172222
2218-
let mycircle: Circle = @mycircle as @Circle;
2223+
let mycircle: Circle = concrete as @Circle;
22192224
let nonsense = mycircle.radius() * mycircle.area();
22202225
~~~
22212226

0 commit comments

Comments
 (0)