It’s just placeholder syntax for ‘a value whose type is given by a generic parameter in the following signature’.
Slava > On Sep 5, 2017, at 4:44 AM, Rudolf Adamkovič <salu...@me.com> wrote: > > I see. TBH, I don’t understand why it says “Any” in the "generalized > existentials” but everything else is clear. > > Thank you Slava! > > R+ > >> On 5 Sep 2017, at 01:52, Slava Pestov <spes...@apple.com >> <mailto:spes...@apple.com>> wrote: >> >> Hi Rudolf, >> >> What you are describing is not possible right now. The protocol PointType >> cannot be used as a type at all, because it has an associated type >> requirement. Also it is not clear what a ‘where’ clause attached to a type >> alias would mean. >> >> There has been some discussion of ‘generalized existentials’ on the >> evolution list. So eventually, you might be able to say something like this: >> >> typealias Point = Any<Point : PointType where Point.Float == Float> >> >> Slava >> >>> On Sep 4, 2017, at 6:12 PM, Rudolf Adamkovič via swift-users >>> <swift-users@swift.org <mailto:swift-users@swift.org>> wrote: >>> >>> I have the following ProceduralDrawing type: >>> >>> public struct ProceduralDrawing<Float, Point: PointType> where Point.Float >>> == Float { >>> // ... code that used Float and Point ... >>> } >>> >>> public protocol PointType { >>> associatedtype Float: FloatingPoint >>> var x: Float { get } >>> var y: Float { get } >>> } >>> >>> I would like to avoid adding Point as a generic parameter but the following >>> doesn’t work: >>> >>> public struct ProceduralDrawing<Float: FloatingPoint> { >>> // ERROR: 'where' clause cannot be attached to a non-generic declaration >>> typealias Point = PointType where Point.Float == Float >>> // ... code that uses Float and Point ... >>> } >>> >>> Is there a way to do this? If not, why? >>> >>> Thanks! >>> >>> R+ >>> _______________________________________________ >>> swift-users mailing list >>> swift-users@swift.org <mailto:swift-users@swift.org> >>> https://lists.swift.org/mailman/listinfo/swift-users >>> <https://lists.swift.org/mailman/listinfo/swift-users> >> >
_______________________________________________ swift-users mailing list swift-users@swift.org https://lists.swift.org/mailman/listinfo/swift-users