Failing to find a syntax which works to do this. What I’m trying to do here is 
extend Array to conform to a protocol. The real example has constraints on the 
Element of the Array, so I can’t just extend Array, I have to use a protocol 
extension on the protocol (I can’t find a way to extend Array to conform to a 
type and also have some constraints). 

Since an Array is a SequenceType and that’s all I really need, I tried this, 
this is the very distilled version

protocol Foo
{
}

extension Foo where Self : SequenceType
{
        func bar()->Self
        {
                let retval : Array<Self.Generator.Element> = []
                return retval                                                   
// error: cannot convert return expression of type 
'Array<Self.Generator.Element>' to expected return type 'Self'
        }
}

but I get the given error message and don’t see why (nor how to fix it). An 
Array is a SequenceType, so one should be returnable as a ‘Self’ as long as 
it’s an array of the right elements. Self.Generator.Element should be the 
correct element type for the array. Compiler bug or something I’m missing? 
_______________________________________________

Cocoa-dev mailing list ([email protected])

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to [email protected]

Reply via email to