[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]