• [^] # Re: Rust vs Go

    Posté par . En réponse à la dépêche Rust s’oxyde en version 0.10. Évalué à 2.

    Plus riche : en Rust je peux passer un owned pointer en argument d’une fonction (par exemple pour passer l’ownership à un objet qui le mettra dans ses attributs). >En C++ c’est une erreur de compilation (unique_ptr(const unique_ptr&) = delete;)

    Si j'ai bien compris, avec les traits Deref et DerefMut tu peux aussi le faire avec les pointeurs dans les bibliothèques (bien que ça soit quand même légèrement plus moche). L'exemple de la dépêche semble indiquer qu'il faudrait mettre comme argument &*pointeur (adresse de la valeur contenu dans pointeur). Les règles d'emprunts sont toujours valides (pas possible d'avoir plus de deux emprunts à la fois), donc les pointeurs des bibliothèques bénéficient des mêmes avantages (avec légèrement moins de sucre syntaxique, peut-être qu'on en rajoutera après la 1.0).

    Écrit en Bépo selon l’orthographe de 1990