I
Size: a a a
I
MV
MV
I
I
DS
MV
I
m
I
VR
VR
m
I
MV
I
D
struct tag; // forward declПоведение же будет такое, как и с инстанциациями шаблонов -- будет окончательная проверка только при самой инстанциации?
template <typename T>
concept callable_with_tag = requires(T obj) {
{ obj(std::declval<tag>()) }'
};
struct tag {}; // definition
template <typename T>
requires callable_with_tag<T>
void foo() {
...
};
MV
MV
I