#include <iostream>
#include <type_traits>
#include <typeinfo>
using namespace std;
true_type foo();
template <typename T>
struct bar{
using def = conditional_t<decltype(foo())::value, char, void>;
};
int main() {
cout << typeid(bar<int>::def).name() << endl;
cout << decltype(foo())::value << endl;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8dHlwZV90cmFpdHM+CiNpbmNsdWRlIDx0eXBlaW5mbz4KCnVzaW5nIG5hbWVzcGFjZSBzdGQ7Cgp0cnVlX3R5cGUgZm9vKCk7Cgp0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4Kc3RydWN0IGJhcnsKCXVzaW5nIGRlZiA9IGNvbmRpdGlvbmFsX3Q8ZGVjbHR5cGUoZm9vKCkpOjp2YWx1ZSwgY2hhciwgdm9pZD47Cn07CgppbnQgbWFpbigpIHsKCWNvdXQgPDwgdHlwZWlkKGJhcjxpbnQ+OjpkZWYpLm5hbWUoKSA8PCBlbmRsOwoJCgljb3V0IDw8IGRlY2x0eXBlKGZvbygpKTo6dmFsdWUgPDwgZW5kbDsKfQ==