#lifetimes
9 articles about lifetimes
Filtrer par thème
Comment stocker une closure dans une struct ?
Stocker des closures dans des structs en utilisant des paramètres génériques, trait objects, et annotations de lifetime avec les bounds Fn, FnMut, et FnOnce
Comment gérer les lifetimes lors du retour d'une closure qui capture des variables de son environnement ?
Gérer les lifetimes lors du retour de closures qui capturent des variables, couvrant le transfert d'ownership, les annotations de lifetime, et éviter les dangling references en Rust
Closures avec État en Rust: Passer et Muter à Travers Plusieurs Appels
Gérer les closures avec état en Rust pour des appels de fonction répétés
Higher-Order Functions de Rust: Alimenter des Closures Flexibles
Explorer les higher-order functions en Rust pour des patterns de programmation fonctionnelle
Que sont les move closures (move || { ... }) ? Quand sont-elles nécessaires et comment interagissent-elles avec l'ownership ?
Ce que move déplace réellement, quand on en a vraiment besoin (threads, closures retournées, blocs async), et son interaction avec l'ownership.
Comment spécifier une closure comme paramètre de function ou type de retour ?
Prendre et retourner des closures : quand impl Fn suffit, quand il faut Box<dyn Fn>, et ce que chaque choix coûte au point d'appel.
Quelle est la différence entre Fn, FnMut, et FnOnce ?
Fn, FnMut et FnOnce ne sont pas des traits qu'on choisit — le compilateur les déduit de la façon dont la closure utilise ce qu'elle a capturé.
Qu'est-ce qu'un dangling pointer, et comment Rust le prévient-il au moment de la compilation ?
Pourquoi un dangling pointer est une erreur de compilation en Rust plutôt qu'un crash en production, et comment les lifetimes rendent ce contrôle possible.
Comment Rust assure la sécurité mémoire sans garbage collector ?
Ownership, borrowing et lifetimes donnent à Rust la sécurité mémoire à la compilation, sans collecteur et sans pauses à budgéter.