diff --git a/test/Jamfile.v2 b/test/Jamfile.v2 index 9000c2a..8126239 100644 --- a/test/Jamfile.v2 +++ b/test/Jamfile.v2 @@ -49,6 +49,7 @@ import testing ; [ run optional_test_member_T.cpp ] [ run optional_test_tc_base.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_fail1.cpp ] [ compile-fail optional_test_fail3a.cpp ] diff --git a/test/optional_test_fail_const_swap.cpp b/test/optional_test_fail_const_swap.cpp new file mode 100644 index 0000000..3d97a1c --- /dev/null +++ b/test/optional_test_fail_const_swap.cpp @@ -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 o1(1); + const boost::optional o2(2); + swap(o1, o2); // no swap on const objects should compile +} + +int main() +{ + test_converitng_assignment_of_different_enums(); +}