Me pregunto si es posible lograr tal cosa.
Tengo un patio de juegos como este:
protocol Foo {
func testPrint()
}
extension Foo {
func testPrint() {
print("Protocol extension call")
}
}
struct Bar: Foo {
func testPrint() {
// Calling self or super go call default implementation
self.testPrint()
print("Call from struct")
}
}
let sth = Bar()
sth.testPrint()
Puedo proporcionar una implementación predeterminada en, extension
pero ¿qué Bar
pasa si necesita todo lo que está en la implementación predeterminada más cosas adicionales?
De alguna manera es similar a llamar a super.
métodos en class
es para cumplir con el requisito de implementar todas las propiedades, etc. pero no veo posibilidad de lograr lo mismo con structs
.
Foo.testPrint(self)()
- el problema es que falla debido a una falla de segmentación (probado tanto en 7.0 GM como en 7.1 beta)