[Example 1: template<std::meta::info R>void tfn(){typename[:R:]::type m; // OK, typename applies to the qualified name}struct S {using type =int; };
void fn(){[:^^S::type:]*var; // error: [:^^S::type:] is an expressiontypename[:^^S::type:]*var; // OK, declares variable with type int*}using alias =[:^^S::type:]; // OK, type-only context — end example]