The use of NULL as a null pointer is perfectly valid, in the sense of both formal C++ compliance and code readability.
In spirit, I wholeheartedly agree with this. Unfortunately, this issue seems to come from a perfect storm of elements. We've had to solve something like this for Unordered as well. https://github.com/boostorg/unordered/issues/39 It seems to be users including Boost as a non-system header and also using `-Wzero-as-null-pointer-constant` with clang. We don't control how users ultimately choose to add Boost to their projects and it should be a goal to remove any warnings we generate in their builds, within reason. In this case, using a simple macro `BOOST_NULLPTR` is easy and straight-forward for both maintainers and potential contributors. - Christian