Je ne sais pas si cela est attendu ou non, mais la déclaration suivante n'analyse pas
+(x::T,y::T) where {T} = #
alors que cela fait correctement
+{T}(x::T,y::T) = #
Je sais que cela fonctionne si vous utilisez des parenthèses, mais il semble y avoir une incohérence lorsqu'il n'y a pas de parenthèses.
La version sans parenthèses devrait à mon avis être interdite. +(1, 2)
ressemble toujours à un opérateur unaire appliqué à un tuple.
Cependant, (+)(1, 2)
ou (+(1, 2))
ressemble toujours à un opérateur unaire appliqué à un tuple.
(+(1, 2))
oui, mais (+)(1, 2)
c'est bien.
Commentaire le plus utile
La version sans parenthèses devrait à mon avis être interdite.
+(1, 2)
ressemble toujours à un opérateur unaire appliqué à un tuple.