
Dmitry Ivankov wrote:
Good idea. What about a backdoor for those compilers? Something like let users specialize i_really_have_specialized_numeric_limits<T>::value for their non-abstract polymorphic types.
I don't think that it's necessary to be that complicated: 1) If the type *is* really abstract, then numeric_limits support probably doesn't make sense since the type is not a "value" type. So filtering out abstract types probably makes sense whatever. 2) If a type is *not* abstract and the compiler supports numeric_limits then we're OK anyway I think? 3) If the compiler is broken and doesn't support is_abstract, then users can always specialise is_abstract for a non-abstract polymorphic type if they want the numeric limits code to kick in. John.