V
Size: a a a
V
V
V
V
V
V
V
V
V
V
V
V
V
V
R
BaseCoordinator<T> {
/* ... */
}
protocol AlertRoute {
associatedtype T
}
extension AlertRoute
where Self: BaseCoordinator<T> {
/* ... */
}
AlertRoute
where Self: BaseCoordinator<
T> {
/* ... */
}
AlertRoute
where Self: BaseCoordinator<Self.T> {
/* ... */
}
T
должен иметь такие же ограничения, что и сам протокол, которых мы и так не знаем. BaseCoordinator<T> {
/* ... */
}
protocol BaseCoordinatorProtocol {
/* Определите тут всё, что хотите использовать в AlertRoute */
}
extension BaseCoordinator: BaseCoordinatorProtocol {
/* ... */
}
protocol AlertRoute
where Self: BaseCoordinatorProtocol {
/* ... */
}
AlertRoute: BaseCoordinatorProtocol {
/* ... */
}
KS
KS
S
РЛ