My most lukewarm take is that `derive(serde::Deserialize)` should fail at compile time if all of your struct's fields aren't `pub`. (opens in new tab)
My most lukewarm take is that `derive(serde::Deserialize)` should fail at compile time if all of your struct's fields aren't `pub`. 1. It would keep me from forgetting this all the time when I go to make a type in another crate and it's private 2. I think this would surprise (some) people why.
Read the original article