GCC implemented P0634R3 that discards the need of specifying typename when the type is in known context.
Does it apply to concept as well?
Because the following code does not compile:
template<typename T>
concept sample_concept =
std::default_initializable<T::value_type> &&
requires (T t) {
{ t.some_func(std::declval<T::some_type>()) }
-> std::same_as<T::iterator>;
};
But when I specify typename in front of T::value_type and T::iterator, it compiles.