// Regression test for issue #69490 // check-pass pub trait Trait { const S: &'static str; } impl Trait<()> for T where T: for<'a> Trait<&'a ()>, { // Use of `T::S` here caused an ICE const S: &'static str = T::S; } // Some similar cases that didn't ICE: impl<'a, T> Trait<()> for (T,) where T: Trait<&'a ()>, { const S: &'static str = T::S; } impl Trait<()> for [T; 1] where T: Trait fn(&'a ())>, { const S: &'static str = T::S; } fn main() {}