# Implementable trait aliases

**URL:** <https://internals.rust-lang.org/t/implementable-trait-aliases/18806>\
**Category:** language design\
**Created:** [May 10, 2023, 5:10am UTC](https://internals.rust-lang.org/t/implementable-trait-aliases/18806 "2023-05-10T05:10:15Z")\
**Posts on this page:** 1\
**Showing post:** 7

<div class="post-metadata">

**Author:** ![Jules-Bertholet](https://sea2.discourse-cdn.com/flex002/user_avatar/internals.rust-lang.org/jules-bertholet/32/10671_2.png) [@Jules-Bertholet](https://internals.rust-lang.org/u/Jules-Bertholet)\
**Post date:** [May 10, 2023, 1:12pm UTC](https://internals.rust-lang.org/t/implementable-trait-aliases/18806/7 "2023-05-10T13:12:25Z")

</div>

I previously sketched out the idea of "variance bounds" [here](https://internals.rust-lang.org/t/associated-type-variance-bounds/17598). But it's not a unique idea; Niko's blog post has a version of it, for example ("`for<'a> LendingIterator<Item<'a> = U>`"). I didn't go into much detail here, because even alternative schemes will probably need something like it.

---

_[View the full topic](https://internals.rust-lang.org/t/implementable-trait-aliases/18806)._
