From: Jens Maurer (jmaurer_at_[hidden])
Date: 2000-02-10 17:35:43


 
> Would someone mind letting me know how well g++ handles this implementation?
> I mean, are the workarounds above necessary?

g++ 2.95.2 gives 43 lines of diagnostics, a recent CVS checkout is down
to 17. Here's an example:

tester.cc:50: declaration of `typedef struct boost::ctassert<(sizeof (Int) == 4)> Bill<Int, Char>::ctassert_true'
tester.cc:50: conflicts with previous declaration `typedef struct boost::ctassert<true> Bill<Int, Char>::ctassert_true'

This seems to happen before the templates are instantiated. It looks like
g++ should move these checks to template instantiation time.

The idea certainly looks interesting.

Jens Maurer