@@ -19,34 +19,25 @@ impl TestIt {
19
19
}
20
20
21
21
#[ test]
22
- fn opaque_pointer_with_free ( ) {
22
+ fn own_back ( ) {
23
23
let pointer = opaque_pointer:: raw ( TestIt :: new ( 2 ) ) ;
24
- // Context to drop object variable
25
- {
26
- let object = unsafe { opaque_pointer:: mut_object ( pointer) } ;
27
- object. add ( 3 ) ;
28
- }
29
- // Context to drop object variable
30
- {
31
- let object = unsafe { opaque_pointer:: object ( pointer) } ;
32
- assert_eq ! ( object. get( ) , 5 ) ;
33
- }
34
- unsafe { opaque_pointer:: free ( pointer) } ;
24
+ let test_it = unsafe { opaque_pointer:: own_back ( pointer) } ;
25
+ assert_eq ! ( test_it. get( ) , 2 ) ;
35
26
}
36
27
37
28
#[ test]
38
- fn opaque_pointer_with_own_back ( ) {
29
+ fn immutable_reference ( ) {
39
30
let pointer = opaque_pointer:: raw ( TestIt :: new ( 2 ) ) ;
40
- // Context to drop object variable
41
- {
42
- let object = unsafe { opaque_pointer:: mut_object ( pointer) } ;
43
- object . add ( 3 ) ;
44
- }
45
- // Context to drop object variable
46
- {
47
- let object = unsafe { opaque_pointer:: object ( pointer ) } ;
48
- assert_eq ! ( object . get ( ) , 5 ) ;
49
- }
50
- let test_it = unsafe { opaque_pointer :: own_back ( pointer ) } ;
51
- assert_eq ! ( test_it . get ( ) , 5 ) ;
31
+ let object = unsafe { opaque_pointer :: object ( pointer ) } ;
32
+ assert_eq ! ( object . get ( ) , 2 ) ;
33
+ unsafe { opaque_pointer:: own_back ( pointer) } ;
34
+ }
35
+
36
+ # [ test ]
37
+ fn mutable_reference ( ) {
38
+ let pointer = opaque_pointer:: raw ( TestIt :: new ( 2 ) ) ;
39
+ let object = unsafe { opaque_pointer :: mut_object ( pointer ) } ;
40
+ object . add ( 3 ) ;
41
+ assert_eq ! ( object . get ( ) , 5 ) ;
42
+ unsafe { opaque_pointer :: own_back ( pointer ) } ;
52
43
}
0 commit comments