rust-core-async-runtime
Installation
SKILL.md
rust-core-async-runtime
Conceptual overview of how async Rust works at the runtime level: the Future trait, the executor that polls it, the waker contract, Send rules across .await, and the choice of runtime crate. This skill teaches the mental model; mechanics live in cross-referenced skills.
Cross-references: [[rust-syntax-async-await]] [[rust-impl-async-tokio]] [[rust-core-memory-model]]
When to use this skill
- User asks "what is
Future/.await/Poll/ a waker in Rust" - User asks "which async runtime should I pick" (tokio vs async-std vs smol vs embassy)
- User asks "why is my async function not running" or "why does my future never complete"
- User hits a
Senderror ontokio::spawnand needs to understand the rule, not just the fix - User asks "what is
Pin/Unpinat a high level" (deep mechanics live in [[rust-syntax-async-await]]references/pinning.md) - User confuses
asyncwith parallel execution (it is not parallelism by itself) - User asks about structured concurrency,
JoinSet, abort-on-drop semantics
For exact syntax of async fn / .await / async || and the keyword-level mechanics, refer the user to [[rust-syntax-async-await]]. For tokio-specific patterns (#[tokio::main], spawn_blocking, select!, channels), refer to [[rust-impl-async-tokio]].