不确定这是否是预期的,但以下声明未解析+(x::T,y::T) where {T} = #
+(x::T,y::T) where {T} = #
而这正确地+{T}(x::T,y::T) = #
+{T}(x::T,y::T) = #
我知道如果您使用括号它会起作用,但是当没有括号时似乎存在不一致。
没有括号的版本在我看来应该是不允许的。 +(1, 2)看起来仍然像是应用于元组的一元运算符。
+(1, 2)
(+)(1, 2)或(+(1, 2))看起来仍然像是应用于元组的一元运算符。
(+)(1, 2)
(+(1, 2))
(+(1, 2))可以,但(+)(1, 2)很好。
最有用的评论
没有括号的版本在我看来应该是不允许的。
+(1, 2)
看起来仍然像是应用于元组的一元运算符。