Excellent! Love this list ;-)
Regards, Rien Site: http://balancingrock.nl Blog: http://swiftrien.blogspot.com Github: http://github.com/Balancingrock Project: http://swiftfire.nl > On 24 Mar 2017, at 10:12, Philip Erickson <philiperick...@gmail.com> wrote: > > I believe returning Never does what you want, e.g. > > > import Foundation > > func findReasonAndTerminate() -> Never > { > let reason: String = findReason() > fatalError(reason) > } > > func findReason() -> String > { > return "some reason" > } > > func buildData() -> Data? > { > return nil > } > > guard let data = buildData() else { findReasonAndTerminate() } > > > On Fri, Mar 24, 2017 at 3:02 AM, Rien via swift-users <swift-users@swift.org> > wrote: > Is there any way to mark a function as “no return”? > > Reason: The compiler generates an error when the else block from a guard does > not terminate the execution by either a return or a fatalError. I want to > call out to a function and raise the fatalError in that function. > > func findReasonAndTerminate() { > let reason: String = …. > fatalError(reason) > } > > main.swift: > > guard let data = buildData() else { findReasonAndTerminate() } > > > Currently the work around is to add another fatalError like this: > > guard let data = buildData() else { findReasonAndTerminate(); fatalError } > > > but it would be nice to have some attribute like @noReturn: > > @noReturn > func findReasonAndTerminate() { … } > > > Regards, > Rien > > Site: http://balancingrock.nl > Blog: http://swiftrien.blogspot.com > Github: http://github.com/Balancingrock > Project: http://swiftfire.nl > > > > > > _______________________________________________ > swift-users mailing list > swift-users@swift.org > https://lists.swift.org/mailman/listinfo/swift-users > _______________________________________________ swift-users mailing list swift-users@swift.org https://lists.swift.org/mailman/listinfo/swift-users