@@ -2,6 +2,7 @@ use aoc::util::ansi::*;
2
2
use aoc:: util:: parse:: * ;
3
3
use aoc:: * ;
4
4
use std:: env:: args;
5
+ use std:: iter:: empty;
5
6
use std:: time:: Instant ;
6
7
7
8
fn main ( ) {
@@ -16,8 +17,13 @@ fn main() {
16
17
} ;
17
18
18
19
// Filter solutions
19
- let solutions: Vec < _ > = all_solutions ( )
20
- . into_iter ( )
20
+ let solutions: Vec < _ > = empty ( )
21
+ . chain ( year2015 ( ) )
22
+ . chain ( year2016 ( ) )
23
+ . chain ( year2019 ( ) )
24
+ . chain ( year2020 ( ) )
25
+ . chain ( year2021 ( ) )
26
+ . chain ( year2022 ( ) )
21
27
. filter ( |solution| year == Some ( solution. year ) || year. is_none ( ) )
22
28
. filter ( |solution| day == Some ( solution. day ) || day. is_none ( ) )
23
29
. collect ( ) ;
@@ -73,9 +79,8 @@ macro_rules! solution {
73
79
} ;
74
80
}
75
81
76
- fn all_solutions ( ) -> Vec < Solution > {
82
+ fn year2015 ( ) -> Vec < Solution > {
77
83
vec ! [
78
- // 2015
79
84
solution!( year2015, day01) ,
80
85
solution!( year2015, day02) ,
81
86
solution!( year2015, day03) ,
@@ -101,7 +106,11 @@ fn all_solutions() -> Vec<Solution> {
101
106
solution!( year2015, day23) ,
102
107
solution!( year2015, day24) ,
103
108
solution!( year2015, day25) ,
104
- // 2016
109
+ ]
110
+ }
111
+
112
+ fn year2016 ( ) -> Vec < Solution > {
113
+ vec ! [
105
114
solution!( year2016, day01) ,
106
115
solution!( year2016, day02) ,
107
116
solution!( year2016, day03) ,
@@ -127,7 +136,11 @@ fn all_solutions() -> Vec<Solution> {
127
136
solution!( year2016, day23) ,
128
137
solution!( year2016, day24) ,
129
138
solution!( year2016, day25) ,
130
- // 2019
139
+ ]
140
+ }
141
+
142
+ fn year2019 ( ) -> Vec < Solution > {
143
+ vec ! [
131
144
solution!( year2019, day01) ,
132
145
solution!( year2019, day02) ,
133
146
solution!( year2019, day03) ,
@@ -153,7 +166,11 @@ fn all_solutions() -> Vec<Solution> {
153
166
solution!( year2019, day23) ,
154
167
solution!( year2019, day24) ,
155
168
solution!( year2019, day25) ,
156
- // 2020
169
+ ]
170
+ }
171
+
172
+ fn year2020 ( ) -> Vec < Solution > {
173
+ vec ! [
157
174
solution!( year2020, day01) ,
158
175
solution!( year2020, day02) ,
159
176
solution!( year2020, day03) ,
@@ -179,7 +196,11 @@ fn all_solutions() -> Vec<Solution> {
179
196
solution!( year2020, day23) ,
180
197
solution!( year2020, day24) ,
181
198
solution!( year2020, day25) ,
182
- // 2021
199
+ ]
200
+ }
201
+
202
+ fn year2021 ( ) -> Vec < Solution > {
203
+ vec ! [
183
204
solution!( year2021, day01) ,
184
205
solution!( year2021, day02) ,
185
206
solution!( year2021, day03) ,
@@ -205,7 +226,11 @@ fn all_solutions() -> Vec<Solution> {
205
226
solution!( year2021, day23) ,
206
227
solution!( year2021, day24) ,
207
228
solution!( year2021, day25) ,
208
- // 2022
229
+ ]
230
+ }
231
+
232
+ fn year2022 ( ) -> Vec < Solution > {
233
+ vec ! [
209
234
solution!( year2022, day01) ,
210
235
solution!( year2022, day02) ,
211
236
solution!( year2022, day03) ,
0 commit comments