In this code example: import Foundation
protocol AreaProtocol { func area() -> CGFloat // implemented in protocol extension func volume( height:CGFloat ) -> CGFloat // .... } extension AreaProtocol { func volume( height:CGFloat ) -> CGFloat { return height * area() } // .... // .... } // conform CGPoint sequences to AreaProtocol extension Sequence where Self : AreaProtocol, Element == CGPoint { func area() -> CGFloat { return 0.0 // ... poligon area } } let p0 = CGPoint(x: 0.0, y: 0.0) let p1 = CGPoint(x: 2.0, y: 0.0) let p2 = CGPoint(x: 2.0, y: 2.0) let p3 = CGPoint(x: 0.0, y: 2.0) let poligon = [p0,p1,p2,p3] let a = poligon.area() // ! Type '[CGPoint]' does not conform to protocol 'AreaProtocol' let v = poligon.volume( height:10.0 ) // ! Value of type '[CGPoint]' has no member 'volume' An array of CGPoint is a CGPoint sequence? Why the array don't gets automatic conformance to AreaProtocol? How can conform an array of CGPoint to AreaProtocol? Sorry for my bad english, Antonino
_______________________________________________ swift-users mailing list swift-users@swift.org https://lists.swift.org/mailman/listinfo/swift-users