Closed
Description
trait Trait<'a> {
type Assoc;
}
trait Outer<'a>{}
impl<'a, T: ?Sized> Outer<'a> for T
where
T: Trait<'a>,
T::Assoc: Trait<'a>,
{}
checking T::Assoc: Trait<'a>
, we try to normalize the self type
- this tries to prove
T: Trait<'a>
either when checking for wf for coinduction(?), or currently indiscard_impls_shadowed_by_env
- two
ParamEnv
candidates,T: Trait<'a>
andT::Assoc: Trait<'a>
T: Trait<'a>
holds, but adds a region constraint due to uniquificationT::Assoc: Trait<'a>
may hold ifT::Assoc
normalizes toT
- this causes an inductive cycle
- two
Metadata
Metadata
Assignees
Labels
No labels