On Wed, Aug 7, 2013 at 6:47 PM, Ehsan Akhgari <ehsan.akhg...@gmail.com>wrote:

> But for whatever it's worth, I think that in general, for the std
> replacement code living in MFBT, it's best for us to try really hard to
> match the C++ standard where it makes sense.  We sometimes go through a
> crazy amount of pain to do that (see my patch in bug 802806 as an
> example!).  But if something doesn't make sense in the C++ standard or is
> not fit for our needs, we should do the right thing, depending on the case
> at hand.
>

Bug 802806 is about fixing a bug in part of mozilla::TypeTraits, which is
designed to be line std::type_traits. The reason we can't use
std::type_traits (from my reading of bug 900040) is that STLPort's
implementation is incorrect. So, I think this is a good example of where we
disagree. My position is that we should fix STLPort's implementation for
GCC 4.4 ARM Linux (maybe just backport a fixed version) and use
std::type_traits everywhere.

Question:

What, precisely, are the differences in semantics between the
similarly-named functions in mozilla:TypeTraits and std::type_traits? I
think it is hard to definitively answer this question and that's why I'd
like us to consider creating things like mozilla::TypeTraits a last-resort
option behind fixing STLPort for GCC 4.4 ARM Linux or dropping support for
old versions of compilers. (This isn't to say that the implementation or
documentation for mozilla::TypeTraits is bad; it is very impressive. Just,
I wonder if we needed to spend as much effort on it compared to the
alternatives.)

Cheers,
Brian
_______________________________________________
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform

Reply via email to