Ross ROSS = Recommend OSS · open-source software intelligence for agents

dtolnay/async-trait

Type erasure for async trait methods observed · 2026-08-28

github.com/dtolnay/async-trait · Rust · Apache-2.0 (permissive) observed · 2026-08-28

Health v2 · maintenance only

98/100

  • Activity 99
  • Release rhythm 96
  • Longevity 100
How is this computed?

round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10) — computed 2026-09-03. Adoption (stars, forks) is never an input.

  • gap_med: 25
  • age_days: 2599
  • days_rel: 25
  • days_push: 8
  • n_releases_24m: 10

Full methodology

Adoption not part of the score

2186 stars · 101 forks observed · 2026-08-28

What it is AI-extracted, prompt v1, taxonomy v1, 2026-08-30, confidence not recorded

A Rust attribute macro crate that makes async functions in traits work with dyn Trait (dynamic dispatch) via type erasure. It bridges the gap left by Rust 1.75's native async fn in traits, which does not support dyn compatibility.

Use cases

  • use async fn in traits with Box<dyn Trait>
  • make async trait methods dyn compatible
  • store heterogeneous async trait objects in a Vec
  • avoid 'trait is not dyn compatible' errors for async methods
  • write async trait impls that work across Rust versions

When to choose

  • you need dyn Trait with async trait methods
  • you must support Rust versions older than 1.75
  • you want boxed async trait objects in collections

When to avoid

  • you only need static dispatch of async trait methods (use native async fn in traits)
  • you can use the built-in dyn-compatible alternatives in modern Rust

Facets

library · maturity stable

type-system concurrency developer-tools programming-languages developer-tools rust cross-platform async proc-macro dyn-trait attribute-macro rust algorithms

2 sources

Member repositories

RepositoryRoleHealth v2
dtolnay/async-traitmain98

For agents

markdown · JSON · MCP: product_card(name="dtolnay/async-trait")

Data as of 2026-08-30T08:39:29.467469+00:00 · Report a problem