On Nov 24, 2017, at 9:20 PM, Douglas Gregor <dgre...@apple.com> wrote: >> Ok, so you just happened to pick a simple one: > > Yup. Try to make a nominal type to describe labeled tuples.
People keep talking about adding integer values to generics, why not strings too? ;-) >> what is the benefit of plumbing knowledge of metatypes through the entire >> generics system, > > That’s not how one would implement this in the compiler. Most of the compiler > doesn’t care whether the subject of a protocol conformance is a nominal type > or not, and those scattered (but numerous) places that do care should be > straightforward to generalize to include structural types. It’s not > metatype-specific work. Sure, I can buy that. The thing that you’re leaving out is that you have to also generalize those (numerous) places to handle all the complexities of those non-nominal types. The system has to handle keywords, inout arguments, etc somehow, and therefore the complexity to handle them needs to go somewhere. The question is only whether one design or the other produces a lower energy state of complexity. Given that I don’t know this code at all, if you think that your way is the best way to model it, then I’ll happily believe you. :-) -Chris _______________________________________________ swift-evolution mailing list swift-evolution@swift.org https://lists.swift.org/mailman/listinfo/swift-evolution