File tree Expand file tree Collapse file tree 1 file changed +16
-18
lines changed Expand file tree Collapse file tree 1 file changed +16
-18
lines changed Original file line number Diff line number Diff line change @@ -8,34 +8,32 @@ tag t[T] {
8
8
type operator[ T , U ] = fn ( & T ) -> U ;
9
9
10
10
fn get[ T ] ( & t[ T ] opt) -> T {
11
- alt ( opt) {
11
+ ret alt ( opt) {
12
12
case ( some[ T ] ( ?x) ) {
13
- ret x ;
13
+ x
14
14
}
15
15
case ( none[ T ] ) {
16
- fail;
16
+ fail
17
17
}
18
- }
19
- fail; // FIXME: remove me when exhaustiveness checking works
18
+ } ;
20
19
}
21
20
22
21
fn map[ T , U ] ( & operator[ T , U ] f, & t[ T ] opt) -> t[ U ] {
23
- alt ( opt) {
22
+ ret alt ( opt) {
24
23
case ( some[ T ] ( ?x) ) {
25
- ret some[ U ] ( f ( x) ) ;
24
+ some[ U ] ( f ( x) )
26
25
}
27
26
case ( none[ T ] ) {
28
- ret none[ U ] ;
27
+ none[ U ]
29
28
}
30
- }
31
- fail; // FIXME: remove me when exhaustiveness checking works
29
+ } ;
32
30
}
33
31
34
32
fn is_none[ T ] ( & t[ T ] opt) -> bool {
35
- alt ( opt) {
36
- case ( none[ T ] ) { ret true ; }
37
- case ( some[ T ] ( _) ) { ret false ; }
38
- }
33
+ ret alt ( opt) {
34
+ case ( none[ T ] ) { true }
35
+ case ( some[ T ] ( _) ) { false }
36
+ } ;
39
37
}
40
38
41
39
fn from_maybe[ T ] ( & T def, & t[ T ] opt) -> T {
@@ -44,10 +42,10 @@ fn from_maybe[T](&T def, &t[T] opt) -> T {
44
42
}
45
43
46
44
fn maybe[ T , U ] ( & U def, fn ( & T ) -> U f, & t[ T ] opt) -> U {
47
- alt ( opt) {
48
- case ( none[ T ] ) { ret def; }
49
- case ( some[ T ] ( ?t) ) { ret f( t) ; }
50
- }
45
+ ret alt ( opt) {
46
+ case ( none[ T ] ) { def }
47
+ case ( some[ T ] ( ?t) ) { f ( t) }
48
+ } ;
51
49
}
52
50
53
51
// Can be defined in terms of the above when/if we have const bind.
You can’t perform that action at this time.
0 commit comments