HackerTrans
トップ新着トレンドコメント過去質問紹介求人

yapp0

no profile record

投稿

Go builder generator with compile-time required field enforcement

github.com
2 ポイント·投稿者 yapp0·4 か月前·2 コメント

コメント

yapp0
·4 か月前·議論
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.