Hacker News new | ask | show | jobs
by LoganDark 607 days ago
`impl Trait` is sort like of syntax sugar for generics (this is not the full story, for example TAIT/type_alias_impl_trait... but it's close enough). It's monomorphized just like generics are. If you have a method that takes an `impl Trait` then a new copy of the method will be emitted by the compiler for each unique type you pass to that `impl Trait` parameter.

Traits conceptually are kind of like definitions of capabilities. So you're not really wrong about that, that understanding probably may even help you.