On 11.01.2016 18:40, Walter Bright wrote:
On 1/11/2016 12:45 AM, Rainer Schuetze wrote:
This yields:
test.d(11): Error: stl.vector.std at stl\vector.d(3) conflicts with
stl.map.std
at stl\map.d(3)
test.d(12): Error: stl.vector.std at stl\vector.d(3) conflicts with
stl.map.std
at stl\map.d(3)
test.d(12): Error: template identifier 'map' is not a member of namespace
'stl.vector.std'
Of course it does, because you're looking up "std" and "std" is in both
vector and map. Again, I am hornswoggled by my inability to explain how
name lookup works.
No need to explain. I'm just showing that the name lookup that might be
expected from a C++ namespace, doesn't work. I suspect that's Manus'
argument: if it gets unusable so easily then why add it it in the first
place?
As the usual disambiguation techniques work I'm not sure the additional
symbol does any harm, though.