Generic type class conformity in Swift

class Vehicle {
    func Test() {
        //Implementation
    }
}

class Car: Vehicle { }

class Truck {}

class Service<T: Vehicle> {
    var list: [T] = []
    
    func add(item: T) {
        list.append(item)
    }
    
    func test() {
        for item in list {
            item.Test()
        }
    }
}

let vehicle = Vehicle()
let car = Car()
let truck = Truck()

let service = Service()
service.add(vehicle)
service.add(car)
service.test()

service.add(truck)//<- Error