> On Nov 21, 2017, at 10:37 PM, Chris Lattner <clatt...@nondot.org> wrote:
> 
> On Nov 21, 2017, at 9:25 PM, Douglas Gregor <dgre...@apple.com 
> <mailto:dgre...@apple.com>> wrote:
>>> Or alternatively, one could decide to make the generics system *only and 
>>> forever* work on nominal types, and make the syntactic sugar just be sugar 
>>> for named types like Swift.Tuple, Function, and Optional.  Either design 
>>> could work.
>> 
>> We don’t have a way to make it work for function types, though, because of 
>> parameter-passing conventions. Well, assuming we don’t invent something that 
>> allows:
>> 
>>      Function<Double, inout String>
>> 
>> to exist in the type system. Tuple labels have a similar problem.
> 
> I’m totally aware of that and mentioned it upthread.

Eh, sorry I missed it.

>  There are various encoding tricks that could make this work depending on how 
> you want to stretch the current generics system…

I think it’s straightforward and less ugly to make structural types allow 
extensions and protocol conformances.

        - Doug


_______________________________________________
swift-evolution mailing list
swift-evolution@swift.org
https://lists.swift.org/mailman/listinfo/swift-evolution

Reply via email to