1  
       2  template<typename T>
       3  struct traits
       4  {
       5    template<typename U>
       6      struct nested
       7      { using type = void; };
       8  
       9    template<typename U> requires requires { typename U::type; }
      10      struct nested<U>
      11      { using type = typename U::type; };
      12  };
      13  
      14  using V = traits<char>::nested<int>::type;
      15