diff --git a/SumSharp.Generator/SymbolHandler.cs b/SumSharp.Generator/SymbolHandler.cs index 9efc1ee..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 @@ -836,14 +834,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};"); } }