@@ -334,13 +334,20 @@ mod test {
334
334
}
335
335
336
336
struct BufferedData < S , B > {
337
- #[ allow( dead_code) ]
338
337
buffer : Vec < B > ,
339
338
data : S ,
340
339
}
341
340
342
341
fn create_open_info_with_size ( size : usize ) -> BufferedData < COpenInfo , COpenedField > {
343
342
let mut buffer = Vec :: with_capacity ( size) ;
343
+ buffer. resize (
344
+ size,
345
+ COpenedField {
346
+ row : GameSizeType :: max_value ( ) ,
347
+ column : GameSizeType :: max_value ( ) ,
348
+ field_type : FieldType :: Mine ,
349
+ } ,
350
+ ) ;
344
351
let newly_opened_fields_ptr = buffer. as_mut_ptr ( ) ;
345
352
let newly_opened_fields_max_length =
346
353
ArraySizeType :: try_from ( size) . expect ( "Size conversion failed" ) ;
@@ -533,15 +540,10 @@ mod test {
533
540
assert ! ( buffered_open_info. data. newly_opened_fields_length > 0 ) ;
534
541
assert_eq ! ( CError :: Ok , buffered_error_info. data. error_code) ;
535
542
536
- let newly_opened_fields_size =
543
+ let newly_opened_fields_length =
537
544
usize:: try_from ( buffered_open_info. data . newly_opened_fields_length ) . unwrap ( ) ;
538
- let slice = unsafe {
539
- std:: slice:: from_raw_parts (
540
- buffered_open_info. data . newly_opened_fields_ptr ,
541
- newly_opened_fields_size,
542
- )
543
- } ;
544
- for newly_opened_field in slice. iter ( ) {
545
+
546
+ for newly_opened_field in buffered_open_info. buffer [ 0 ..newly_opened_fields_length] . iter ( ) {
545
547
assert_ne ! ( FieldType :: Mine , newly_opened_field. field_type) ;
546
548
assert ! ( height >= newly_opened_field. row) ;
547
549
assert ! ( width >= newly_opened_field. column) ;
0 commit comments