With 2021 done, wanted to go back and put together a gist list of the input parsing, using standard crate Rust, for future reference

List of numbers

Day 1

Easy enough, leverage parse::<type> turbo fish for your correct type size:

List of commands

Day 2, Day 13 (element 2), Day 21. These vary a bit, based upon the command structure, number of options, but effectivly use split() or replacen() for each line.

Below is an example of two-part command, direction and magnituded, separated by space:

List of bits

Day 3. Bit packed integers

List of coordinates

List of coordinates: Day 13 (element 1), Day 19. Pretty common to leverage a struct, called Point for storing:

Single-line CSV of numbers

Day 4 (element 1), Day 6, Day 7

Matrix of numbers/characters

Day 4 (element 2), Day 9, Day 11, Day 15, Day 20 (element 2). Generally create single dim array and leverage calculation for row/column offsets.

Below is a matrix of characters:

List of pair of string sequences/expressions

Day 8, Day 10, Day 12, Day 14 (element 2), Day 18. These are pretty specific to the implementation, but vary from above

Single line sequence/expression

Day 14 (element 1), Day 16, Day 17, Day 20 (element 1). Same. These are pretty specific to the implementation, but vary from above

Multi-element

Day 4, Day 13, Day 14, Day 19, Day 20. Just combinations of the above