boostorg / range

Boost.org range module
http://boost.org/libs/range
43 stars 104 forks source link

#include <boost/range/mfc.hpp> causes a compilation error #143

Open gabrielbocek opened 1 year ago

gabrielbocek commented 1 year ago

Hi, I updated the visual C++ compiler from 17.0.6 to 17.4.6 and I'm getting a compilation error by including <boost/range/mfc.hpp>:

1>\boost\range\detail\microsoft.hpp(626,33): error C2440: 'return': cannot convert from 'const void ' to 'const void &' 1>\boost\range\detail\microsoft.hpp(624,1): message : while compiling class template member function 'const void &boost::range_detail_microsoft::list_iterator<const X,const void ,boost::use_default,boost::use_default>::dereference(void) const' 1> with 1> [ 1> X=CPtrList 1> ] 1>\boost\iterator\iterator_facade.hpp(631,11): message : see reference to function template instantiation 'const void &boost::range_detail_microsoft::list_iterator<const X,const void ,boost::use_default,boost::use_default>::dereference(void) const' being compiled 1> with 1> [ 1> X=CPtrList 1> ] 1>\boost\range\mfc.hpp(881,1): message : see reference to class template instantiation 'boost::range_detail_microsoft::list_iterator<const X,const void *,boost::use_default,boost::use_default>' being compiled 1> with 1> [ 1> X=CPtrList 1> ]

The project is compiled with /std:c++20 switch.

This is easily reproducible - it is just needed to create a C++ console application, add the include to <boost/range/mfc.hpp> to one cpp file, add boost directory to include directories and set the compiler flag /std:c++20.

I'm using boost 1.81.

Best regards, Gabriel

malcolmdavey commented 1 year ago

Same - VS 17.4.x, C++20

tobias-loew commented 10 months ago

I made a non-intrusive fix #144. But it isn't merged yet. 🙁

gabrielbocek commented 10 months ago

@tobias-loew How can we speed up the merge? I see that you made the fix in April '23.

tobias-loew commented 10 months ago

It just happened! (Even without the need for defining the macro: the old code was broken anyway.)

gabrielbocek commented 6 months ago

Somehow this fix is still not part of the Boost 1.84. Can you please clarify?

tobias-loew commented 6 months ago

@neilgroves Any chance to get #144 fix into the boost-release? (There are several other commits also waiting for release. The last merge into master was May 2021)

neilgroves commented 5 months ago

Yes I can merge to master when I return to the UK in a few days.

Thanks, Neil

On Wed, 3 Jan 2024, 06:31 Tobias Loew, @.***> wrote:

@neilgroves https://github.com/neilgroves Any chance to get #144 https://github.com/boostorg/range/pull/144 fix into the boost-release? (There are several other commits also waiting for release. The last merge into master was May 2021)

— Reply to this email directly, view it on GitHub https://github.com/boostorg/range/issues/143#issuecomment-1874905672, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABTIJ2SROATK42WVKKWUWC3YMT3MZAVCNFSM6AAAAAAWT62X5CVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQNZUHEYDKNRXGI . You are receiving this because you were mentioned.Message ID: @.***>