Pattern: Unsupported optional enum case matching
Issue: -
Matching an enum case against an optional enum without ?
is supported on Swift 5.1 and above.
Examples of correct code:
switch foo {
case .bar: break
case .baz: break
default: break
}
switch foo {
case (.bar, .baz): break
case (.bar, _): break
case (_, .baz): break
default: break
}
Examples of incorrect code:
switch foo {
case .bar↓?: break
case .baz: break
default: break
}
switch foo {
case Foo.bar↓?: break
case .baz: break
default: break
}
switch foo {
case .bar↓?, .baz↓?: break
default: break
}
switch foo {
case .bar↓? where x > 1: break
case .baz: break
default: break
}
switch foo {
case (.bar↓?, .baz↓?): break
case (.bar↓?, _): break
case (_, .bar↓?): break
default: break
}