Hi Nikita, See if the below implementation fits your needs:
protocol P1 {} protocol P2 : P1 where T : P1 { associatedtype T var input : T { get } } struct S1 : P1 {} struct S2 : P2 { typealias T = S1 var input: T } Regards, Muthu > On 30 Aug 2017, at 1:25 AM, Nikita Leonov via swift-users > <swift-users@swift.org> wrote: > > Hello everyone, > > I am looking a way to express something similar to the following code in > Swift terms: > protocol AnyViewModelInput {} > protocol AnyViewModel<ViewModelInput>: ViewModelInput where ViewModelInput: > AnyViewModelInput { > var input: ViewModelInput { get } > } > > Is it possible in current Swift? Will it be possible if generic manifesto > will be implemented in full? Also if you know how to express a similar idea > in any other language, I would love to see examples. How does such construct > is named in other languages? > > Thank in advance, > Nikita > _______________________________________________ > swift-users mailing list > swift-users@swift.org > https://lists.swift.org/mailman/listinfo/swift-users
_______________________________________________ swift-users mailing list swift-users@swift.org https://lists.swift.org/mailman/listinfo/swift-users