[swift-evolution] generic typealias inside generic type
Vladimir.S
svabox at gmail.com
Mon Jun 20 06:41:41 CDT 2016
On 19.06.2016 7:52, Chris Lattner wrote:
>
>> On Jun 17, 2016, at 11:06 AM, Vladimir.S via swift-evolution <swift-evolution at swift.org> wrote:
>>
>> Please consider this code:
>>
>> struct Foo<T> {
>> typealias Group<Key,Value> = (key:Key, group:[Value])
>>
>> func bar<U,V>(u: U, v: V) -> Foo<Group<U,V>> {
>> return Foo<Group<U,V>>()
>> }
>> }
>>
>> It will not compile:
>> cannot specialize non-generic type '(key: Key, group: [Value])'
>>
>> But this will work as expected:
>>
>> typealias Group<Key,Value> = (key:Key, group:[Value])
>>
>> struct Foo<T> {
>> func bar<U,V>(u: U, v: V) -> Foo<Group<U,V>> {
>> return Foo<Group<U,V>>()
>> }
>> }
>>
>> Shouldn't we be able to work with Group typealias inside Foo<T> without problems as it has no any relationship to generic type T ? Or I'm missing something?
>
> Yes, this should work, it is a bug in the compiler.
Reported. SR-1832
>
> -Chris
>
>
More information about the swift-evolution
mailing list