일단 에러가 아니라 경고임

경고 발생 상황

import Foundation
@testable import Molio

extension SpotifyAccessTokenResponseDTO: **Equatable** {
    public static func == (lhs: SpotifyAccessTokenResponseDTO, rhs: SpotifyAccessTokenResponseDTO) -> Bool {
        let isAccessTokenEqual = lhs.accessToken == rhs.accessToken
        let isTokenTypeEqual = lhs.tokenType == rhs.tokenType
        let isExpiredInEqual = lhs.expiresIn == rhs.expiresIn
        
        return isAccessTokenEqual && isTokenTypeEqual && isExpiredInEqual
    }
}

extension SpotifyAccessTokenResponseDTO {
    static let dummyData: Data =
    #"""
    {
        "access_token": "BQB6u7vBjWYPp3zHwRwV9Nmb9MC280UBk2poWgeSuOYmScPmlMiEeENy3oG6sB2Dy2_jsPeSjmhI5fnKXe5EMoc0XLNQ_2cyIpH_GnLEdadMroAIw2c",
        "token_type": "Bearer",
        "expires_in": 3600
    }
    """#.data(using: .utf8)!
}

image.png

“Extension declares a conformance of imported type 'SpotifyAccessTokenResponseDTO' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'Molio' introduce this conformance in the future”

@retroactive를 추가하면 이 경고가 사라진다고 한다.

해결 방법

그래서 아래와 같이 @retroactive를 추가해주면 경고가 사라진다.

image.png

원인