Nicht sicher, ob dies erwartet wird oder nicht, aber die folgende Deklaration wird nicht geparst
+(x::T,y::T) where {T} = #
in der Erwägung, dass dies richtig ist
+{T}(x::T,y::T) = #
Ich weiß, dass es funktioniert, wenn Sie Klammern verwenden, aber es scheint eine Inkonsistenz zu geben, wenn keine Klammern vorhanden sind.
Die Version ohne Klammern sollte meiner Meinung nach nicht zugelassen werden. +(1, 2)
sieht immer noch aus wie ein unärer Operator, der auf ein Tupel angewendet wird.
(+)(1, 2)
oder (+(1, 2))
sieht jedoch immer noch wie ein unärer Operator aus, der auf ein Tupel angewendet wird.
(+(1, 2))
tut es, aber (+)(1, 2)
ist in Ordnung.
Hilfreichster Kommentar
Die Version ohne Klammern sollte meiner Meinung nach nicht zugelassen werden.
+(1, 2)
sieht immer noch aus wie ein unärer Operator, der auf ein Tupel angewendet wird.