Who Runs Your Rust Future? Hands-On Intro to Async Rust
L'auteur précise que «Bodh» signifie compréhension et qu'il utilise l'IA comme aide pédagogique tout en conservant la responsabilité éditoriale et en vérifiant le code. La série a pour but de faire le pont entre l'explication interne des futures en Rust et l'usage pratique avec un runtime comme Tokio en faisant construire au lecteur son propre moteur d'exécution. Contrairement aux Promises de JavaScript, les futures en Rust sont paresseuses et n'avancent que lorsqu'on les poll, ce qui impose de conserver l'état en mémoire et d'empêcher les déplacements grâce à Pin. Le Waker, fourni dans le Context, permet de réveiller le poller au bon moment, et l'exemple implémente un channel oneshot où Sender et Receiver partagent un Inner (valeur et Waker) via Arc<Mutex>. L'article montre un block_on minimal qui épingle la future, crée un ThreadWaker utilisant park/unpark pour dormir et réveiller le thread, puis annonce la construction ultérieure d'un exécuteur, de timers, de sockets asynchrones et d'autres primitives.