Releases: pointfreeco/swift-issue-reporting
Releases · pointfreeco/swift-issue-reporting
0.4.1
0.4.0
- Changed:
XCTUnimplemented
is now overloaded to take a non-optionalplaceholder
, or nothing at all, to prevent ambiguity in situations where you pass a.none
value.
0.3.3
- Fixed: Linux now builds correctly when statically linking against the standard library.
- Infrastructure: Cleaned up DocC.
0.3.2
- Changed:
XCTUnimplemented
errors now print more context, including the values passed to the function. - Fixed: the underscored
_XCTIsTesting
property no longer returnsfalse
when tests run in app hosts.
0.3.1
- Changed:
XCTUnimplemented
will no longer fatal error when range replaceable values are to be returned. Instead, it will return an empty value. - Changed:
XCTUnimplemented
overloads have been reduced, whereVoid
-returning logic is built into the genericResult
-returning functions. - Fixed: 0.3.0 introduced a regression in which calling
XCTFail
outside of tests from a debug build could cause a recursive loop. - Infrastructure: DocC documentation has been added.
0.3.0
-
Added
XCTUnimplemented
, a function for constructing "unimplemented" closures that callXCTFail
when invoked.Helpful for stubbing dependencies held in value types. For example, a common use of XCTest Dynamic Overlay:
struct FactClient { var fetch: (Int) async throws -> String } extension FactClient { struct Unimplemented: Error { let endpoint: String } static let unimplemented = Self( fetch: { _ in XCTFail("Unimplemented: \(Self.self).fetch") throw Unimplemented(endpoint: "\(Self.self).fetch") } ) }
Can be simplified using
XCTUnimplemented
:extension FactClient { static let unimplemented = Self( fetch: XCTUnimplemented("\(Self.self).fetch") ) }
-
Changed:
XCTFail
now causes a runtime warning when called outside of tests.
0.2.1
- Changed:
XCTFail
functions are now no-ops in non-DEBUG builds to avoid leaking symbols into RELEASE builds.
0.2.0
- Changed:
XCTFail
is no longer restricted to DEBUG builds.
0.1.1
- Includes MIT LICENSE.
0.1.0
- Initial release!