Pular para o conteúdo principal
usedby

A realidade técnica do Async Rust 2024 e do Tokio 2.0

O Rust 1.85.0 estabilizou a Edition 2024 em fevereiro de 2025, levando enfim closures async nativas e traits AsyncFn ao canal estável (fonte: Rust Foundation Blog).

O pitch

O Rust 1.85.0 estabilizou a Edition 2024 em fevereiro de 2025, levando enfim closures async nativas e traits AsyncFn ao canal estável (fonte: Rust Foundation Blog). Essa versão, somada ao lançamento do Tokio 2.0 em março de 2026, tenta padronizar padrões assíncronos que antes exigiam muito boilerplate ou macros de terceiros.

Por dentro

A estabilização da Edition 2024 resolveu as lacunas de ergonomia mais gritantes da linguagem. Os desenvolvedores agora podem usar closures async || {} e definir traits com métodos async de forma nativa, eliminando a dependência do crate async-trait na maioria dos casos de uso (fonte: Rust Foundation Blog). Essa maturidade levou os mantenedores do kernel Linux a declarar o Rust “não mais experimental” em dezembro de 2025, citando a estabilidade da implementação async como um fator principal (fonte: DevNewsletter.com).

Do lado do runtime, o Tokio 2.0 consolidou sua posição como padrão do setor, com throughput anunciado de mais de 10 milhões de RPS e redução de 40% no overhead dos timers (fonte: Tokio.rs). No entanto, o tratamento dessas abstrações pelo compilador continua ineficiente. Relatos indicam que funções async simples geram centenas de linhas de Mid-level Intermediate Representation (MIR), o que leva a binários inchados e alto consumo de memória (fonte: Tweede Golf). É um gargalo importante para engenheiros que trabalham com sistemas embarcados ou microsserviços de alta densidade.

Também enfrentamos uma falta persistente de interoperabilidade. Embora o Tokio 2.0 seja a força dominante, a possibilidade de trocar de runtime, por exemplo para smol ou embassy, sem reescrever tudo ainda é um objetivo secundário, previsto para 2027 (fonte: Rust Project Goals 2026 RFC). Além disso, as melhorias de ergonomia não eliminaram a complexidade subjacente do borrow checker.

Ainda há lacunas importantes nos nossos dados sobre desempenho e casos extremos. A saída MIR de uma tarefa async simples é hoje longa o bastante para fazer suar um operador de mainframe dos anos 1970.

Nossa opinião

O Async Rust finalmente passou de “experimental” a “pronto para uso corporativo”, mas continua sendo uma ferramenta afiada que exige mão experiente. A Edition 2024 corrigiu a sintaxe, mas não baixou o piso cognitivo; a sua equipe ainda precisa entender a fundo segurança de memória e pinning para evitar incidentes em produção às 3 da manhã. Use-o nos seus serviços centrais de alta concorrência, em que o desempenho do Tokio 2.0 justifica o overhead, mas não migre apps CRUD mais simples, em que o inchaço dos binários e os tempos de compilação vão superar qualquer ganho em tempo de execução.