// RUN: %target-swift-emit-silgen %s | %FileCheck %s // CHECK-LABEL: sil hidden [ossa] @$s34tuple_conversion_refutable_pattern2f13argySi1a_SiSg1bt_tF : $@convention(thin) (Int, Optional) -> () { func f1(arg: (a: Int, b: Int?)) { guard case let (x, y?) = arg else { return } } // CHECK-LABEL: sil hidden [ossa] @$s34tuple_conversion_refutable_pattern2f13argyyXl1a_yXlSg1bt_tF : $@convention(thin) (@guaranteed AnyObject, @guaranteed Optional) -> () { func f1(arg: (a: AnyObject, b: AnyObject?)) { guard case let (x, y?) = arg else { return } } // CHECK-LABEL: sil hidden [ossa] @$s34tuple_conversion_refutable_pattern2f13argyyp1a_ypSg1bt_tF : $@convention(thin) (@in_guaranteed Any, @in_guaranteed Optional) -> () { func f1(arg: (a: Any, b: Any?)) { guard case let (x, y?) = arg else { return } } // CHECK-LABEL: sil hidden [ossa] @$s34tuple_conversion_refutable_pattern2f23argySi1a_Si1bt_tF : $@convention(thin) (Int, Int) -> () { func f2(arg: (a: Int, b: Int)) { guard case let (x, 4) = arg else { return } } // CHECK-LABEL: sil hidden [ossa] @$s34tuple_conversion_refutable_pattern2f23argySi1a_SS1bt_tF : $@convention(thin) (Int, @guaranteed String) -> () { func f2(arg: (a: Int, b: String)) { guard case let (x, "") = arg else { return } } // CHECK-LABEL: sil hidden [ossa] @$s34tuple_conversion_refutable_pattern2f33argySi1a_Si1bt_tF : $@convention(thin) (Int, Int) -> () { func f3(arg: (a: Int, b: Int)) { guard case let (x, is String) = arg else { return } } // CHECK-LABEL: sil hidden [ossa] @$s34tuple_conversion_refutable_pattern2f33argySi1a_yXl1bt_tF : $@convention(thin) (Int, @guaranteed AnyObject) -> () { func f3(arg: (a: Int, b: AnyObject)) { guard case let (x, is String) = arg else { return } } // CHECK-LABEL: sil hidden [ossa] @$s34tuple_conversion_refutable_pattern2f33argySi1a_yp1bt_tF : $@convention(thin) (Int, @in_guaranteed Any) -> () { func f3(arg: (a: Int, b: Any)) { guard case let (x, is String) = arg else { return } } // CHECK-LABEL: sil hidden [ossa] @$s34tuple_conversion_refutable_pattern2f43argySi1a_Sb1bt_tF : $@convention(thin) (Int, Bool) -> () { func f4(arg: (a: Int, b: Bool)) { guard case let (x, false) = arg else { return } }