File tree Expand file tree Collapse file tree 3 files changed +13
-4
lines changed
Expand file tree Collapse file tree 3 files changed +13
-4
lines changed Original file line number Diff line number Diff line change 22
33## Master
44
5+ ### Bug Fixes
6+
7+ * Prevents fatal error when handling operators with optional ` Date ` types.
8+
9+ ## 0.14.0
10+
511### Breaking
612
713* Drops support for Swift 3 and Swift 4. Swift 5 or newer must be used.
Original file line number Diff line number Diff line change @@ -43,10 +43,7 @@ public struct Attribute<AttributeType> : Equatable {
4343 }
4444 }
4545
46- let value = unsafeBitCast ( value, to: Optional< String> . self )
47- if let value = value {
48- return NSExpression ( forConstantValue: value)
49- }
46+ return NSExpression ( forConstantValue: value)
5047 }
5148
5249 return NSExpression ( forConstantValue: NSNull ( ) )
Original file line number Diff line number Diff line change @@ -12,6 +12,11 @@ class KeyPathTests: XCTestCase {
1212 XCTAssertEqual ( predicate. predicate, NSPredicate ( format: " name == %@ " , NSNull ( ) ) )
1313 }
1414
15+ func testOptionalEqualityOperatorWithOptional( ) {
16+ let predicate : Predicate < User > = \User . createdAt == nil
17+ XCTAssertEqual ( predicate. predicate, NSPredicate ( format: " createdAt == %@ " , NSNull ( ) ) )
18+ }
19+
1520 func testInequalityOperator( ) {
1621 let predicate : Predicate < User > = \User . name != " kyle "
1722 XCTAssertEqual ( predicate. predicate, NSPredicate ( format: " name != 'kyle' " ) )
@@ -118,4 +123,5 @@ class KeyPathNSPredicateTests: XCTestCase {
118123class User : NSManagedObject {
119124 @objc var name : String ?
120125 @NSManaged var age : Int
126+ @objc var createdAt : Date ?
121127}
You can’t perform that action at this time.
0 commit comments