Skip to content

Commit d841369

Browse files
committed
[OptionSet] Try harder to appease older compilers
1 parent 6310204 commit d841369

File tree

1 file changed

+5
-3
lines changed

1 file changed

+5
-3
lines changed

lib/Macros/Sources/SwiftMacros/OptionSetMacro.swift

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -97,14 +97,16 @@ public struct OptionSetMacro {
9797
}
9898

9999
// Find the option enum within the struct.
100-
guard let optionsEnum = decl.members.members.compactMap({ member in
100+
let optionsEnums: [EnumDeclSyntax] = decl.members.members.compactMap({ member in
101101
if let enumDecl = member.decl.as(EnumDeclSyntax.self),
102102
enumDecl.identifier.text == optionsEnumName {
103103
return enumDecl
104104
}
105105

106106
return nil
107-
}).first else {
107+
})
108+
109+
guard let optionsEnum = optionsEnums.first else {
108110
context.diagnose(OptionSetMacroDiagnostic.requiresOptionsEnum(optionsEnumName).diagnose(at: decl))
109111
return nil
110112
}
@@ -160,7 +162,7 @@ extension OptionSetMacro: MemberMacro {
160162
}
161163

162164
// Find all of the case elements.
163-
let caseElements = optionsEnum.members.members.flatMap { member in
165+
let caseElements: [EnumCaseElementSyntax] = optionsEnum.members.members.flatMap { member in
164166
guard let caseDecl = member.decl.as(EnumCaseDeclSyntax.self) else {
165167
return Array<EnumCaseElementSyntax>()
166168
}

0 commit comments

Comments
 (0)