Skip to content

Commit 570c227

Browse files
authored
Merge pull request #1273 from mikeblome/mb-2phase
update for 2 phase lookup issue in Boost
2 parents a705fb7 + 2d70881 commit 570c227

File tree

1 file changed

+2
-0
lines changed

1 file changed

+2
-0
lines changed

docs/cpp-conformance-improvements-2017.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1673,6 +1673,8 @@ struct S : Base<T> {
16731673
16741674
To fix the error, change the `return` statement to `return this->base_value;`.
16751675
1676+
**Note:** In the Boost python library, there has been for a long time an MSVC-specific workaround for a template forward declaration in [unwind_type.hpp](https://github.com/boostorg/python/blame/develop/include/boost/python/detail/unwind_type.hpp). Under [/permissive-](build/reference/permissive-standards-conformance.md) mode starting with Visual Studio 2017 version 15.8 (_MSC_VER=1915), the MSVC compiler does argument-dependent name lookup (ADL) correctly and is consistent with other compilers, making this workaround guard unnecessary. In order to avoid this error *C3861: 'unwind_type': identifier not found*, see [PR 229](https://github.com/boostorg/python/pull/229) in the Boostorg repo to update the header file. We have already patched the [vcpkg](vcpkg.md) Boost package, so if you get or upgrade your Boost sources from vcpkg then you do not need to apply the patch separately.
1677+
16761678
### forward declarations and definitions in namespace std
16771679
16781680
The C++ standard doesn't allow a user to add forward declarations or definitions into namespace `std`. Adding declarations or definitions to namespace `std` or to a namespace within namespace std now results in undefined behavior.

0 commit comments

Comments
 (0)