tangled
alpha
login
or
join now
bwc9876.dev
/
advent
0
fork
atom
Advent of Code solutions
0
fork
atom
overview
issues
pulls
pipelines
Update
bwc9876.dev
3 months ago
4922020e
4b8d262e
verified
This commit was signed with the committer's
known signature
.
bwc9876.dev
SSH Key Fingerprint:
SHA256:DanMEP/RNlSC7pAVbnXO6wzQV00rqyKj053tz4uH5gQ=
+122
-153
8 changed files
expand all
collapse all
unified
split
Cargo.lock
advent_core
Cargo.toml
utils
src
grid.rs
lib.rs
num.rs
years
2024
Cargo.toml
src
lib.rs
main.rs
+75
-142
Cargo.lock
···
21
21
22
22
[[package]]
23
23
name = "aho-corasick"
24
24
-
version = "1.1.3"
24
24
+
version = "1.1.4"
25
25
source = "registry+https://github.com/rust-lang/crates.io-index"
26
26
-
checksum = "8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916"
26
26
+
checksum = "ddd31a130427c27518df266943a5308ed92d4b226cc639f5a8f1002816174301"
27
27
dependencies = [
28
28
"memchr",
29
29
]
30
30
31
31
[[package]]
32
32
name = "bumpalo"
33
33
-
version = "3.16.0"
33
33
+
version = "3.19.0"
34
34
source = "registry+https://github.com/rust-lang/crates.io-index"
35
35
-
checksum = "79296716171880943b8470b5f8d03aa55eb2e645a4874bdbb28adb49162e012c"
35
35
+
checksum = "46c5e41b57b8bba42a04676d81cb89e9ee8e859a1a66f80a5a72e1cb76b34d43"
36
36
37
37
[[package]]
38
38
name = "cfg-if"
39
39
-
version = "1.0.0"
39
39
+
version = "1.0.4"
40
40
source = "registry+https://github.com/rust-lang/crates.io-index"
41
41
-
checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
41
41
+
checksum = "9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801"
42
42
43
43
[[package]]
44
44
name = "console"
45
45
-
version = "0.15.10"
45
45
+
version = "0.16.1"
46
46
source = "registry+https://github.com/rust-lang/crates.io-index"
47
47
-
checksum = "ea3c6ecd8059b57859df5c69830340ed3c41d30e3da0c1cbed90a96ac853041b"
47
47
+
checksum = "b430743a6eb14e9764d4260d4c0d8123087d504eeb9c48f2b2a5e810dd369df4"
48
48
dependencies = [
49
49
"encode_unicode",
50
50
"libc",
···
80
80
81
81
[[package]]
82
82
name = "either"
83
83
-
version = "1.13.0"
83
83
+
version = "1.15.0"
84
84
source = "registry+https://github.com/rust-lang/crates.io-index"
85
85
-
checksum = "60b1af1c220855b6ceac025d3f6ecdd2b7c4894bfe9cd9bda4fbb4bc7c0d4cf0"
85
85
+
checksum = "48c757948c5ede0e46177b7add2e67155f70e33c07fea8284df6576da70b3719"
86
86
87
87
[[package]]
88
88
name = "encode_unicode"
···
92
92
93
93
[[package]]
94
94
name = "indicatif"
95
95
-
version = "0.17.9"
95
95
+
version = "0.18.3"
96
96
source = "registry+https://github.com/rust-lang/crates.io-index"
97
97
-
checksum = "cbf675b85ed934d3c67b5c5469701eec7db22689d0a2139d856e0925fa28b281"
97
97
+
checksum = "9375e112e4b463ec1b1c6c011953545c65a30164fbab5b581df32b3abf0dcb88"
98
98
dependencies = [
99
99
"console",
100
100
-
"number_prefix",
101
100
"portable-atomic",
102
101
"unicode-width",
102
102
+
"unit-prefix",
103
103
"web-time",
104
104
]
105
105
106
106
[[package]]
107
107
name = "js-sys"
108
108
-
version = "0.3.76"
108
108
+
version = "0.3.82"
109
109
source = "registry+https://github.com/rust-lang/crates.io-index"
110
110
-
checksum = "6717b6b5b077764fb5966237269cb3c64edddde4b14ce42647430a78ced9e7b7"
110
110
+
checksum = "b011eec8cc36da2aab2d5cff675ec18454fad408585853910a202391cf9f8e65"
111
111
dependencies = [
112
112
"once_cell",
113
113
"wasm-bindgen",
···
115
115
116
116
[[package]]
117
117
name = "libc"
118
118
-
version = "0.2.169"
119
119
-
source = "registry+https://github.com/rust-lang/crates.io-index"
120
120
-
checksum = "b5aba8db14291edd000dfcc4d620c7ebfb122c613afb886ca8803fa4e128a20a"
121
121
-
122
122
-
[[package]]
123
123
-
name = "log"
124
124
-
version = "0.4.22"
118
118
+
version = "0.2.177"
125
119
source = "registry+https://github.com/rust-lang/crates.io-index"
126
126
-
checksum = "a7a70ba024b9dc04c27ea2f0c0548feb474ec5c54bba33a7f72f873a39d07b24"
120
120
+
checksum = "2874a2af47a2325c2001a6e6fad9b16a53b802102b528163885171cf92b15976"
127
121
128
122
[[package]]
129
123
name = "macros"
···
134
128
135
129
[[package]]
136
130
name = "memchr"
137
137
-
version = "2.7.4"
131
131
+
version = "2.7.6"
138
132
source = "registry+https://github.com/rust-lang/crates.io-index"
139
139
-
checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3"
140
140
-
141
141
-
[[package]]
142
142
-
name = "number_prefix"
143
143
-
version = "0.4.0"
144
144
-
source = "registry+https://github.com/rust-lang/crates.io-index"
145
145
-
checksum = "830b246a0e5f20af87141b25c173cd1b609bd7779a4617d6ec582abaf90870f3"
133
133
+
checksum = "f52b00d39961fc5b2736ea853c9cc86238e165017a493d1d5c8eac6bdc4cc273"
146
134
147
135
[[package]]
148
136
name = "once_cell"
149
149
-
version = "1.20.2"
137
137
+
version = "1.21.3"
150
138
source = "registry+https://github.com/rust-lang/crates.io-index"
151
151
-
checksum = "1261fe7e33c73b354eab43b1273a57c8f967d0391e80353e51f764ac02cf6775"
139
139
+
checksum = "42f5e15c9953c5e4ccceeb2e7382a716482c34515315f7b03532b8b4e8393d2d"
152
140
153
141
[[package]]
154
142
name = "portable-atomic"
155
155
-
version = "1.10.0"
143
143
+
version = "1.11.1"
156
144
source = "registry+https://github.com/rust-lang/crates.io-index"
157
157
-
checksum = "280dc24453071f1b63954171985a0b0d30058d287960968b9b2aca264c8d4ee6"
145
145
+
checksum = "f84267b20a16ea918e43c6a88433c2d54fa145c92a811b5b047ccbe153674483"
158
146
159
147
[[package]]
160
148
name = "proc-macro2"
161
161
-
version = "1.0.92"
149
149
+
version = "1.0.103"
162
150
source = "registry+https://github.com/rust-lang/crates.io-index"
163
163
-
checksum = "37d3544b3f2748c54e147655edb5025752e2303145b5aefb3c3ea2c78b973bb0"
151
151
+
checksum = "5ee95bc4ef87b8d5ba32e8b7714ccc834865276eab0aed5c9958d00ec45f49e8"
164
152
dependencies = [
165
153
"unicode-ident",
166
154
]
167
155
168
156
[[package]]
169
157
name = "quote"
170
170
-
version = "1.0.37"
158
158
+
version = "1.0.42"
171
159
source = "registry+https://github.com/rust-lang/crates.io-index"
172
172
-
checksum = "b5b9d34b8991d19d98081b46eacdd8eb58c6f2b201139f7c5f643cc155a633af"
160
160
+
checksum = "a338cc41d27e6cc6dce6cefc13a0729dfbb81c262b1f519331575dd80ef3067f"
173
161
dependencies = [
174
162
"proc-macro2",
175
163
]
176
164
177
165
[[package]]
178
166
name = "rayon"
179
179
-
version = "1.10.0"
167
167
+
version = "1.11.0"
180
168
source = "registry+https://github.com/rust-lang/crates.io-index"
181
181
-
checksum = "b418a60154510ca1a002a752ca9714984e21e4241e804d32555251faf8b78ffa"
169
169
+
checksum = "368f01d005bf8fd9b1206fb6fa653e6c4a81ceb1466406b81792d87c5677a58f"
182
170
dependencies = [
183
171
"either",
184
172
"rayon-core",
···
186
174
187
175
[[package]]
188
176
name = "rayon-core"
189
189
-
version = "1.12.1"
177
177
+
version = "1.13.0"
190
178
source = "registry+https://github.com/rust-lang/crates.io-index"
191
191
-
checksum = "1465873a3dfdaa8ae7cb14b4383657caab0b3e8a0aa9ae8e04b044854c8dfce2"
179
179
+
checksum = "22e18b0f0062d30d4230b2e85ff77fdfe4326feb054b9783a3460d8435c8ab91"
192
180
dependencies = [
193
181
"crossbeam-deque",
194
182
"crossbeam-utils",
···
196
184
197
185
[[package]]
198
186
name = "regex"
199
199
-
version = "1.11.1"
187
187
+
version = "1.12.2"
200
188
source = "registry+https://github.com/rust-lang/crates.io-index"
201
201
-
checksum = "b544ef1b4eac5dc2db33ea63606ae9ffcfac26c1416a2806ae0bf5f56b201191"
189
189
+
checksum = "843bc0191f75f3e22651ae5f1e72939ab2f72a4bc30fa80a066bd66edefc24d4"
202
190
dependencies = [
203
191
"aho-corasick",
204
192
"memchr",
···
208
196
209
197
[[package]]
210
198
name = "regex-automata"
211
211
-
version = "0.4.9"
199
199
+
version = "0.4.13"
212
200
source = "registry+https://github.com/rust-lang/crates.io-index"
213
213
-
checksum = "809e8dc61f6de73b46c85f4c96486310fe304c434cfa43669d7b40f711150908"
201
201
+
checksum = "5276caf25ac86c8d810222b3dbb938e512c55c6831a10f3e6ed1c93b84041f1c"
214
202
dependencies = [
215
203
"aho-corasick",
216
204
"memchr",
···
219
207
220
208
[[package]]
221
209
name = "regex-syntax"
222
222
-
version = "0.8.5"
210
210
+
version = "0.8.8"
223
211
source = "registry+https://github.com/rust-lang/crates.io-index"
224
224
-
checksum = "2b15c43186be67a4fd63bee50d0303afffcef381492ebe2c5d87f324e1b8815c"
212
212
+
checksum = "7a2d987857b319362043e95f5353c0535c1f58eec5336fdfcf626430af7def58"
213
213
+
214
214
+
[[package]]
215
215
+
name = "rustversion"
216
216
+
version = "1.0.22"
217
217
+
source = "registry+https://github.com/rust-lang/crates.io-index"
218
218
+
checksum = "b39cdef0fa800fc44525c84ccb54a029961a8215f9619753635a9c0d2538d46d"
225
219
226
220
[[package]]
227
221
name = "syn"
228
228
-
version = "2.0.91"
222
222
+
version = "2.0.111"
229
223
source = "registry+https://github.com/rust-lang/crates.io-index"
230
230
-
checksum = "d53cbcb5a243bd33b7858b1d7f4aca2153490815872d86d955d6ea29f743c035"
224
224
+
checksum = "390cc9a294ab71bdb1aa2e99d13be9c753cd2d7bd6560c77118597410c4d2e87"
231
225
dependencies = [
232
226
"proc-macro2",
233
227
"quote",
···
236
230
237
231
[[package]]
238
232
name = "unicode-ident"
239
239
-
version = "1.0.14"
233
233
+
version = "1.0.22"
240
234
source = "registry+https://github.com/rust-lang/crates.io-index"
241
241
-
checksum = "adb9e6ca4f869e1180728b7950e35922a7fc6397f7b641499e8f3ef06e50dc83"
235
235
+
checksum = "9312f7c4f6ff9069b165498234ce8be658059c6728633667c526e27dc2cf1df5"
242
236
243
237
[[package]]
244
238
name = "unicode-width"
245
245
-
version = "0.2.0"
239
239
+
version = "0.2.2"
240
240
+
source = "registry+https://github.com/rust-lang/crates.io-index"
241
241
+
checksum = "b4ac048d71ede7ee76d585517add45da530660ef4390e49b098733c6e897f254"
242
242
+
243
243
+
[[package]]
244
244
+
name = "unit-prefix"
245
245
+
version = "0.5.2"
246
246
source = "registry+https://github.com/rust-lang/crates.io-index"
247
247
-
checksum = "1fc81956842c57dac11422a97c3b8195a1ff727f06e85c84ed2e8aa277c9a0fd"
247
247
+
checksum = "81e544489bf3d8ef66c953931f56617f423cd4b5494be343d9b9d3dda037b9a3"
248
248
249
249
[[package]]
250
250
name = "utils"
···
252
252
253
253
[[package]]
254
254
name = "wasm-bindgen"
255
255
-
version = "0.2.99"
255
255
+
version = "0.2.105"
256
256
source = "registry+https://github.com/rust-lang/crates.io-index"
257
257
-
checksum = "a474f6281d1d70c17ae7aa6a613c87fce69a127e2624002df63dcb39d6cf6396"
257
257
+
checksum = "da95793dfc411fbbd93f5be7715b0578ec61fe87cb1a42b12eb625caa5c5ea60"
258
258
dependencies = [
259
259
"cfg-if",
260
260
"once_cell",
261
261
+
"rustversion",
261
262
"wasm-bindgen-macro",
262
262
-
]
263
263
-
264
264
-
[[package]]
265
265
-
name = "wasm-bindgen-backend"
266
266
-
version = "0.2.99"
267
267
-
source = "registry+https://github.com/rust-lang/crates.io-index"
268
268
-
checksum = "5f89bb38646b4f81674e8f5c3fb81b562be1fd936d84320f3264486418519c79"
269
269
-
dependencies = [
270
270
-
"bumpalo",
271
271
-
"log",
272
272
-
"proc-macro2",
273
273
-
"quote",
274
274
-
"syn",
275
263
"wasm-bindgen-shared",
276
264
]
277
265
278
266
[[package]]
279
267
name = "wasm-bindgen-macro"
280
280
-
version = "0.2.99"
268
268
+
version = "0.2.105"
281
269
source = "registry+https://github.com/rust-lang/crates.io-index"
282
282
-
checksum = "2cc6181fd9a7492eef6fef1f33961e3695e4579b9872a6f7c83aee556666d4fe"
270
270
+
checksum = "04264334509e04a7bf8690f2384ef5265f05143a4bff3889ab7a3269adab59c2"
283
271
dependencies = [
284
272
"quote",
285
273
"wasm-bindgen-macro-support",
···
287
275
288
276
[[package]]
289
277
name = "wasm-bindgen-macro-support"
290
290
-
version = "0.2.99"
278
278
+
version = "0.2.105"
291
279
source = "registry+https://github.com/rust-lang/crates.io-index"
292
292
-
checksum = "30d7a95b763d3c45903ed6c81f156801839e5ee968bb07e534c44df0fcd330c2"
280
280
+
checksum = "420bc339d9f322e562942d52e115d57e950d12d88983a14c79b86859ee6c7ebc"
293
281
dependencies = [
282
282
+
"bumpalo",
294
283
"proc-macro2",
295
284
"quote",
296
285
"syn",
297
297
-
"wasm-bindgen-backend",
298
286
"wasm-bindgen-shared",
299
287
]
300
288
301
289
[[package]]
302
290
name = "wasm-bindgen-shared"
303
303
-
version = "0.2.99"
291
291
+
version = "0.2.105"
304
292
source = "registry+https://github.com/rust-lang/crates.io-index"
305
305
-
checksum = "943aab3fdaaa029a6e0271b35ea10b72b943135afe9bffca82384098ad0e06a6"
293
293
+
checksum = "76f218a38c84bcb33c25ec7059b07847d465ce0e0a76b995e134a45adcb6af76"
294
294
+
dependencies = [
295
295
+
"unicode-ident",
296
296
+
]
306
297
307
298
[[package]]
308
299
name = "web-time"
···
315
306
]
316
307
317
308
[[package]]
318
318
-
name = "windows-sys"
319
319
-
version = "0.59.0"
309
309
+
name = "windows-link"
310
310
+
version = "0.2.1"
320
311
source = "registry+https://github.com/rust-lang/crates.io-index"
321
321
-
checksum = "1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b"
322
322
-
dependencies = [
323
323
-
"windows-targets",
324
324
-
]
312
312
+
checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5"
325
313
326
314
[[package]]
327
327
-
name = "windows-targets"
328
328
-
version = "0.52.6"
315
315
+
name = "windows-sys"
316
316
+
version = "0.61.2"
329
317
source = "registry+https://github.com/rust-lang/crates.io-index"
330
330
-
checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973"
318
318
+
checksum = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc"
331
319
dependencies = [
332
332
-
"windows_aarch64_gnullvm",
333
333
-
"windows_aarch64_msvc",
334
334
-
"windows_i686_gnu",
335
335
-
"windows_i686_gnullvm",
336
336
-
"windows_i686_msvc",
337
337
-
"windows_x86_64_gnu",
338
338
-
"windows_x86_64_gnullvm",
339
339
-
"windows_x86_64_msvc",
320
320
+
"windows-link",
340
321
]
341
341
-
342
342
-
[[package]]
343
343
-
name = "windows_aarch64_gnullvm"
344
344
-
version = "0.52.6"
345
345
-
source = "registry+https://github.com/rust-lang/crates.io-index"
346
346
-
checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3"
347
347
-
348
348
-
[[package]]
349
349
-
name = "windows_aarch64_msvc"
350
350
-
version = "0.52.6"
351
351
-
source = "registry+https://github.com/rust-lang/crates.io-index"
352
352
-
checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469"
353
353
-
354
354
-
[[package]]
355
355
-
name = "windows_i686_gnu"
356
356
-
version = "0.52.6"
357
357
-
source = "registry+https://github.com/rust-lang/crates.io-index"
358
358
-
checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b"
359
359
-
360
360
-
[[package]]
361
361
-
name = "windows_i686_gnullvm"
362
362
-
version = "0.52.6"
363
363
-
source = "registry+https://github.com/rust-lang/crates.io-index"
364
364
-
checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66"
365
365
-
366
366
-
[[package]]
367
367
-
name = "windows_i686_msvc"
368
368
-
version = "0.52.6"
369
369
-
source = "registry+https://github.com/rust-lang/crates.io-index"
370
370
-
checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66"
371
371
-
372
372
-
[[package]]
373
373
-
name = "windows_x86_64_gnu"
374
374
-
version = "0.52.6"
375
375
-
source = "registry+https://github.com/rust-lang/crates.io-index"
376
376
-
checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78"
377
377
-
378
378
-
[[package]]
379
379
-
name = "windows_x86_64_gnullvm"
380
380
-
version = "0.52.6"
381
381
-
source = "registry+https://github.com/rust-lang/crates.io-index"
382
382
-
checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d"
383
383
-
384
384
-
[[package]]
385
385
-
name = "windows_x86_64_msvc"
386
386
-
version = "0.52.6"
387
387
-
source = "registry+https://github.com/rust-lang/crates.io-index"
388
388
-
checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec"
389
322
390
323
[[package]]
391
324
name = "y_2024"
+3
-3
advent_core/Cargo.toml
···
1
1
[package]
2
2
name = "advent_core"
3
3
version = "0.1.0"
4
4
-
edition = "2021"
4
4
+
edition = "2024"
5
5
6
6
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
7
7
8
8
[dependencies]
9
9
-
indicatif = "0.17.9"
10
10
-
regex = "1.10.2"
9
9
+
indicatif = "0.18.3"
10
10
+
regex = "1.12.2"
+2
-2
utils/src/grid.rs
···
579
579
580
580
/// Create a new cursor for this grid facing in the specified direction at the specified
581
581
/// position
582
582
-
pub fn cursor<D: Movement>(&self, pos: Position, dir: D) -> GridCursor<T, D> {
582
582
+
pub fn cursor<D: Movement>(&self, pos: Position, dir: D) -> GridCursor<'_, T, D> {
583
583
GridCursor::new(self, pos, dir)
584
584
}
585
585
}
···
590
590
.find_map(|(p, t)| if t == tile { Some(p) } else { None })
591
591
}
592
592
593
593
-
pub fn cursor_at_tile<D: Movement>(&self, tile: &T, dir: D) -> Option<GridCursor<T, D>> {
593
593
+
pub fn cursor_at_tile<D: Movement>(&self, tile: &T, dir: D) -> Option<GridCursor<'_, T, D>> {
594
594
self.find_tile(tile).map(|pos| self.cursor(pos, dir))
595
595
}
596
596
}
+2
utils/src/lib.rs
···
1
1
+
#![allow(unused)]
2
2
+
1
3
pub mod day_utils;
2
4
pub mod dir;
3
5
pub mod geom;
+37
utils/src/num.rs
···
47
47
(num / div, num % div)
48
48
}
49
49
50
50
+
/// Get the digit at the (starting from the right) given index
51
51
+
pub fn digit_at(num: usize, idx: usize) -> usize {
52
52
+
let div = 10_usize.pow(idx as u32);
53
53
+
num / div % 10
54
54
+
}
55
55
+
56
56
+
/// Iterator (from right to left)
57
57
+
struct Digits {
58
58
+
num: usize,
59
59
+
size: usize,
60
60
+
curr_digit: usize,
61
61
+
}
62
62
+
63
63
+
impl Digits {
64
64
+
pub fn new(num: usize) -> Self {
65
65
+
Self {
66
66
+
num,
67
67
+
size: num_digits(num),
68
68
+
curr_digit: 0,
69
69
+
}
70
70
+
}
71
71
+
}
72
72
+
73
73
+
impl Iterator for Digits {
74
74
+
type Item = usize;
75
75
+
76
76
+
fn next(&mut self) -> Option<Self::Item> {
77
77
+
if self.curr_digit == self.size - 1 {
78
78
+
None
79
79
+
} else {
80
80
+
let res = Some(digit_at(self.num, self.curr_digit));
81
81
+
self.curr_digit += 1;
82
82
+
res
83
83
+
}
84
84
+
}
85
85
+
}
86
86
+
50
87
/// Split the given number once in the middle, see [[split_num_at]] for caveats.
51
88
///
52
89
/// # Examples
+3
-3
years/2024/Cargo.toml
···
2
2
[package]
3
3
name = "y_2024"
4
4
version = "0.1.0"
5
5
-
edition = "2021"
5
5
+
edition = "2024"
6
6
7
7
[dependencies]
8
8
advent_core = { path = "../../advent_core" }
9
9
macros = { path = "../../macros" }
10
10
-
rayon = "1.10.0"
11
11
-
regex = "1.11.1"
10
10
+
rayon = "1.11.0"
11
11
+
regex = "1.12.2"
12
12
utils = { path = "../../utils" }
-1
years/2024/src/lib.rs
···
1
1
-
#![feature(let_chains)]
2
1
#![feature(iter_intersperse)]
3
2
4
3
use macros::year;
-2
years/2024/src/main.rs
···
1
1
-
#![feature(let_chains)]
2
2
-
3
1
use macros::year_runner;
4
2
5
3
year_runner!(2024);