File tree 1 file changed +8
-16
lines changed
1 file changed +8
-16
lines changed Original file line number Diff line number Diff line change @@ -4,7 +4,6 @@ use core::any::Any;
4
4
use core:: clone:: Clone ;
5
5
use core:: convert:: TryInto ;
6
6
use core:: ops:: Deref ;
7
- use core:: result:: Result :: { Err , Ok } ;
8
7
9
8
use std:: boxed:: Box ;
10
9
@@ -15,32 +14,25 @@ fn test_owned_clone() {
15
14
assert ! ( a == b) ;
16
15
}
17
16
18
- #[ derive( PartialEq , Eq ) ]
17
+ #[ derive( Debug , PartialEq , Eq ) ]
19
18
struct Test ;
20
19
21
20
#[ test]
22
21
fn any_move ( ) {
23
22
let a = Box :: new ( 8 ) as Box < dyn Any > ;
24
23
let b = Box :: new ( Test ) as Box < dyn Any > ;
25
24
26
- match a. downcast :: < i32 > ( ) {
27
- Ok ( a) => {
28
- assert ! ( a == Box :: new( 8 ) ) ;
29
- }
30
- Err ( ..) => panic ! ( ) ,
31
- }
32
- match b. downcast :: < Test > ( ) {
33
- Ok ( a) => {
34
- assert ! ( a == Box :: new( Test ) ) ;
35
- }
36
- Err ( ..) => panic ! ( ) ,
37
- }
25
+ let a: Box < i32 > = a. downcast :: < i32 > ( ) . unwrap ( ) ;
26
+ assert_eq ! ( * a, 8 ) ;
27
+
28
+ let b: Box < Test > = b. downcast :: < Test > ( ) . unwrap ( ) ;
29
+ assert_eq ! ( * b, Test ) ;
38
30
39
31
let a = Box :: new ( 8 ) as Box < dyn Any > ;
40
32
let b = Box :: new ( Test ) as Box < dyn Any > ;
41
33
42
- assert ! ( a. downcast:: <Box <Test >>( ) . is_err( ) ) ;
43
- assert ! ( b. downcast:: <Box <i32 >>( ) . is_err( ) ) ;
34
+ assert ! ( a. downcast:: <Box <i32 >>( ) . is_err( ) ) ;
35
+ assert ! ( b. downcast:: <Box <Test >>( ) . is_err( ) ) ;
44
36
}
45
37
46
38
#[ test]
You can’t perform that action at this time.
0 commit comments