Sinon, je crois que j'ai compris ce que tu disais sur la commutativité, mais c'est vrai en ocaml aussi,
tu peux définir
let(.+)xy=ifx<3thenx+yelsey
qui n'est pas commutatif. Tu peux parfaitement faire des trucs contre intuitifs.
D'ailleurs, + n'est pas vraiment commutatif dans des langages comme ocaml ou rust, par exemple
leti=ref0in!i+(incri;1)
Sinon, pour éviter que les choses ne tournent mal, il n'est uniquement possible d'implémenter un trait pour un type que si le trait ou le type est défini dans le module courant, ce qui évite à des libs externes de faire des bétises qui t'impactent sans que tu t'en rendes compte.
[^] # Re: simple ?
Posté par Enj0lras . En réponse au journal Rust en version 0.12. Évalué à 1.
il n'y a pas (encore) d'héritage en rust.
Sinon, je crois que j'ai compris ce que tu disais sur la commutativité, mais c'est vrai en ocaml aussi,
tu peux définir
qui n'est pas commutatif. Tu peux parfaitement faire des trucs contre intuitifs.
D'ailleurs, + n'est pas vraiment commutatif dans des langages comme ocaml ou rust, par exemple
Sinon, pour éviter que les choses ne tournent mal, il n'est uniquement possible d'implémenter un trait pour un type que si le trait ou le type est défini dans le module courant, ce qui évite à des libs externes de faire des bétises qui t'impactent sans que tu t'en rendes compte.