• # memforget et fuite mémoire

    Posté par (site web personnel) . En réponse au journal cTypes + Rust = approfondir une relation d'amour et d'eau (fraîche). Évalué à 3.

    // au regard de Rust, 's' est ma chaîne c_char et 'p' est le pointeur
    // si "je n'oublie pas" 's' avant de quitter la fonction, Rust va désallouer la mémoire
    // le pointeur 'p' renvoyé serait donc invalide
    // 'std::mem::forget' nous permet de forcer cet "oubli de désallocation" lors de la compilation
    std::mem::forget(s);

    N'y a-t-il pas une fuite mémoire là ?
    Certes tu es obligé de dire à rust de ne pas desalouer la variable pour la passer à python, mais il faut bien la libérer à un moment. Sur un cas de test comme ça c'est pas bien grave, mais comment tu gères ça en vrai sur un programme réel ?

    Matthieu Gautier|irc:starmad