diff --git a/test/cfoa/takes_arg_as_cref_tests.cpp b/test/cfoa/takes_arg_as_cref_tests.cpp index 5840ce0f..d5d0b222 100644 --- a/test/cfoa/takes_arg_as_cref_tests.cpp +++ b/test/cfoa/takes_arg_as_cref_tests.cpp @@ -67,31 +67,31 @@ struct f51 // expected false negative void operator()( const int& ); void operator()( char* ); }; -auto lambda52 = []( const int& ){}; -using f52=decltype(lambda52); -int retrieved=0; -auto lambda53 = [&]( const int& x ) mutable { retrieved = x; }; -using f53=decltype(lambda53); -auto lambda54 = []( int& ){}; -using f54=decltype(lambda54); -auto lambda55 = [&]( int& x ) mutable { retrieved = x; }; -using f55=decltype(lambda55); - -#if !defined(BOOST_NO_CXX14_GENERIC_LAMBDAS) -auto lambda56 = []( const auto& ){}; -using f56=decltype(lambda56); -auto lambda57 = [&]( const int& x ) mutable { retrieved = x; }; -using f57=decltype(lambda57); -auto lambda58 = []( int& ){}; -using f58=decltype(lambda58); -auto lambda59 = [&]( int& x ) mutable { retrieved = x; }; -using f59=decltype(lambda59); -#endif - -using f60=void; // detection doesn't crash even if requirements violated +using f52=void; // detection doesn't crash even if requirements violated int main() { + auto lambda53 = []( const int& ){}; + using f53=decltype(lambda53); + int retrieved=0; + auto lambda54 = [&]( const int& x ) mutable { retrieved = x; }; + using f54=decltype(lambda54); + auto lambda55 = []( int& ){}; + using f55=decltype(lambda55); + auto lambda56 = [&]( int& x ) mutable { retrieved = x; }; + using f56=decltype(lambda56); + +#if !defined(BOOST_NO_CXX14_GENERIC_LAMBDAS) + auto lambda57 = []( const auto& ){}; + using f57=decltype(lambda57); + auto lambda58 = [&]( const int& x ) mutable { retrieved = x; }; + using f58=decltype(lambda58); + auto lambda59 = []( int& ){}; + using f59=decltype(lambda59); + auto lambda60 = [&]( int& x ) mutable { retrieved = x; }; + using f60=decltype(lambda60); +#endif + BOOST_TEST(( takes_arg_as_const_reference::value )); BOOST_TEST(( takes_arg_as_const_reference::value )); BOOST_TEST(( takes_arg_as_const_reference::value )); @@ -159,19 +159,18 @@ int main() BOOST_TEST(( !takes_arg_as_const_reference::value )); BOOST_TEST(( !takes_arg_as_const_reference::value )); BOOST_TEST(( !takes_arg_as_const_reference::value )); - BOOST_TEST(( takes_arg_as_const_reference::value )); + BOOST_TEST(( !takes_arg_as_const_reference::value )); BOOST_TEST(( takes_arg_as_const_reference::value )); - BOOST_TEST(( !takes_arg_as_const_reference::value )); + BOOST_TEST(( takes_arg_as_const_reference::value )); BOOST_TEST(( !takes_arg_as_const_reference::value )); + BOOST_TEST(( !takes_arg_as_const_reference::value )); #if !defined(BOOST_NO_CXX14_GENERIC_LAMBDAS) - BOOST_TEST(( takes_arg_as_const_reference::value )); BOOST_TEST(( takes_arg_as_const_reference::value )); - BOOST_TEST(( !takes_arg_as_const_reference::value )); + BOOST_TEST(( takes_arg_as_const_reference::value )); BOOST_TEST(( !takes_arg_as_const_reference::value )); -#endif - BOOST_TEST(( !takes_arg_as_const_reference::value )); +#endif return boost::report_errors(); }