diff --git a/test/set.cpp b/test/set.cpp index 39de492..29c2312 100644 --- a/test/set.cpp +++ b/test/set.cpp @@ -13,6 +13,8 @@ // $Revision$ #include +#include +#include #include #include #include @@ -160,3 +162,29 @@ MPL_TEST_CASE() MPL_ASSERT_NOT(( has_key )); MPL_ASSERT_NOT(( has_key )); } + +// Use a template for testing so that GCC will show us the actual types involved +template +struct test +{ + typedef typename mpl::begin::type i0; + typedef typename mpl::deref::type t0; + BOOST_MPL_ASSERT((boost::is_same)); + + typedef typename mpl::next::type i1; + typedef typename mpl::deref::type t1; + BOOST_MPL_ASSERT((boost::is_same)); + + typedef typename mpl::next::type i2; + typedef typename mpl::deref::type t2; + BOOST_MPL_ASSERT((boost::is_same)); + + typedef typename mpl::next::type i3; + BOOST_MPL_ASSERT((boost::is_same::type>)); +}; + +MPL_TEST_CASE() +{ + typedef mpl::set myset; + test y; +}