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).
[^] # Re: Rust vs Go
Posté par ariasuni . En réponse à la dépêche Rust s’oxyde en version 0.10. Évalué à 2.
Si j'ai bien compris, avec les traits
DerefetDerefMuttu 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