Avatar
omochimetaru 5/24/2019 5:58 AM
@swift-5.0.3 public class BaseView { } public class GenericView<T>: BaseView { } public class FinalView: GenericView<ContentForTheView> { } public class ContentForTheView { } extension ContentForTheView: InfoNeededByControllers { } public protocol ConditionallyConformed { } public protocol InfoNeededByControllers { } extension GenericView: ConditionallyConformed where T: InfoNeededByControllers { } open class BaseGenericController<T> where T: BaseView & ConditionallyConformed { } open class FinalController: BaseGenericController<FinalView> { public override init() { } } print(FinalController())