> On Nov 21, 2017, at 10:37 PM, Chris Lattner <[email protected]> wrote:
>
> On Nov 21, 2017, at 9:25 PM, Douglas Gregor <[email protected]
> <mailto:[email protected]>> 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
[email protected]
https://lists.swift.org/mailman/listinfo/swift-evolution