On 18 December 2017 at 13:59, Andrey Semashev via Boost
On 12/18/17 16:35, Daniel James via Boost wrote:
Just to be clear, as I think I need to fully understand this. The problem in issue #44 is that a lookup for 'winapi' from inside 'boost::detail' picks up the 'boost::detail::winapi' namespace from your log header, but without including the header that sets up the 'boost::detail::winapi' namespace to import all of 'boost::winapi'.
Correct. The updated Boost.Thread includes the new Boost.WinAPI headers which define its symbols in `boost::winapi`, so Boost.Thread expects `winapi` to resolve to `boost::winapi`.
The master branch of Boost.Thread does include the header, so there's no problem there. And this can only happen inside 'boost::detail', so it shouldn't ever affect user code.
Also correct. And user's code should not use Boost.WinAPI in the first place.
OK thanks. I'm going to go ahead with the release now. Does seem like a good demonstration of why namespaces should always be fully qualified.