diff --git a/Sources/CasePathsMacros/CasePathableMacro.swift b/Sources/CasePathsMacros/CasePathableMacro.swift index c398938..880cdb3 100644 --- a/Sources/CasePathsMacros/CasePathableMacro.swift +++ b/Sources/CasePathsMacros/CasePathableMacro.swift @@ -86,13 +86,14 @@ extension CasePathableMacro: MemberMacro { let rootSwitchCases = generateCases(from: memberBlock.members, enumName: enumName) { "case .\($0.name): return \\.\($0.name)" } - let rootSwitch: DeclSyntax = rootSwitchCases.isEmpty + let rootSwitch: DeclSyntax = + rootSwitchCases.isEmpty ? "\\.never" : """ - switch root { - \(raw: rootSwitchCases.map(\.description).joined(separator: "\n")) - } - """ + switch root { + \(raw: rootSwitchCases.map(\.description).joined(separator: "\n")) + } + """ let casePaths = generateDeclSyntax(from: memberBlock.members, enumName: enumName) let allCases = generateCases(from: memberBlock.members, enumName: enumName) { "allCasePaths.append(\\.\($0.name))"