class Vehicle { }
class Car: Vehicle {
func test() {
print("test Car \(self)")
}
}
func example() {
let cars = [Car(), Car()]
test(vehicles: cars)
}
func test(vehicles: [Vehicle]) {
switch vehicles {
case let cars as [Car]:
for car in cars {
car.test()
}
default:
print("Nothing to test!")
}
}
| Before Swift 5.8 that would have led to the error message, “Collection downcast in cast pattern is not implemented; use an explicit downcast to '[Car]' instead.” |