# Yet another half-baked idea for working around the orphan rule

**URL:** <https://internals.rust-lang.org/t/yet-another-half-baked-idea-for-working-around-the-orphan-rule/24121>\
**Category:** language design\
**Created:** [March 30, 2026, 9:34pm UTC](https://internals.rust-lang.org/t/yet-another-half-baked-idea-for-working-around-the-orphan-rule/24121 "2026-03-30T21:34:21Z")\
**Posts on this page:** 1\
**Showing post:** 7

<div class="post-metadata">

**Author:** ![SkiFire13](https://sea2.discourse-cdn.com/flex002/user_avatar/internals.rust-lang.org/skifire13/32/7579_2.png) [@SkiFire13](https://internals.rust-lang.org/u/SkiFire13)\
**Post date:** [April 1, 2026, 5:38am UTC](https://internals.rust-lang.org/t/yet-another-half-baked-idea-for-working-around-the-orphan-rule/24121/7 "2026-04-01T05:38:00Z")

</div>

> [@burakumin](#):
>
> Specifically, `impl PartialEq<Self> for i32` on the base type is inherited as `impl PartialEq<Self> for i32\foo` on the facet.

That still sounds problematic because it introduces a distinction that doesn't currently exists, plus it doesn't fix all breakage.

FYI there was a discussion of a very similar feature [Struct Alias](https://internals.rust-lang.org/t/struct-alias/16960) where some of these points were raised.

---

_[View the full topic](https://internals.rust-lang.org/t/yet-another-half-baked-idea-for-working-around-the-orphan-rule/24121)._
