[Bug c++/21682] Disallowed using declaration

pinskia at gcc dot gnu dot org gcc-bugzilla@gcc.gnu.org
Sat May 21 14:35:00 GMT 2005


------- Additional Comments From pinskia at gcc dot gnu dot org  2005-05-21 14:35 -------
Confirmed, reduced testcase (which shows the problem):
template <class T>
struct t
{
  typedef typename T::type type;
};
template<> class t<int>{};

template <class T> struct t1{ };
template<> struct t1<int>
{
  typedef int type;
};

namespace name1
{
  template <class S> typename t<S>::type begin(S const& s);
  namespace name2
  {
    template <class S> typename t1<S>::type begin(S const& s);
  }
  using name2::begin;
}

/* Test calling the function. */
int f(int a) { return name1::begin(a); }

struct aa { typedef double type; };
double g(aa t) { return name1::begin(t); }

-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
     Ever Confirmed|                            |1
           Keywords|                            |rejects-valid
   Last reconfirmed|0000-00-00 00:00:00         |2005-05-21 14:35:40
               date|                            |


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21682



More information about the Gcc-bugs mailing list