1// Origin: PR c++/43558
2// { dg-do compile }
3
4class Compressible;
5template <class T, class EngineTag> class Engine;
6template <class T>
7class Engine<T, Compressible>
8{
9  public:
10    typedef T Element_t;
11      //Element_t read(int);
12      T read(int);
13};
14
15template <class T>
16T Engine<T, Compressible>::read(int)
17{
18}
19
20Engine<int, Compressible> x;
21
22