From: Aleksey Gurtovoy (agurtovoy_at_[hidden])
Date: 2003-03-18 07:11:13


Daniel Frey wrote:
> I'm still wondering what happened. Please check everything what I say,
> as I already made too many errors wrt type-traits:
>
> John added the test for is_function to the code that was intended for
> compilers that don't have partial specialization - which is why it
> failed as is_function needs partial specialization to work with
> references. But is_class also calls is_reference, so it seems that
> this does work, thus I think an implementation could be possible.

Most probably. I know that the last time I looked into it (which was
right before the 1.29 release) there were some subtleties which I
wasn't ready to deal with, not the least because the timing was wrong
as well.

Don't get me wrong, I would love to see it fixed, just not in 1.30.0.

> But there is another point: AFAIK the GCC does support partial
> specialization, right?

Of course.

> Given that this is true, the change in CVS can't fix something
> (as it is not used for the GCC)

It wasn't supposed to.

> or the config for the GCC is broken - or I missed something obvious
> (again) :-} Even if we don't take the last point into account as it
> was maybe just an overlook from John when he accidentially committed
> the code to CVS,

That's exactly what happened.

> it's still the question whether is_function could be "fixed" given
> that is_reference seems to be available for compilers without partial
> specialization.

Sure. By all means it would be appreciated if someone contributed a
comprehensive fix which would close the issue.

> > If it was easy enough it would be fixed long before the release. In
> > any case, I would be strongly opposite to sticking in a new
> > implementation just now. It's bad enough "the patch" got us delayed
> >for more than a day.
>
> I don't really wanted to suppose changes that defer the 1.30.0, I just
> tried to find a way to work around the lock-problem of SourceForge.

Okay, that's good to hear :), sorry if I overreacted a bit. 1.30.0
preparation period has lasted long enough for some of us to want it to
be over already.

Aleksey