From 580588463fef35f463267a48b7e9eca6c4ff9637 Mon Sep 17 00:00:00 2001 From: Christian Daley Date: Sun, 9 Aug 2026 11:44:12 -0700 Subject: [PATCH 1/2] fix accessibility of case structs --- SumSharp.Generator/SymbolHandler.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/SumSharp.Generator/SymbolHandler.cs b/SumSharp.Generator/SymbolHandler.cs index 9efc1ee..c48115a 100644 --- a/SumSharp.Generator/SymbolHandler.cs +++ b/SumSharp.Generator/SymbolHandler.cs @@ -836,14 +836,14 @@ private void EmitFieldsAndConstructor() { Builder.AppendLine($@" ///Used to implement .NET 11 union requirements. Use this type when pattern matching using C#'s built-in switch statement - public readonly partial record struct {caseData.Name};"); + {Accessibility} readonly partial record struct {caseData.Name};"); } else { Builder.AppendLine($@" ///Used to implement .NET 11 union requirements. Use this type when pattern matching using C#'s built-in switch statement {GeneratedCodeAttribute} - public readonly record struct {Net11StructNameMap[caseData].NameWithTypeArgs}({caseData.TypeInfo.Name} Value) {Net11StructNameMap[caseData].Constraints};"); + {Accessibility} readonly record struct {Net11StructNameMap[caseData].NameWithTypeArgs}({caseData.TypeInfo.Name} Value) {Net11StructNameMap[caseData].Constraints};"); } } From 5fd0371be80a594c9d812dae5f6637de822eb133 Mon Sep 17 00:00:00 2001 From: Christian Daley Date: Sun, 9 Aug 2026 11:47:46 -0700 Subject: [PATCH 2/2] small change --- SumSharp.Generator/SymbolHandler.cs | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/SumSharp.Generator/SymbolHandler.cs b/SumSharp.Generator/SymbolHandler.cs index c48115a..27f1346 100644 --- a/SumSharp.Generator/SymbolHandler.cs +++ b/SumSharp.Generator/SymbolHandler.cs @@ -452,9 +452,7 @@ public SymbolHandler( } else { - var parsedTypeArguments = TypeNameParser.ExtractLeafTypes(caseData.TypeInfo.Name); - - var caseStructTypeArguments = TypeArguments.Intersect(parsedTypeArguments).ToArray(); + var caseStructTypeArguments = TypeArguments.Intersect(TypeNameParser.ExtractLeafTypes(caseData.TypeInfo.Name)).ToArray(); var caseStructTypeConstraints = caseStructTypeArguments