[swift-users] Expression pattern cannot be a named tuple constant
Jordan Rose
jordan_rose at apple.com
Tue Jul 5 15:15:45 CDT 2016
I'd definitely consider that a bug. Can you file it at bugs.swift.org?
Jordan
> On Jul 4, 2016, at 14:56, Neil Faiman via swift-users <swift-users at swift.org> wrote:
>
> (Resending — this didn’t get any responses when I sent it a month ago.)
>
> Swift 2.2 in Xcode 7.3.1.
>
> Apparently you cannot use a named tuple constant as an expression pattern in a case label.
>
> func test(x: Int, y: Int) -> Int {
> let int_1 = 1
> switch x {
> case 0:
> return 0
> case int_1:
> return 1
> default:
> break
> }
>
> let int_1_1: (Int, Int) = (1, 1)
> switch (x, y) {
> case (0, 0):
> return 0
> case int_1_1: // <<<<
> return 1
> default:
> return -1
> }
> }
>
> error: expression pattern of type '(Int, Int)' cannot match values of type '(Int, Int)'
> case int_1_1:
> ^~~~~~~
>
> The error message is particularly amusing.
>
> - Neil Faiman
> _______________________________________________
> swift-users mailing list
> swift-users at swift.org
> https://lists.swift.org/mailman/listinfo/swift-users
More information about the swift-users
mailing list