Julia: TypeVars en tuplas en parámetros de tipo

Creado en 1 dic. 2016  ·  3Comentarios  ·  Fuente: 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}

Sí, se supone que son tuplas y no tipos de tuplas. Culpo a

Espero que esto no sea compatible, pero espero que @Keno cambie (true, false, false) a Tuple{Val{true}, Val{false}, Val{false}} en Cxx.jl.

types and dispatch won't change

Todos 3 comentarios

En mi defensa, esos solían ser uno y el mismo.

Eso es legítimo. También estoy investigando los detalles de la implementación de Cxx para enviar tipos de Cxx, lo que tal vez esperaba que la gente no hiciera.

Tuple{true, false, false} también funciona (aunque un poco extraño, ya que en realidad no puede ser el tipo de nada).

Cerrando como de costumbre, ya que no creo que estemos planeando poder cuantificar sobre tuplas.

¿Fue útil esta página
0 / 5 - 0 calificaciones