This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug c++/14500] most specialized function template vs. non-template function
- From: "bkoz at redhat dot com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 9 Mar 2004 16:34:10 -0000
- Subject: [Bug c++/14500] most specialized function template vs. non-template function
- References: <20040309045153.14500.bkoz@gcc.gnu.org>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Additional Comments From bkoz at redhat dot com 2004-03-09 16:34 -------
Subject: Re: most specialized function template vs.
non-template function
>It looks to me that this is an interaction between "strong using" and
>specializations: The most specialized swap() (for vector<>) leaves in
>__gnu_norm:: whereas the most general leaves in std::. Therefore, when
>you explicitly specialize, the compiler just considers the template in
>std:: and forgets about the other one in __gnu_norm::; therefore it
>thinks that you're specializing the one in std::. Which is wrong.
>It should have collected all swap() reachable through strongly used
>namespaces. (Recall that strong using says for all purposes except
>mangling, everything is the same).
Ok, that's what I thought too. Thanks for the clarification, and the
smaller testcase.
-benjamin
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=14500