// RUN: %target-swift-frontend -emit-sil -enable-sil-ownership %s -Onone -Xllvm \ // RUN: -sil-print-after=allocbox-to-stack -Xllvm \ // RUN: -sil-print-only-functions=$S3red19ThrowAddrOnlyStructV016throwsOptionalToG0ACyxGSgSi_tcfC \ // RUN: -Xllvm -sil-print-debuginfo -o /dev/null 2>&1 | %FileCheck %s // CHECK: bb5(%27 : @owned $Error): // CHECK: dealloc_stack %6 : $*ThrowAddrOnlyStruct, loc {{.*}}:27:68, scope 2 // CHECK: dealloc_stack %3 : $*ThrowAddrOnlyStruct, loc {{.*}}:27:68, scope 2 // CHECK: br bb4(%27 : $Error), loc {{.*}}:27:15, scope 2 protocol Patatino { init() } struct ThrowAddrOnlyStruct { var x : T init(fail: ()) throws { x = T() } init(failDuringDelegation: Int) throws { try self.init(fail: ()) } init?(throwsToOptional: Int) { try? self.init(failDuringDelegation: throwsToOptional) } init(throwsOptionalToThrows: Int) throws { self.init(throwsToOptional: throwsOptionalToThrows)! } init?(throwsOptionalToOptional: Int) { try! self.init(throwsOptionalToThrows: throwsOptionalToOptional) } }