Swift: conversão do compilador do tipo para o opcional
Parece que o compilador converte automaticamente um tipo em um tipo opcional quando necessário, mesmo que não exista nenhum relacionamento de herança aqui.
Onde na documentação esse comportamento é especificado?
func test(value: String?) {
// String passed in is now an optional String instead.
print(value ?? "")
}
// Pass an actual string
test(value: "test")