]> git.lizzy.rs Git - rust.git/commitdiff
doc: Fix tutorial for struct deref
authorBrian Anderson <banderson@mozilla.com>
Sat, 4 Jan 2014 20:13:31 +0000 (12:13 -0800)
committerBrian Anderson <banderson@mozilla.com>
Sat, 4 Jan 2014 22:44:14 +0000 (14:44 -0800)
doc/tutorial.md

index 4edbf171065e6ddb9e445343a093704322da7e4a..ffef6d7f91f5b74219b757cb73589567e66fe050 100644 (file)
@@ -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.
 
@@ -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