# `re_rebalance_coherence`

The tracking issue for this feature is: #55437

The `re_rebalance_coherence` feature tweaks the rules regarding which trait impls are allowed in crates. The following rule is used:

Given `impl<P1..=Pn> Trait<T1..=Tn> for T0`, an impl is valid only if at least one of the following is true:

- `Trait` is a local trait
- All of
  - At least one of the types `T0..=Tn` must be a local type. Let `Ti` be the first such type.
  - No uncovered type parameters `P1..=Pn` may appear in `T0..Ti` (excluding `Ti`)

See the RFC for details.