Opened 9 years ago
Closed 9 years ago
#8702 closed Patches (fixed)
Error in size_type detection in has_size_type
Reported by: | Antony Polukhin | Owned by: | Neil Groves |
---|---|---|---|
Milestone: | Boost 1.54.0 | Component: | range |
Version: | Boost 1.52.0 | Severity: | Regression |
Keywords: | size_type trait no_type | Cc: |
Description
File boost/range/size_type.hpp
contains an error. has_size_type
does not work well, because sizeof(test<T>(0))
requires implicit conversion of 0
to size_type
. In case when size_type
is not an int
, function no_type
has_size_type::test(Arg x)
will be chosen.
To fix that issue replace
template<typename C, typename Arg> static no_type test(Arg x);
with
template<typename C> static no_type test(...);
In that case attempt to do implicit conversion will be done before converting choosing no_type test(...)
version.
Note:
See TracTickets
for help on using tickets.