Можно ли ограничить два родственных параметра, связанных типами в функции, друг с другом?
Я пытаюсь сделать что-то вроде этого:
protocol One {
associatedtype first: Two
}
protocol Two {
associatedtype second: One
}
func f<O: One, T: Two>(o: O) -> T where O.first == T, T.second == O {
fatalError()
}
Сбой с ошибками:
'first' is not a member type of 'O'
'second' is not a member type of 'T'