Plain data in Rust can be surprisingly verbose.
I thought I wanted:
enum Action { Changed, Unchanged }
but it turned out I wanted this instead:
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
enum Action { Changed, Unchanged }
miniblog.
Related Posts
It's surprisingly fiddly to build a lint engine that warns on unused suppressions. Plenty of established linters don't have this feature.
LLMs are surprisingly good at reducing crash samples.
I've had success with "this project crashes my static analysis tool with the following command, try to shrink the repro whilst preserving the crash. Commit each smaller version to a branch".
Date of birth pickers are a surprisingly nuanced UI problem.
What do you pick as the initial value? How do you allow users to easily move by large amounts (years) as well as small amounts (the exact day)?
Defaulting to today and even allowing future dates is funny though.
