Indicates that an internal sanity check failed.

    func assertionFailure(_ message: @autoclosure () -> String = String(), file: StaticString = #file, line: UInt = #line)



    A string to print in a playground or -Onone build. The default is an empty string.


    The file name to print with message. The default is the file where assertionFailure(_:file:line:) is called.


    The line number to print along with message. The default is the line number where assertionFailure(_:file:line:) is called.


    Use this function to stop the program, without impacting the performance of shipping code, when control flow is not expected to reach the call—for example, in the default case of a switch where you have knowledge that one of the other cases must be satisfied. To protect code from invalid usage in Release builds, see preconditionFailure(_:file:line:).

    • In playgrounds and -Onone builds (the default for Xcode’s Debug configuration), stop program execution in a debuggable state after printing message.

    • In -O builds, has no effect.

    • In -Ounchecked builds, the optimizer may assume that this function is never called. Failure to satisfy that assumption is a serious programming error.