Как проверить наличие алиаса в шаблоне с помощью concept?

Как в концепте с++20 проверить наличие алиаса внутри шаблонного типа?

struct example {
    using alias_t = int;
};

template<class T>
concept example_concept = requires{
        T::alias_t;
};

Вот пример, если передать example в качестве шаблонного параметра аля template<example_concept T> код не будет компилироваться. Как правильно сделать эту проверку ?

update

template<class T>
concept future_traits = requires {
    typename T::initial_awaitable_t;
    typename T::await_awaitable_t;
    typename T::final_awaitable_t;
};


template<class return_type>
struct default_traits {
    using initial_awaitable_t = std::suspend_always;
    using await_awaitable_t   = detail::symmetrical_awaitable<detail::promise<return_type, default_traits>>;
    using final_awaitable_t   = detail::final_awaitable;
};

Ответы (1 шт):

Автор решения: HolyBlackCat

Вы не поверите, typename T::alias_t;.

→ Ссылка