Disable Boost's deque forward declaration #3939
Closed
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
High Level Overview of Change
Does what it says on the tin: Defines a build variable that tells Boost to include
deque
directly instead of trying to predeclare it. That variable is calledBOOST_CONTAINER_FWD_BAD_DEQUE
,Context of Change
After upgrading Boost from 1.70 to 1.75, building in Visual Studio 2017 would fail, giving errors about
std::deque
missing template parameters. Theboost/detail/container_fwd.hpp
tries to forward declare thestd::deque
template without specifying default paramters. DefiningBOOST_CONTAINER_FWD_BAD_DEQUE
simply includes thedeque
header and removes the forward declaration.I realized at some point that I had already "fixed" this issue in #3851 with the commit labelled "Add missing "deque" headers in a bunch of places". This fix is simpler and therefore better. It's also now causing problems across branches, so I'm making a separate PR for it.
Type of Change
Test Plan
This is only a build issue. There is nothing to test.