             var relComps = Array(repeating: "..", count: newBaseComps.count)
             relComps.append(contentsOf: newPathComps)
 #if os(Windows)
-            result = RelativePath(relComps.joined(separator: "\\"))
+            result = RelativePath(unsafeUncheckedPath: relComps.joined(separator: "\\"))
 #else
             result = RelativePath(relComps.joined(separator: "/"))
 #endif
         }
+
         assert(AbsolutePath(base, result) == self)
         return result
     }

            // might be an empty path (when self and the base are equal).
            let relComps = pathComps.dropFirst(baseComps.count)
#if os(Windows)
            result = RelativePath(relComps.joined(separator: "\\"))
#else
            result = RelativePath(relComps.joined(separator: "/"))
#endif

    /// Private initializer when the backing storage is known.
    private init(_ impl: PathImpl) {
        _impl = impl
    }

    /// Private initializer for constructing a relative path without performing
    /// normalization or canonicalization.  This will construct a path without
    /// an anchor and thus may be invalid.
    fileprivate init(unsafeUncheckedPath string: String) {
        self.init(PathImpl(string: string))
    }

    /// Initializes the RelativePath from `str`, which must be a relative path
