Patterns : séparateur "ou"
Comme je suis dans la partie "pattern" des mux
et Match
, je réalise que ,
n'est, à l'heure actuelle, pas un délimiteur très pratique.
On pourrait modifier un peu BaseExpr
pour rendre ça plus pratique ; mais je m'interroge sur la clarté si on veut faire un peu comme Rust où on peut mettre des "ou" un peu où on veut.
Toutes les propositions ci-après représentent deux cas possibles: ERR(EXCEPTION)
et ERR(INTERRUPT)
.
-
ERR(EXCEPTION), ERR(INTERRUPT) ->
✅ -
ERR(EXCEPTION) | ERR(INTERRUPT) ->
✅ -
ERR(EXCEPTION, INTERRUPT) ->
⚠
On dirait queERR
contient deux champs. Ce n'est pas possible à l'heure actuelle mais ça pourrait l'être plus tard.
En tout cas ce n'est pas clair. -
ERR(EXCEPTION | INTERRUPT) ->
⚠
On dirait que c'est un "bitwise or". Ça ne peut pas être le cas dans une expression de pattern.
À la limite ça me dérange moins mais la question se pose tout de même. -
ERR(EXCEPTION || INTERRUPT) ->
⚠
Idem mais plus long.
(Au passage, pour écrire le parseur c'est plus facile d'utiliser un opérateur binaire (|
, ||
, etc.) qu'un séparateur ,
mais rien n'est impossible