Skip to content
Free public beta until December 4, 2026: every course is open, no card needed. After that, the first chapter of each course stays free and full access is a one-time $39 ($19 for up to 100 founding members chosen for helpful feedback). Your progress is kept. How the beta works

associated type

A type a trait lets each implementation choose, like Iterator's Item.

An associated type is a type placeholder declared in a trait (type Item;) and fixed by each impl; unlike a generic parameter, each type implements the trait only once.

Examples

  • impl Add for Money { type Output = Money; ... } fixes what a + b returns for Money, once for that impl.

Read the full section →