On 13/12/2019 17:58, Peter Dimov via Boost wrote:
Niall Douglas wrote:
Breaking code without any warning is not a good practice, but I'll mark >
as deprecated to allow people time to migrate. Personally speaking, I think the macro `BOOST_BIND_NO_PLACEHOLDERS` needs to become `BOOST_BIND_ENABLE_GLOBAL_PLACEHOLDERS`. People can still use
, but they'll need to explicitly opt into the old behaviour. That's true in principle, and will be my next step, at some point.
But what's also true is that people don't appreciate their code - that has worked for decades - to be broken. Just grep for
within Boost, and extrapolate.
Ok, how about this:
1. Both `BOOST_BIND_NO_PLACEHOLDERS` and
`BOOST_BIND_ENABLE_GLOBAL_PLACEHOLDERS` have the effect on placeholders
injection.
2. The deprecation message says something like "In Boost v1.XX, the
macro BOOST_BIND_NO_PLACEHOLDERS shall cease to have effect, and the
macro BOOST_BIND_ENABLE_GLOBAL_PLACEHOLDERS will default to undefined.
This will cause ::placeholders to no longer be injected into the global
namespace by default. Please stop using