Boost logo

Boost :

Subject: Re: [boost] [type_traits] Another big update in develop
From: Adam Wulkiewicz (adam.wulkiewicz_at_[hidden])
Date: 2015-06-20 10:03:24


Fletcher, John P wrote:
> ________________________________________
>> From: Boost [boost-bounces_at_[hidden]] on behalf of John Maddock [jz.maddock_at_[hidden]]
>> Sent: 18 June 2015 12:57
>> To: boost_at_[hidden]
>> Subject: [boost] [type_traits] Another big update in develop
>> Just a heads up in case it causes any issues:
>> type_traits has had another big update in develop - added several new
>> traits is_constructible, is_assignable etc which were needed to fix bugs
>> in other traits - and changed most of the has_nothrow and has_trivial
>> traits to make use of these. Also added more test cases to cover the
>> issues where these were defective before. Please do let me know if you
>> spot any unexpected breakages.
>> John.
> John
>
> There is something which has shown up.
>
> There is a problem with some tests of bimap e.g. test_bimap_extra with Clang 3.0 and all other Clangs.
>
> In file included from ../boost/type_traits/object_traits.hpp:22:
> ../boost/type_traits/has_nothrow_copy.hpp:32:89: error: too many template arguments for class template 'is_copy_constructible'
> template <class T> struct has_nothrow_copy_constructor : public integral_constant<bool, BOOST_HAS_NOTHROW_COPY(T)>{};
> ^~~~~~~~~~~~~~~~~~~~~~~~~
> ../boost/type_traits/intrinsics.hpp:186:119: note: expanded from:
> # define BOOST_HAS_NOTHROW_COPY(T) (__has_nothrow_copy(T) && !is_volatile<T>::value && !is_reference<T>::value && is_copy_constructible<T, const T&>::value)
> ^
> ../boost/type_traits/is_copy_constructible.hpp:166:30: note: template is declared here
> template <class T> struct is_copy_constructible : public integral_constant<bool, ::boost::detail::is_copy_constructible_impl<T>::value>{};
> ~~~~~~~~~~~~~~~~~~ ^
>
> and other similar errors.
>
> This did not happen before and does not seem to happen with gcc 4.6 or 4.8.2.
>
> It is not affected by changing to C++11 or C++14 with Clang 3.6
>
> Note: There are some unrelated Clang warnings for bimap which would be fixed if the patch for ticket #8743 would be applied.
>
> I have tried to dig into the reason but have no conclusion.
>

There are also errors reported by MSVC14, see e.g.
http://www.boost.org/development/tests/develop/developer/geometry-index.html.

D:\t08\run\boost_root\boost/type_traits/has_nothrow_destructor.hpp(26): error C2301: left of '->~T' must point to class/struct/union
D:\t08\run\boost_root\boost/type_traits/has_nothrow_destructor.hpp(26): note: see reference to class template instantiation 'boost::detail::has_nothrow_destructor_imp<T,true>' being compiled
  

Regards,
Adam


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk