[Example 1: constexprint v =1;
template<int V>struct TCls {staticconstexprint s = V +1;
};
using alias =[:^TCls:]<([:^v:])>;
/ OK, a splice-specialization-specifier with a parenthesized splice-expression as a template argumentstatic_assert(alias::s ==2);
auto o1 =[:^TCls:]<([:^v:])>(); / error: < means less thanauto o2 =typename[:^TCls:]<([:^v:])>(); / OK, o2 is an object of type TCls<1>constevalint bad_splice(std::meta::info v){return[:v:]; / error: v is not constant} — end example]