2 comments

  • cabirum 1 hour ago
    This seems to still require initialization in a specific order.

    Think it might be possible to generate all possible combinations of field init chains and feed it to compiler

  • yapp0 1 hour ago
    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.