Играл с associatedType. Компилятор не распознает возвращаемый тип метода при использовании associatedType.
Вот пример кода,
protocol DummyOffice {
}
struct EmptyOffice: DummyOffice {
}
protocol Office {
associatedtype SubBranch: DummyOffice
var subBranch: SubBranch { get }
func getSubBranch() -> SubBranch
}
struct Apple: Office {
let emptyOffice = EmptyOffice()
func getSubBranch() -> some DummyOffice {
return EmptyOffice()
}
var subBranch: some DummyOffice {
return EmptyOffice()
}
}
, и компилятор выдает эту ошибку.
введите описание изображения здесь
Вопросы:
(1) Ошибка не возникает для свойства «subBranch». Дело в том, что если бы я не создавал в протоколе метод, возвращающий связанный тип, все работает гладко.