Skip to content

Commit

Permalink
doc: Fix tutorial for struct deref
Browse files Browse the repository at this point in the history
  • Loading branch information
brson committed Jan 4, 2014
1 parent 2d8fbba commit ec69dea
Showing 1 changed file with 10 additions and 10 deletions.
20 changes: 10 additions & 10 deletions doc/tutorial.md
Original file line number Diff line number Diff line change
Expand Up @@ -793,15 +793,6 @@ synonym for an existing type but is rather its own distinct type.
struct GizmoId(int);
~~~~

For convenience, you can extract the contents of such a struct with the
dereference (`*`) unary operator:

~~~~
# struct GizmoId(int);
let my_gizmo_id: GizmoId = GizmoId(10);
let id_int: int = *my_gizmo_id;
~~~~

Types like this can be useful to differentiate between data that have
the same underlying type but must be used in different ways.

Expand All @@ -811,7 +802,16 @@ struct Centimeters(int);
~~~~

The above definitions allow for a simple way for programs to avoid
confusing numbers that correspond to different units.
confusing numbers that correspond to different units. Their integer
values can be extracted with pattern matching:

~~~
# struct Inches(int);
let length_with_unit = Inches(10);
let Inches(integer_length) = length_with_unit;
println!("length is {} inches", integer_length);
~~~

# Functions

Expand Down

0 comments on commit ec69dea

Please sign in to comment.