I'm participating in Advent of Code to learn Rust, and trying to write a code runner for it. Unfortunately, my ambitions exceed my knowledge, and so I have a more broad question.
The framework needs to compose two functions, a generator and a solver, together. However, while the input of the generator is known, and the output of the solver is known, the intermediate type is not. This is because I want to implement multiple generators for a given problem, in order to compare their performance (example follows). I know what I want the output code to look like, and what the input code should look like, but not how to organize data in order to get there. Even some links to documentation would be helpful. I don't know what I'm supposed to be looking up, and the few tutorials on macros I've gone through so far have not exactly been as helpful as I would like.