You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
But microsoft's intrinsic __is_base_of cannot be used with the same type (i.e. T = U) when it (the type) is not defined.
When the following is compiled
class A;
typedef typename boost::is_base_of<A, A>::type x;
you get an error message:
...\include\boost\type_traits\is_base_and_derived.hpp(228) : error C2139: 'A' : an undefined class is not allowed as an argument to compiler intrinsic type trait '__is_base_of'
...\include\boost\type_traits\is_base_of.hpp(29) : see reference to class template instantiation 'boost::detail::is_base_and_derived_impl<B,D>' being compiled
with
[
B=A,
D=A
]
The same code compiles on gcc-4.8.2 and clang-3.6.
Currently on Windows with MSVC10 boost defines BOOST_IS_BASE_OF (which is used in is_base_and_derived, which is used in is_base_of) as follows:
But microsoft's intrinsic __is_base_of cannot be used with the same type (i.e. T = U) when it (the type) is not defined.
When the following is compiled
you get an error message:
The same code compiles on gcc-4.8.2 and clang-3.6.
Moved from https://svn.boost.org/trac10/ticket/11422
The text was updated successfully, but these errors were encountered: