meetings/2025/LDM-2025-05-28.md
Champion issue: https://github.com/dotnet/csharplang/issues/9411
Proposal: https://github.com/dotnet/csharplang/blob/402e0a75e53b6c1a301b1e75b58115b7b7315e8f/proposals/nominal-type-unions.md
Today we reviewed the latest output from the unions working group: a proposal for nominal type unions. We spent most of our time examining the proposal
and discussing its various limitations in certain scenarios. As with previous proposals, generic contexts remain a concern, as do reflection scenarios.
JSON serialization presents particular challenges, where the natural representation for some scenarios would be a union type (such as OneOf<int, string>),
but this would fail when encountering specific cases instead of the union wrapper. We also raised concerns about the fragility of the emit approach,
especially across assembly boundaries; optimizations would need to be curtailed to prevent undefined behavior during assembly upgrades. Ultimately, the
LDM is not ready to move forward with this version of the proposal, and we need to return to the drawing board to continue designing.