blob: eeb70e1c3739eb13f6d1bad6758221695865f93c [file] [log] [blame]
// Build don't link:
// GROUPS passed old-abort
/*
I received the following message when using g++ (version 2.3.3):
main.cc: In method 'Implicit<implicit<INTEGER,2>,3>::Implicit()':
main.cc: Internal compiler error 241.
main.cc: Please report this to 'bug-g++@prep.ai.mit.edu'
*/
#include <stream.h>
class INTEGER {
int x;
public:
typedef int BASE;
INTEGER(int y) : x(y) {}
INTEGER() {}
void encode() { cout << "Integer encoder";}
int operator=(int y) { x=y; return x; }
operator int() {return x; }
};
template< class T, int n> class Implicit : public T {
public:
typedef typename T::BASE BASE;
Implicit(BASE value ): T(value) {};
Implicit() : T() {};
int myTag() { return n; }
void encode() { T::encode(); }
BASE operator=(BASE t) { return T::operator=(t); }
};
int
main()
{
Implicit<Implicit<INTEGER, 2> , 3> y;
y = 10;
};