Julia: 类型参数中元组中的类型变量

创建于 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 (https://github.com/Keno/Cxx.jl/blob/master/src/cxxtypes.jl#L52)。

我完全希望这不受支持,但我希望让@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 等级

相关问题

sbromberger picture sbromberger  ·  3评论

tkoolen picture tkoolen  ·  3评论

helgee picture helgee  ·  3评论

StefanKarpinski picture StefanKarpinski  ·  3评论

thofma picture thofma  ·  3评论