#include <iostream>
#include <type_traits>
#include <typeinfo>

using namespace std;

template <typename T>
decltype(T(), declval<bool>()) isConstructable() { return true; }

int main() {
	cout << typeid(isConstructable<int>()).name() << ' ' << is_rvalue_reference<decltype(isConstructable<int>())>::value << endl;
}