www.digitalmars.com Home | Search | C & C++ | D | DMDScript | News Groups | index | prev | next
Archives

D Programming
D
D.gnu
digitalmars.D
digitalmars.D.bugs
digitalmars.D.dtl
digitalmars.D.dwt
digitalmars.D.announce
digitalmars.D.learn
digitalmars.D.debugger

C/C++ Programming
c++
c++.announce
c++.atl
c++.beta
c++.chat
c++.command-line
c++.dos
c++.dos.16-bits
c++.dos.32-bits
c++.idde
c++.mfc
c++.rtl
c++.stl
c++.stl.hp
c++.stl.port
c++.stl.sgi
c++.stlsoft
c++.windows
c++.windows.16-bits
c++.windows.32-bits
c++.wxwindows

digitalmars.empire
digitalmars.DMDScript

c++ - [Bug report] ambiguous partial specialization

The compiler (__DMC__ == 0x840) is not able to handle the following
well-formed program:

[ambiguous_partial_spec.cpp]

template< typename T > struct thing {};

template< template< typename U > class F, typename T >
struct thing< F<T> >
{
};

template< typename T > struct f {};
template< typename T > struct thing< f<T> > {};

int main()
{
    typedef thing< f<int> > t;
}


^ C:\home\depot\bugs\dmc8.4\ambiguous_partial_spec.cpp(14) : Error: ambiguous match of class template partial specialization 'thing' --- errorlevel 1 < -- Aleksey Gurtovoy MetaCommunications Engineering
Aug 12 2004