Julia: タイプパラメータのタプルのTypeVars

作成日 2016年12月01日  ·  3コメント  ·  ソース: 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}

はい、それらはタプルタイプではなくタプルであると想定されています。 @Kenoのせい

私はこれがサポートされていないことを完全に期待していますが、 @ Keno(true, false, false)Tuple{Val{true}, Val{false}, Val{false}}に変更することを願っています。

types and dispatch won't change

全てのコメント3件

私の弁護では、それらはかつて同じものでした。

それは合法です。 また、Cxxタイプをディスパッチするために、Cxx実装の詳細を掘り下げています。

Tuple{true, false, false}も機能します(実際には何のタイプにもならないため、少し奇妙ですが)。

タプルを定量化できるようにする予定はないと思うので、wontfixとして終了します。

このページは役に立ちましたか?
0 / 5 - 0 評価