Julia: TypeVars dans les tuples dans les paramètres de type

Créé le 1 déc. 2016  ·  3Commentaires  ·  Source: 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}

Oui, ceux-ci sont censés être des tuples et non des types de tuples. Je blâme @Keno (https://github.com/Keno/Cxx.jl/blob/master/src/cxxtypes.jl#L52).

Je m'attends à ce que cela ne soit pas pris en charge, mais j'espère que @Keno changera (true, false, false) en Tuple{Val{true}, Val{false}, Val{false}} dans Cxx.jl.

types and dispatch won't change

Tous les 3 commentaires

Pour ma défense, ceux-ci n'étaient qu'une seule et même chose.

C'est légitime. Je creuse également dans les détails de la mise en œuvre de Cxx afin de répartir les types Cxx, ce que vous espériez peut-être que les gens ne feraient pas.

Tuple{true, false, false} fonctionne également (bien que légèrement bizarre car il ne peut pas en fait être le type de quoi que ce soit).

Fermeture comme wontfix, car je ne pense pas que nous prévoyions de pouvoir quantifier sur des tuples.

Cette page vous a été utile?
0 / 5 - 0 notes

Questions connexes

StefanKarpinski picture StefanKarpinski  ·  3Commentaires

StefanKarpinski picture StefanKarpinski  ·  3Commentaires

tkoolen picture tkoolen  ·  3Commentaires

omus picture omus  ·  3Commentaires

Keno picture Keno  ·  3Commentaires