added test for swapping const opitonals

This commit is contained in:
Andrzej Krzemienski
2018-10-25 00:37:13 +02:00
parent 0f8e356bca
commit fae2791f45
2 changed files with 27 additions and 0 deletions

View File

@ -49,6 +49,7 @@ import testing ;
[ run optional_test_member_T.cpp ] [ run optional_test_member_T.cpp ]
[ run optional_test_tc_base.cpp ] [ run optional_test_tc_base.cpp ]
[ compile optional_test_sfinae_friendly_ctor.cpp ] [ compile optional_test_sfinae_friendly_ctor.cpp ]
[ compile-fail optional_test_fail_const_swap.cpp ]
[ compile-fail optional_test_ref_convert_assign_const_int_prevented.cpp ] [ compile-fail optional_test_ref_convert_assign_const_int_prevented.cpp ]
[ compile-fail optional_test_fail1.cpp ] [ compile-fail optional_test_fail1.cpp ]
[ compile-fail optional_test_fail3a.cpp ] [ compile-fail optional_test_fail3a.cpp ]

View File

@ -0,0 +1,26 @@
// Copyright (C) 2018, Andrzej Krzemienski.
//
// Use, modification, and distribution is subject to the Boost Software
// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
// http://www.boost.org/LICENSE_1_0.txt)
//
// See http://www.boost.org/lib/optional for documentation.
//
// You are welcome to contact the author at:
// akrzemi1@gmail.com
#include "boost/optional.hpp"
// THIS TEST SHOULD FAIL TO COMPILE
void test_converitng_assignment_of_different_enums()
{
const boost::optional<int> o1(1);
const boost::optional<int> o2(2);
swap(o1, o2); // no swap on const objects should compile
}
int main()
{
test_converitng_assignment_of_different_enums();
}