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 3939#![ feature( slice_from_raw_parts) ]
4040#![ feature( const_slice_from_raw_parts) ]
4141#![ feature( const_raw_ptr_deref) ]
42+ #![ feature( never_type) ]
43+ #![ feature( unwrap_infallible) ]
4244
4345extern crate test;
4446
Original file line number Diff line number Diff line change @@ -197,6 +197,28 @@ pub fn test_unwrap_or_default() {
197197 assert_eq ! ( op2( ) . unwrap_or_default( ) , 0 ) ;
198198}
199199
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+
200222#[ test]
201223fn test_try ( ) {
202224 fn try_result_some ( ) -> Option < u8 > {
You can’t perform that action at this time.
0 commit comments