孤児ルール impl<P1..=Pn> Trait<T1..=Tn> for T0 があるとすると、impl は最低でも以下のどれか一つが真の場合にのみ妥当になる。 Trait がローカルトレイトである。 以下を全て満たす。 最低でも T0..=Tn のどれか一つの型はローカル型でなければならない。Ti をそうした最初の型だとする。 T0..Ti (Ti は含まない) にカバーなしの型パラメタ P1..=Pn が表れない。 カバーなし の型パラメタの出現のみが制限される。 コヒーレンスの観点では基本型は特別である点に注意。Box<T> 内の T はカバーありだとは見なされず、Box<LocalType> もローカルだと見なされる。
impl<P1..=Pn> Trait<T1..=Tn> for T0 があるとすると、impl は最低でも以下のどれか一つが真の場合にのみ妥当になる。
impl<P1..=Pn> Trait<T1..=Tn> for T0
impl
Trait
T0..=Tn
Ti
T0..Ti
P1..=Pn
カバーなし の型パラメタの出現のみが制限される。
コヒーレンスの観点では基本型は特別である点に注意。Box<T> 内の T はカバーありだとは見なされず、Box<LocalType> もローカルだと見なされる。
Box<T>
T
Box<LocalType>