HackerTrans
TopNewTrendsCommentsPastAskShowJobs

yapp0

no profile record

Submissions

Go builder generator with compile-time required field enforcement

github.com
2 points·by yapp0·4개월 전·2 comments

comments

yapp0
·4개월 전·discuss
Go struct initialization doesn't provide a way to enforce that all required fields are set.

That becomes painful when a struct evolves: if you add a new field that is required from a business perspective, existing struct literals still compile until every call site is updated manually.

Constructors help but they don't scale well either, since argument lists quickly become hard to maintain.

I built a code generator tool papa-carlo that creates builders which enforce required fields at compile time. Missing fields result in a compile error rather than a runtime bug.

I wrote a short blog post about the motivation here: https://yappo.cc/posts/2026-02-16-papa-carlo

Would love feedback. Curious if others have run into this problem or solved it differently.