[MSVC][std:c++latest] Boost\libs\icl failed to build due to error C2794 on MSVC
- Dominant language
- C++
- Stars
- 16
- Forks
- 50
- PR merge metrics
- No merged PRs in 30d
Description
Issue description:
Boost\libs\icl failed to build due to error C2794 on MSVC with /std:c++latest. Could you please take a look? We ues boostorg/boost@0724ce0 from Boost master branch.
**Build step:**
1. git clone -c core.autocrlf=true --recursive https://github.com/boostorg/boost.git boost
2. open a VS 2019 x86 command prompt and browse to boost
3. set _CL_=/std:c++latest
4. .\bootstrap
5. .\b2 headers variant=release --build-dir=..\out\x86rel address-model=86
6. .\b2 variant=release --build-dir=..\out\x86rel address-model=86
7. .\b2 -j16 variant=release --build-dir=..\out\x86rel libs\icl\test
**Error info:**
test_misc.cpp
C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Tools\MSVC\14.29.30133\include\__msvc_iter_core.hpp(166): error C2794: 'value_type': is not a member of any direct or indirect base class of 'std::indirectly_readable_traits,int>>>>>>'
with
[
DomainT=T,
Compare=std::less
]
C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Tools\MSVC\14.29.30133\include\xutility(809): note: see reference to alias template instantiation 'std::iter_value_t<_InIt>' being compiled
with
[
_InIt=boost::icl::element_iterator,int>>>>>
]
C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Tools\MSVC\14.29.30133\include\xutility(4735): note: see reference to alias template instantiation 'std::_Iter_value_t<_InIt>' being compiled
with
[
_InIt=boost::icl::element_iterator,int>>>>>
]
C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Tools\MSVC\14.29.30133\include\xutility(4793): note: see reference to function template instantiation '_InIt std::_Find_unchecked<_InIt,_Ty>(_InIt,const _InIt,const _Ty &)' being compiled
with
[
_InIt=boost::icl::element_iterator,int>>>>>,
_Ty=std::pair
]
libs\icl\test\test_misc_\test_misc.cpp(108): note: see reference to function template instantiation '_InIt std::find,int>>>>>,std::pair>(_InIt,const _InIt,const _Ty &)' being compiled
with
[
_InIt=boost::icl::element_iterator,int>>>>>,
DomainT=T,
Compare=std::less,
_Ty=std::pair
]
Contributor guide
No contributing guide indexed for this repository
Research direction
Reproduce the failure using the listed VS 2019 and /std:c++latest build steps, focusing on libs\icl\test\test_misc_\test_misc.cpp at line 108. Trace the element_iterator involved in std::find and use the C2794 diagnostics to identify the compatibility issue. Done means the ICL test target builds successfully with that configuration.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- build-system
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100