     - Swift enums with associated data,
     - `NSError`s, where default equality verification relies on checking `code`, `domain` and `userInfo` properties.
 */
-public func AssertThrows<T where T: Equatable, T: ErrorType>(expected: T, @autoclosure _ throwingCall: () throws -> Any, file: String = __FILE__, line: UInt = __LINE__) {
+public func AssertThrows<T where T: Equatable, T: ErrorType>(expected: T, @autoclosure _ throwingCall: () throws -> Any, file: StaticString = #file, line: UInt = #line) {
     do {
         try throwingCall()
         XCTFail()



/// Asserts that error has been thrown.
public func AssertThrows(@autoclosure throwingCall: () throws -> Any, file: String = __FILE__, line: UInt = __LINE__) {
    do {
        try throwingCall()
        XCTFail("AssertThrows: No error thrown", file: file, line: line)

}

/// Asserts that error of specific type has been thrown.
public func AssertThrows<T: ErrorType>(type: T.Type, @autoclosure _ throwingCall: () throws -> Any, file: StaticString = #file, line: UInt = #line) {
    do {
        try throwingCall()
        XCTFail("AssertThrows: No error thrown", file: file, line: line)
