On Wed, May 4, 2016 at 1:12 PM, Henri Sivonen <hsivo...@hsivonen.fi> wrote:
> Cool! Thank you!
>
> What impact, if anything, does this have on
> https://bugzilla.mozilla.org/show_bug.cgi?id=1208262 (adopting
> Microsoft's Guidelines Support Library or an approximation thereof)?

It gets us closer to a world where the standard library capabilities
assumed by the Guidelines Support Library (GSL) exist.  The bug
comments suggest that C++14 compiler support is required; judging from
https://developer.mozilla.org/en-US/docs/Using_CXX_in_Mozilla_code ,
the blocker on the C++14 compiler front is GCC 4.9, and we only
require GCC 4.8.  (I'm assuming that the C++14 features that MSVC 2015
doesn't implement are also features that don't get used in the GSL.)
And then after than, we need to ensure our standard libraries have all
the C++14 bits required (OS X and Android may not).  And then we can
have a conversation about whether to import things wholesale.

In the meantime, writing our own polyfills seems reasonable.  I
haven't looked in detail at GSL, but assuming the comparison table at
https://github.com/martinmoene/gsl-lite#features is a good overview:

* not_null, maybe_null; njn is working on these in bug 1266651.
* stack_array, dyn_array: our array classes can serve here, with subclassing (?)
* finally: mfbt has ScopeExit.h instead.
* narrow_cast: mfbt has Casting.h instead.

We are missing owner<T>, zstring et al, and span<T>; span<T> seems
like the most useful out of those.

-Nathan
_______________________________________________
mobile-firefox-dev mailing list
mobile-firefox-dev@mozilla.org
https://mail.mozilla.org/listinfo/mobile-firefox-dev

Reply via email to