My using the inner namespace shouldn't include the outer namespace unless somewhere in the lambda namespace there's a using ::boost. I would consider that to be namespacing bug. For example using boost::lambda shouldn't put shared_ptr in scope either.You've created a conflict among the placeholders. Both bind and lambda::binddeclare _1. bind declares its placeholders at global scope, but lambda includes in the lambda namespace.
There has been talk about merging these, but I'm not sure the status is. Of
course, with bind becoming part of the standard that may be difficult.
-- Bill --
Thanks Bill. Maybe lambda can use the same placeholders as the
standard. After all the placeholders are just zero sized tags. As
soon as meta functions are standardized that work on them lambda could
probably use them.