On 15/02/16 19:12 +0200, Alexander Ploumistos wrote:
On Mon, Feb 15, 2016 at 3:44 PM, Jonathan Wakely
<jwakely(a)fedoraproject.org> wrote:
> The problem is that the package defines a type 'function' in the
> global namespace, but also puts 'using namespace std;" in the global
> namespace, in a header. That causes the 'function' struct and
> 'std::function' to be ambiguous.
Was that considered correct or acceptable at the time the library was
written (ca 2008)?
No, it was considered bad practice to put using-directives in headers
even in 2008.
It didn't actually cause an error until now because std::function was
not present in namespace std until the C++11 standard, but the same
error could have happened with different names. It was a bug waiting
to happen.