File tree Expand file tree Collapse file tree 2 files changed +24
-0
lines changed Expand file tree Collapse file tree 2 files changed +24
-0
lines changed Original file line number Diff line number Diff line change 36
36
#![ feature( iter_is_partitioned) ]
37
37
#![ feature( iter_order_by) ]
38
38
#![ feature( cmp_min_max_by) ]
39
+ #![ feature( never_type) ]
40
+ #![ feature( unwrap_infallible) ]
39
41
40
42
extern crate test;
41
43
Original file line number Diff line number Diff line change @@ -197,6 +197,28 @@ pub fn test_unwrap_or_default() {
197
197
assert_eq ! ( op2( ) . unwrap_or_default( ) , 0 ) ;
198
198
}
199
199
200
+ #[ test]
201
+ pub fn test_unwrap_infallible ( ) {
202
+ fn infallible_op ( ) -> Result < isize , !> {
203
+ Ok ( 666 )
204
+ }
205
+
206
+ assert_eq ! ( infallible_op( ) . unwrap_infallible( ) , 666 ) ;
207
+
208
+ enum MyNeverToken { }
209
+ impl From < MyNeverToken > for ! {
210
+ fn from ( never : MyNeverToken ) -> ! {
211
+ match never { }
212
+ }
213
+ }
214
+
215
+ fn infallible_op2 ( ) -> Result < isize , MyNeverToken > {
216
+ Ok ( 667 )
217
+ }
218
+
219
+ assert_eq ! ( infallible_op2( ) . unwrap_infallible( ) , 667 ) ;
220
+ }
221
+
200
222
#[ test]
201
223
fn test_try ( ) {
202
224
fn try_result_some ( ) -> Option < u8 > {
You can’t perform that action at this time.
0 commit comments