pub fn foo(box_1: fn () -> Box<[i8; 1]>,
           box_2: fn () -> Box<[i8; 20]>,
           box_3: fn () -> Box<[i8; 300]>,
           box_4: fn () -> Box<[i8; 4000]>,
            ) {
    println!("Hello World 1");
    let _: Box<[i8]> = match 3 {
        1 => box_1(),
        2 => box_2(),
        3 => box_3(),
        _ => box_4(),
    };
    println!("Hello World 2");
}
// Issue #2005: Check that boxed fixed-size arrays are properly
// accounted for (namely, only deallocated if they were actually
// created) when they appear as temporaries in unused arms of a match
// expression.
Issue #2005: Check that boxed fixed-size arrays are properly
accounted for (namely, only deallocated if they were actually
created) when they appear as temporaries in unused arms of a match
expression.
Issue #2005 : Check that boxed fixed - size arrays are properly accounted for ( namely only deallocated if they were actually created ) when they appear as temporaries in unused arms of a match expression .
pub fn foo(box_1: fn () -> Box<[i8; 1]>,
           box_2: fn () -> Box<[i8; 20]>,
           box_3: fn () -> Box<[i8; 300]>,
           box_4: fn () -> Box<[i8; 4000]>,
            ) {
    println!("Hello World 1");
    let _: Box<[i8]> = match 3 {
        1 => box_1(),
        2 => box_2(),
        3 => box_3(),
        _ => box_4(),
    };
    println!("Hello World 2");
}
pub fn foo ( box_1 : fn ( ) -> Box < [ i8 ; 1 ] > , box_2 : fn ( ) -> Box < [ i8 ; 20 ] > , box_3 : fn ( ) -> Box < [ i8 ; 300 ] > , box_4 : fn ( ) -> Box < [ i8 ; 4000 ] > , ) { println ! ( " " ) ; let _ : Box < [ i8 ] > = match 3 { 1 => box_1 ( ) , 2 => box_2 ( ) , 3 => box_3 ( ) , _ => box_4 ( ) , } ; println ! ( " " ) ; }
Issue #2005: Check that boxed fixed-size arrays are properly
accounted for (namely, only deallocated if they were actually
created) when they appear as temporaries in unused arms of a match
expression.
Issue #2005 : Check that boxed fixed - size arrays are properly accounted for ( namely only deallocated if they were actually created ) when they appear as temporaries in unused arms of a match expression .
box_1
fn () -> Box<[i8; 1]>
box_2
fn () -> Box<[i8; 20]>
box_3
fn () -> Box<[i8; 300]>
box_4
fn () -> Box<[i8; 4000]>
box_1
fn () -> Box<[i8; 1]>
box_2
fn () -> Box<[i8; 20]>
box_3
fn () -> Box<[i8; 300]>
box_4
fn () -> Box<[i8; 4000]>