No estoy seguro de si esto se espera o no, pero la siguiente declaración no analiza
+(x::T,y::T) where {T} = #
mientras que esto correctamente hace
+{T}(x::T,y::T) = #
Sé que funciona si usa paréntesis, pero parece haber una inconsistencia cuando no hay paréntesis.
En mi opinión, la versión sin paréntesis debería rechazarse. +(1, 2)
todavía parece un operador unario aplicado a una tupla.
(+)(1, 2)
embargo, (+(1, 2))
todavía parece un operador unario aplicado a una tupla.
(+(1, 2))
hace, pero (+)(1, 2)
está bien.
Comentario más útil
En mi opinión, la versión sin paréntesis debería rechazarse.
+(1, 2)
todavía parece un operador unario aplicado a una tupla.