Julia: TypeVars em tuplas em parâmetros de tipo

Criado em 1 dez. 2016  ·  3Comentários  ·  Fonte: JuliaLang/julia

julia> type Foo{N} end

julia> Foo{(true, true)}
Foo{(true,true)}

julia> typealias Bar{N} Foo{N}
Foo{N}

julia> Bar{(true, true)}
Foo{(true,true)}

julia> typealias Baz Foo{(true, true)}
Foo{(true,true)}

julia> typealias Quuz{M, N} Foo{(M, N)}
TypeError: Foo: in parameter, expected Type{T}, got Tuple{TypeVar,TypeVar}

Sim, supõe-se que sejam tuplas e não tipos de tupla. Eu culpo @Keno (https://github.com/Keno/Cxx.jl/blob/master/src/cxxtypes.jl#L52).

Espero que isso não seja compatível, mas espero que o @Keno mude (true, false, false) para Tuple{Val{true}, Val{false}, Val{false}} em Cxx.jl.

types and dispatch won't change

Todos 3 comentários

Em minha defesa, esses costumavam ser o mesmo.

Isso é legítimo. Também estou pesquisando os detalhes da implementação Cxx para despachar os tipos Cxx, o que talvez você esperasse que as pessoas não fizessem.

Tuple{true, false, false} também funciona (embora um pouco estranho, já que não pode ser o tipo de nada).

Fechando como wontfix, já que não acho que estamos planejando quantificar sobre tuplas.

Esta página foi útil?
0 / 5 - 0 avaliações

Questões relacionadas

omus picture omus  ·  3Comentários

arshpreetsingh picture arshpreetsingh  ·  3Comentários

wilburtownsend picture wilburtownsend  ·  3Comentários

sbromberger picture sbromberger  ·  3Comentários

tkoolen picture tkoolen  ·  3Comentários