c++/10887: [3.3/3.4 regression] specialization of private members structs fails

Matthias Klose <[email protected]>
Newsgroups gmane.comp.gcc.prs
Message-ID <[email protected]>
>Number:         10887
>Category:       c++
>Synopsis:       [3.3/3.4 regression] specialization of private members structs fails
>Confidential:   no
>Severity:       critical
>Priority:       medium
>Responsible:    unassigned
>State:          open
>Class:          rejects-legal
>Submitter-Id:   net
>Arrival-Date:   Tue May 20 21:36:00 UTC 2003
>Closed-Date:
>Last-Modified:
>Originator:     Herbert Valerio Riedel <[email protected]>
>Release:        3.3 (Debian) (Debian testing/unstable)
>Organization:
The Debian Project
>Environment:
>Description:
 [ Reported to the Debian BTS as report #193830.
   Please CC [email protected] on replies.
   Log of report can be found at http://bugs.debian.org/193830 ]
	

3.3 and 3.4 CVS 20030501 fail to compile the following code (which
would compile with previous g++ versions):

$ cat in_class_class.cc
class Foo {
  template <class T> struct InFoo;
};

template<>
struct Foo::InFoo<int> {
    // ...
};
$ g++ -c in_class_class.cc
in_class_class.cc:2: error: `template<class T> struct Foo::InFoo' is private
in_class_class.cc:6: error: within this context
$

>How-To-Repeat:
	
>Fix:
	
>Release-Note:
>Audit-Trail:
>Unformatted:
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.