Julia: TypeVars in Tupeln in Typparametern

Erstellt am 1. Dez. 2016  ·  3Kommentare  ·  Quelle: 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}

Ja, das sollen Tupel und keine Tupeltypen sein. Ich beschuldige @Keno (https://github.com/Keno/Cxx.jl/blob/master/src/cxxtypes.jl#L52).

Ich gehe davon aus , dass dies nicht unterstützt wird, aber ich hoffe, dass (true, false, false) in Tuple{Val{true}, Val{false}, Val{false}} in Cxx.jl ändert.

types and dispatch won't change

Alle 3 Kommentare

Zu meiner Verteidigung waren diese früher ein und dasselbe.

Das ist legitim. Ich befasse mich auch mit Details zur Cxx-Implementierung, um Cxx-Typen zu versenden, was Sie vielleicht nicht gehofft haben.

Tuple{true, false, false} funktioniert auch (wenn auch etwas seltsam, da es eigentlich nicht die Art von irgendetwas sein kann).

Wird als Wontfix geschlossen, da ich denke, dass wir nicht planen, über Tupel quantifizieren zu können.

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen