boostorg / boostorg/icl

[MSVC][std:c++latest] Boost\libs\icl failed to build due to error C2794 on MSVC

Open
#37 0 comments 0 reactions 0 assignees View on GitHub
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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.