diff --git a/tests/shared_ptr_test.cc b/tests/shared_ptr_test.cc index 876cde6cba..c9088385d2 100644 --- a/tests/shared_ptr_test.cc +++ b/tests/shared_ptr_test.cc @@ -50,3 +50,17 @@ BOOST_AUTO_TEST_CASE(explot_dynamic_cast_use_after_free_problem) { } BOOST_ASSERT(!A::destroyed); } + +class C : public enable_shared_from_this { +public: + shared_ptr dup() { return shared_from_this(); } + shared_ptr get() const { return shared_from_this(); } +}; + +BOOST_AUTO_TEST_CASE(test_const_ptr) { + shared_ptr a = make_shared(); + shared_ptr ca = a; + BOOST_REQUIRE(ca == a); + shared_ptr cca = ca->get(); + BOOST_REQUIRE(cca == ca); +}