(хотя, казалось бы, некоторые вещи не так).
е, что компилятор автоматически преобразует тип в необязательный тип, когда это необходимо, хотя здесь нет отношения наследования.
Где в документации указано это поведение?
func test(value: String?) {
// String passed in is now an optional String instead.
print(value ?? "")
}
// Pass an actual string
test(value: "test")