Function rs_utils::array::fst [] [src]

pub fn fst<A, B, N>(from: &GenericArray<(A, B), N>) -> GenericArray<A, N> where
    A: Clone,
    N: ArrayLength<(A, B)> + ArrayLength<A>, 

Create a new array from the first elements of an array of pairs of the same length as the first array.

use generic_array::GenericArray;
use typenum::consts::*;
let xs : [(u8, f32); 2]        = [(5, 1.0), (100, -1.0)];
let ys : GenericArray <u8, U2> = fst (&xs.into());
assert_eq!(ys.as_slice(), [5, 100]);

A compilation error will result if the lengths of the arrays do not match:

This example deliberately fails to compile
use generic_array::GenericArray;
use typenum::consts::*;
let xs : [(u8, f32); 2]        = [(5, 1.0), (100, -1.0)];
let ys : GenericArray <u8, U1> = fst (&xs.into());