fn secret_to_array(v: Vec<u8>) -> [u8; SecretKey::SIZE] {
    let len = v.len();
    let boxed_slice = v.into_boxed_slice();
    let boxed_array: Box<[u8; SecretKey::SIZE]> = boxed_slice.try_into().unwrap_or_else(|_| {
        panic!(
            "Expected a secret key of length {} but it was {}",
            SecretKey::SIZE,
            len
        )
    });
    *boxed_array
}
// sadly, we have to repeat the implementation
sadly, we have to repeat the implementation
sadly we have to repeat the implementation
fn secret_to_array(v: Vec<u8>) -> [u8; SecretKey::SIZE] {
    let len = v.len();
    let boxed_slice = v.into_boxed_slice();
    let boxed_array: Box<[u8; SecretKey::SIZE]> = boxed_slice.try_into().unwrap_or_else(|_| {
        panic!(
            "Expected a secret key of length {} but it was {}",
            SecretKey::SIZE,
            len
        )
    });
    *boxed_array
}
fn secret_to_array ( v : Vec < u8 > ) -> [ u8 ; SecretKey :: SIZE ] { let len = v . len ( ) ; let boxed_slice = v . into_boxed_slice ( ) ; let boxed_array : Box < [ u8 ; SecretKey :: SIZE ] > = boxed_slice . try_into ( ) . unwrap_or_else ( | _ | { panic ! ( " " SecretKey SIZE len ) } ) ; * boxed_array }
sadly, we have to repeat the implementation
sadly we have to repeat the implementation
v
Vec<u8>
v
Vec<u8>