         wait(for: [ex], timeout: 10)
     }
 
-    #if swift(>=4)
+    #if swift(>=4) && !swift(>=5.2)
     func testFilterValuesByKeyPath() {
         let ex = expectation(description: "")
         Promise.value([Person(name: "Max"), Person(name: "Roman", age: 26, isStudent: false), Person(name: "John", age: 23, isStudent: true)]).filterValues(\.isStudent).done {

        wait(for: [ex], timeout: 10)
    }

    #if swift(>=4)
    func testCompactMapValuesByKeyPath() {
        let ex = expectation(description: "")
        Promise.value([Person(name: "Max"), Person(name: "Roman", age: 26), Person(name: "John", age: 23)]).compactMapValues(\.age).done {

        wait(for: [ex], timeout: 10)
    }

    #if swift(>=4) && !swift(>=5.2)
    func testCompactMapByKeyPath() {
        let ex = expectation(description: "")
        Promise.value(Person(name: "Roman", age: 26)).compactMap(\.age).done {
