#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;
}