//===----------------------------------------------------------------------===// // // The LLVM Compiler Infrastructure // // This file is dual licensed under the MIT and the University of Illinois Open // Source Licenses. See LICENSE.TXT for details. // //===----------------------------------------------------------------------===// // // UNSUPPORTED: c++98, c++03 // // // // result_of #include #include "test_macros.h" struct wat { wat& operator*() { return *this; } void foo(); }; struct F {}; template void test_result_of_imp() { static_assert((std::is_same::type, U>::value), ""); #if TEST_STD_VER > 11 static_assert((std::is_same, U>::value), ""); #endif } int main() { { typedef char F::*PMD; test_result_of_imp(); test_result_of_imp(); test_result_of_imp(); test_result_of_imp(); test_result_of_imp(); test_result_of_imp(); test_result_of_imp(); test_result_of_imp(); test_result_of_imp(); test_result_of_imp(); test_result_of_imp(); test_result_of_imp(); } { test_result_of_imp (); test_result_of_imp (); test_result_of_imp (); test_result_of_imp (); test_result_of_imp (); test_result_of_imp (); test_result_of_imp (); test_result_of_imp (); test_result_of_imp (); test_result_of_imp (); test_result_of_imp (); test_result_of_imp (); test_result_of_imp (); test_result_of_imp (); test_result_of_imp (); test_result_of_imp (); test_result_of_imp (); test_result_of_imp (); test_result_of_imp (); test_result_of_imp (); test_result_of_imp (); test_result_of_imp (); test_result_of_imp (); test_result_of_imp (); test_result_of_imp (); test_result_of_imp (); test_result_of_imp (); } test_result_of_imp(); }