// RUN: %target-swift-frontend -typecheck -verify %s func foo(a : [(some: Int, (key: Int, value: String))]) -> String { for (i , (j, k)) in a { // expected-error {{cannot express tuple conversion '(some: Int, (key: Int, value: String))' to '(Int, (Int, String))'}}{8-8=some: }} {{13-13=key: }} {{16-16=value: }} if i == j { return k } } } func rdar28207648() -> [(Int, CustomStringConvertible)] { let v : [(Int, Int)] = [] return v as [(Int, CustomStringConvertible)] // expected-error {{cannot express tuple conversion '(Int, Int)' to '(Int, CustomStringConvertible)'}} } class rdar28207648Base {} class rdar28207648Derived : rdar28207648Base {} func rdar28207648(x: (Int, rdar28207648Derived)) -> (Int, rdar28207648Base) { return x as (Int, rdar28207648Base) // expected-error {{cannot express tuple conversion '(Int, rdar28207648Derived)' to '(Int, rdar28207648Base)'}} }