This is the mail archive of the libstdc++@gcc.gnu.org mailing list for the libstdc++ project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[patch] Unqualified calls to std::copy() in bits/vector.tcc


Our std::vector contains a few unqualified calls to std::copy().

This causes problems for Boost's Meta-Programming Library (where "copy"
is a functor) due to 3.4's improved ADL (see core DR 218, PR 17365 and
PR 17045 for related cases).

This isn't technically a regression, since these calls were always
unqualified until 3.4.0 but qualifications should probably have been
added to these calls along with all the others. It could be argued that
since previous versions didn't have correct ADL no conflicts arose, so
this is a regression.

Tested on i386/FreeBSD. Is this OK for mainline? and 3.4?

2004-12-29  Jonathan Wakely  <redi@gcc.gnu.org>

	include/bits/vector.tcc: Qualify all calls to std::copy().

I'm going on holiday so won't be able to commit this myself after today.
If it's approved then someone else might want to commit it sooner.

I think there are also a couple of unqualified calls in rope (lines 188
and 215) but I won't have time to check that properly before I go away.

jon

-- 
"There are basically two types of people. People who accomplish things,
 and people who claim to have accomplished things.
 The first group is less crowded."
	- Mark Twain

Attachment: libstdcxx-vector_quals.patch
Description: Text document


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]