Subject: [boost] [poly_collection][VS 2017] Potential compiler bug
From: Joaquin M LÃ³pez MuÃ±oz (joaquinlopezmunoz_at_[hidden])
Date: 2017-06-02 16:01:46
Boost.PolyCollection tests have started to cycle and I found VS 2017 aka
MSVC 14.1 fails
whereas this test compiles and runs OK with VS 2015 aka MSVC 4.0
(_MSC_FULL_VER = 190023026). I've distilled down the problem to this
auto operator()(Args&&... args)const->
which works fine with GCC and VS 2015 but fails in webcompiler.cloudapp.net
Compiled with /EHsc /nologo /W4 /c
main.cpp(9): error C3546: '...': there are no parameter packs
available to expand
main.cpp(18): note: see reference to class template instantiation
'all_of<>' being compiled
(_MSC_FULL_VER = 191125331, which I think is VS 2017.3 or something).
This looks like a regression to me. Deleting the ->decltype(...) bit
makes the problem
go away but I need to stay within C+11.
* Can someone (STL?) confirm this is indeed a compiler bug?
* Any rewording of the code that might be generally applicable to C++11
so that I don't
have to include a specific workaround for VS 2017?
JoaquÃn M LÃ³pez MuÃ±oz
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk