1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
use Error;
/// Boxed static error type
pub type Err = ;
/// Takes a list where each element is a set of choices, and returns all the possible sets
/// generated. Will clone the elements.
///
/// ```
/// let v = vec![
/// vec![1],
/// vec![2, 3],
/// vec![4],
/// vec![5, 6, 7],
/// ];
///
/// assert_eq!(treebender::utils::combinations(&v), vec![
/// vec![1, 2, 4, 5],
/// vec![1, 3, 4, 5],
/// vec![1, 2, 4, 6],
/// vec![1, 3, 4, 6],
/// vec![1, 2, 4, 7],
/// vec![1, 3, 4, 7],
/// ]);
/// ```