csharplang
csharplang copied to clipboard
[Proposal]: Discriminated Unions
Discriminated Unions
- Union proposals overview: https://github.com/dotnet/csharplang/blob/main/meetings/working-groups/discriminated-unions/union-proposals-overview.md
- Discussion: https://github.com/dotnet/csharplang/discussions/8313
- Past discussion threads
- https://github.com/dotnet/csharplang/discussions/8926
- https://github.com/dotnet/csharplang/discussions/8927
- https://github.com/dotnet/csharplang/discussions/7010
- https://github.com/dotnet/csharplang/discussions/8942
- Past discussion threads
Summary
A proposal for type unions (aka discriminated unions) in C#.
Design meetings
- https://github.com/dotnet/csharplang/blob/main/meetings/2022/LDM-2022-08-31.md#discriminated-unions
- https://github.com/dotnet/csharplang/blob/main/meetings/2022/LDM-2022-09-26.md#discriminated-unions
- https://github.com/dotnet/csharplang/blob/main/meetings/2024/LDM-2024-07-24.md#discriminated-unions
- https://github.com/dotnet/csharplang/blob/main/meetings/2025/LDM-2025-01-13.md#discriminated-unions
- https://github.com/dotnet/csharplang/blob/main/meetings/2025/LDM-2025-08-13.md#unions
- https://github.com/dotnet/csharplang/blob/main/meetings/2025/LDM-2025-08-18.md#unions
- https://github.com/dotnet/csharplang/blob/main/meetings/2025/LDM-2025-08-27.md#type-value-conversion
- https://github.com/dotnet/csharplang/blob/main/meetings/2025/LDM-2025-08-27.md#union-syntax