Diyelim ki şu protokollere sahibim:
protocol SomeProtocol {
}
protocol SomeOtherProtocol {
}
Şimdi, genel bir tür alan bir işlev istiyorsam, ancak bu türün uyması gerekiyorsa SomeProtocol
yapabilirim:
func someFunc<T: SomeProtocol>(arg: T) {
// do stuff
}
Ancak birden çok protokol için tür kısıtlaması eklemenin bir yolu var mı?
func bothFunc<T: SomeProtocol | SomeOtherProtocol>(arg: T) {
}
Benzer şeyler virgül kullanır, ancak bu durumda farklı bir tür beyanı başlatır. İşte denediğim şey.
<T: SomeProtocol | SomeOtherProtocol>
<T: SomeProtocol , SomeOtherProtocol>
<T: SomeProtocol : SomeOtherProtocol>