File tree Expand file tree Collapse file tree 2 files changed +17
-1
lines changed
branches/incoming/src/libcore Expand file tree Collapse file tree 2 files changed +17
-1
lines changed Original file line number Diff line number Diff line change @@ -6,7 +6,7 @@ refs/heads/try: d324a424d8f84b1eb049b12cf34182bda91b0024
6
6
refs/tags/release-0.1: 1f5c5126e96c79d22cb7862f75304136e204f105
7
7
refs/heads/ndm: f3868061cd7988080c30d6d5bf352a5a5fe2460b
8
8
refs/heads/try2: d0c6ce338884ee21843f4b40bf6bf18d222ce5df
9
- refs/heads/incoming: a076c287de55bd69328fbf542bf769ca20a12ab4
9
+ refs/heads/incoming: 0e3825d38cc459f9fcb24f1e95d4f6e867265300
10
10
refs/heads/dist-snap: 2f32a1581f522e524009138b33b1c7049ced668d
11
11
refs/tags/release-0.2: c870d2dffb391e14efb05aa27898f1f6333a9596
12
12
refs/tags/release-0.3: b5f0d0f648d9a6153664837026ba1be43d3e2503
Original file line number Diff line number Diff line change @@ -29,6 +29,20 @@ pure fn get<T: copy>(opt: option<T>) -> T {
29
29
}
30
30
}
31
31
32
+ pure fn get_ref < T > ( opt : & option < T > ) -> & T {
33
+ /*!
34
+ * Gets an immutable reference to the value inside an option.
35
+ *
36
+ * # Failure
37
+ *
38
+ * Fails if the value equals `none`
39
+ */
40
+ match * opt {
41
+ some( ref x) => x,
42
+ none => fail ~"option:: get_ref none"
43
+ }
44
+ }
45
+
32
46
pure fn expect < T : copy > ( opt : option < T > , reason : ~str ) -> T {
33
47
#[ doc = "
34
48
Gets the value out of an option, printing a specified message on failure
@@ -201,6 +215,8 @@ impl<T> &option<T> {
201
215
pure fn iter_ref ( f : fn ( x : & T ) ) { iter_ref ( self , f) }
202
216
/// Maps a `some` value from one type to another by reference
203
217
pure fn map_ref < U > ( f : fn ( x : & T ) -> U ) -> option < U > { map_ref ( self , f) }
218
+ /// Gets an immutable reference to the value inside a `some`.
219
+ pure fn get_ref ( ) -> & self /T { get_ref ( self ) }
204
220
}
205
221
206
222
impl < T : copy > option < T > {
You can’t perform that action at this time.
0 commit comments