Advent of code in Rust - solving day 2/2021 (Twitch Live 2022-01-17)

Subscribers:
950
Published on ● Video Link: https://www.youtube.com/watch?v=F6GvFX4voAQ



Duration: 59:18
34 views
2


In this episode, we completed day 2 of Advent of Code y2021 using Rust!

This exercise required us to do a little bit of parsing to process a sequence of instructions that would make a submarine move.

The solution was simple enough but we wanted to get a bit fancy and experiment a little bit.

Our initial solution used the `FromIterator` trait which allows you to call `collect()` on an iterator to produce a custom type: https://doc.rust-lang.org/stable/std/iter/trait.FromIterator.html

We essentially used this as a replacement for something like `fold` which would have probably been a bit more idiomatic: https://doc.rust-lang.org/std/iter/trait.Iterator.html#method.fold

But hey, sometimes you just want to have fun and try something new :)

The first and the second part of the exercise had a few repeated bits that we thought could use some refactoring.

We ended up experimenting with custom traits and blanket implementations, only to find out that you cannot really provide a blanket implementation for another trait without having a wrapper struct.

This was an interesting learning, but in the end, we didn't think it made our solution simpler so we ended up ditching those changes.

If you have any suggestion, we'd love to hear it, so please leave a comment or a create a PR!

For all the source code check out the official GitHub repo: https://github.com/lmammino/rust-advent

For seeing the next episodes live check out our Twitch channel: https://twitch.tv/loige




Other Videos By Luciano Mammino (loige)


2022-04-11๐Ÿฆ€ Rust vs ๐Ÿ Python: Advent of code in Rust - solving day 12/2021 (Twitch Live 2022-04-11)
2022-04-04๐Ÿฆ€ Rust vs ๐Ÿ Python: Advent of code in Rust - solving day 11/2021 (Twitch Live 2022-04-04)
2022-03-28Advent of code in Rust - solving day 10/2021 (Twitch Live 2022-03-28) with Python comparison! ๐Ÿ
2022-03-21Advent of code in Rust - solving day 8/2021 part 2 and day 9/2021 (Twitch Live 2022-03-21)
2022-03-07Advent of code in Rust - solving day 7/2021 and day 8/2021 part 1 (Twitch Live 2022-03-7)
2022-02-21Advent of code in Rust SPECIAL - solving day 6/2021 on a RASPBERRY PICO (Twitch Live 2022-02-21)
2022-02-14Advent of code in Rust - solving day 6/2021 (Twitch Live 2022-02-14)
2022-02-07Advent of code in Rust - solving day 5/2021 (Twitch Live 2022-02-07)
2022-01-31Advent of code in Rust - solving day 4/2021 (Twitch Live 2022-01-31)
2022-01-24Advent of code in Rust - solving day 3/2021 (Twitch Live 2022-01-24)
2022-01-17Advent of code in Rust - solving day 2/2021 (Twitch Live 2022-01-17)
2022-01-10Advent of code in Rust - solving day 25/2020 & day 1/2021 (Twitch Live 2022-01-10)
2021-12-13Advent of code in Rust - solving year 2020 exercise 24 part 1 (Twitch Live 2021-12-13)
2021-12-07Advent of code in Rust - solving year 2020 exercise 23 part 2 (Twitch Live 2021-12-06)
2021-11-29Advent of code in Rust - solving year 2020 exercise 23 part 1 (Twitch Live 2021-11-29)
2021-11-22Advent of code in Rust - solving year 2020 exercise 22 part 2 (Twitch Live 2021-11-22)
2021-11-15Advent of code in Rust - solving year 2020 exercise 22 part 1 (Twitch Live 2021-11-15)
2021-11-08Advent of code in Rust - solving year 2020 exercise 21 (Twitch Live 2021-11-08)
2021-11-01Advent of code in Rust - solving year 2020 exercise 20 p2 THIRD ATTEMPT (Twitch Live 2021-11-01)
2021-10-27Advent of code in Rust - solving year 2020 exercise 20 p2 SECOND ATTEMPT (Twitch Live 2021-10-26)
2021-10-26Advent of code in Rust - solving year 2020 exercise 20 p2 FIRST ATTEMPT (Twitch Live 2021-10-25)



Tags:
rust
rustlang
advent of code
aoc
adventofcode
game of life
learning rust
live coding
pair programming
mob programming
live stream
twitch
educational
iterator
fromStr
traits
coding challenge
problem solving
irl
in real life
day2
year 2021
aoc2021
advent of code 2021