Subclass a Generic Type

I made codes for getting my wish.

protocol WishList {
    var place: String { get }
    static var date: String { get }
    static var distance: Int { get }
}
 
struct Travel: WishList {
    
    let place: String
    static let date = "2020-01-29"
    static let distance = 90
}
 
struct TravelPlan<WishType: WishList> {
    let wish: WishType
    func printTravelPlan() {
        print"\(wish.place), \(WishType.date), \(WishType.distance) km")
    }
}
 
let travel = TravelPlan(wish: Travel(place: "Sukmodo"))
travel.printTravelPlan()