• [^] # Re: Gestion mémoire etc.

    Posté par (site web personnel) . En réponse au journal PullRequest d'une application en Rust. Évalué à 3.

    Merci de tes commentaires.

    Je viens de tester les deux premiers, et cela passe.... Merci :) Probablement que c'est un reste de mes essais infructueux précédents.

    Par contre, dans le dernier exemple, j'ai l'erreur suivante:

     Compiling backuppc_pool v0.1.0 (/home/phoenix/Developpement/Shadoware.Org/Software/backuppc_pool)
    error[E0505]: cannot move out of `share` because it is borrowed
     --> src/view.rs:72:43
     |
    69 | .filter_map(|share| {
     | ----- binding `share` declared here
    70 | let share_array = sanitize_path(&share);
     | ------ borrow of `share` occurs here
    71 | if path.starts_with(&share_array) {
    72 | selected_share = Some(share);
     | ^^^^^ move out of `share` occurs here
    73 | share_size = share_array.len();
     | ----------- borrow later used here
    error[E0505]: cannot move out of `share` because it is borrowed
     --> src/view.rs:76:43
     |
    69 | .filter_map(|share| {
     | ----- binding `share` declared here
    70 | let share_array = sanitize_path(&share);
     | ------ borrow of `share` occurs here
    ...
    76 | selected_share = Some(share);
     | ^^^^^ move out of `share` occurs here
    77 | share_size = share_array.len();
     | ----------- borrow later used here
    For more information about this error, try `rustc --explain E0505`.
    error: could not compile `backuppc_pool` (bin "backuppc_pool") due to 2 previous errors
    

    L'erreur est probablement corrigeable autrement pour éviter le clone.

    Il faut aussi que je m’intéresse plus à la partie unsafe et au lifetime.

    Sur la partie lifetime, j'ai beau comprendre à quoi cela sert et comment ça marche en théorie, je ne suis pas encore à l'aise avec. (Quand je parlerai de le deviner automatiquement, je pensais à l’élision qui pour le coup n'est pas vraiment du devinage). Je vais creuser un peu plus cette partie.

    En tout cas je suis avide d'apprendre des experts en Rust, donc n’hésitez pas à me faire des retours :)