File tree 1 file changed +11
-16
lines changed
1 file changed +11
-16
lines changed Original file line number Diff line number Diff line change @@ -44,13 +44,14 @@ pure fn get_ref<T>(opt: &r/option<T>) -> &r/T {
44
44
}
45
45
46
46
pure fn expect < T : copy > ( opt : option < T > , reason : ~str ) -> T {
47
- #[ doc = "
48
- Gets the value out of an option, printing a specified message on failure
49
-
50
- # Failure
51
-
52
- Fails if the value equals `none`
53
- " ] ;
47
+ /*!
48
+ * Gets the value out of an option, printing a specified message on
49
+ * failure
50
+ *
51
+ * # Failure
52
+ *
53
+ * Fails if the value equals `none`
54
+ */
54
55
match opt { some( x) => x, none => fail reason }
55
56
}
56
57
@@ -165,15 +166,9 @@ pure fn unwrap<T>(+opt: option<T>) -> T {
165
166
* Useful primarily for getting strings, vectors and unique pointers out
166
167
* of option types without copying them.
167
168
*/
168
-
169
- unsafe {
170
- let addr = match opt {
171
- some( x) => ptr:: addr_of ( x) ,
172
- none => fail ~"option:: unwrap none"
173
- } ;
174
- let liberated_value = unsafe :: reinterpret_cast ( * addr) ;
175
- unsafe :: forget ( opt) ;
176
- return liberated_value;
169
+ match move opt {
170
+ some( move x) => x,
171
+ none => fail ~"option:: unwrap none"
177
172
}
178
173
}
179
174
You can’t perform that action at this time.
0 commit comments