This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug c++/11030] Cannot befriend a template specialization
- From: "bangerth at dealii dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 22 Jun 2003 06:38:57 -0000
- Subject: [Bug c++/11030] Cannot befriend a template specialization
- References: <20030529172554.11030.benxbli@yahoo.com>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
PLEASE REPLY TO gcc-bugzilla@gcc.gnu.org ONLY, *NOT* gcc-bugs@gcc.gnu.org.
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=11030
bangerth at dealii dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Summary|two-stage name lookup: |Cannot befriend a template
|Cannot befriend a template |specialization
|specialization |
------- Additional Comments From bangerth at dealii dot org 2003-06-22 06:38 -------
I don't see how this could possibly have anything to do with
the non-existence of two-stage name lookup. It's rather the
_existence_ of two-stage lookup that creates the problem:
when we look at the template A<S>::func, we want to lookup
C::private_func and realize that we're not (always) a friend.
At least that's the theory, because gcc does not implement
two-stage name lookup for functions yet. If it would, it
would spit out the error independent of the instantiation.
Presently, the instantiation is actually needed.
The problem is rather in the fact that AFAICT friend declarations
may not be against specializations -- either the whole template
or nothing.
W.