We do seem to be guilty of having the same conversations in multiple different places a lot :)

Just FYI, the nail is in the coffin. C++14 support landed last night. So trusty is dropped I guess.


On 18/02/15 12:43, Daniel van Vugt wrote:
As a compromise why don't we say Mir supports the latest LTS only?

So 14 months from now, we'll be free to jump to C++14 (and it will be
more mature in implementation by then). But until then, we would stick
to C++11 for trusty.



On 18/02/15 09:39, Daniel van Vugt wrote:
I think this is a bad idea.

Supporting trusty with the latest Mir is presently easy, as demonstrated:
https://code.launchpad.net/~vanvugt/mir/revive-trusty/+merge/249789

Using newer language specs I think is contrary to engineering maturity.
Because it means we knowingly and needlessly reduce the number of
distros Mir can support. And we also make the learning curve for people
even steeper (fewer C++ developers know the new language features).

Overall this will lead to reduced adoption by users and reduced
participation by developers. We need to be careful and draw the line
somewhere... stop upgrading to the latest C++ every time one comes along.

- Daniel


On 17/02/15 20:37, Alexandros Frantzis wrote:
Hi all,

I think it's to time to consider moving from C++11 to C++14 (at least
the C++14 features our compilers support). C++14 offers some useful
improvements over C++11, like:

* std::make_unique()
* standard literal suffixes for std::chrono (e.g. auto delay = 10ms;)
* std::shared_timed_mutex (aka RW mutex)
* generic lambdas
* lambda capture initializers (which, importantly, allow moving values
into
   lambdas)

Moving to C++14 means that we will not be able to build Mir on a
pristine Ubuntu LTS 14.04 system. Note that, even now, Mir cannot be
fully built on the LTS because of changes in the Android interfaces. As
things currently stand, I believe that dropping support for 14.04 builds
in order to allow C++14 is a worthy trade-off.

In addition, not supporting 14.04 builds means that we will be able to
use all the new features of other libraries we depend on, e.g.
gmock/gtest.

It's also worth noting that our packages depend on g++-4.9 (which
supports the C++14 features we want).

I have published an MP introducing C++14 into our codebase:

https://code.launchpad.net/~afrantzis/mir/introduce-c++14/+merge/249988

Let me know what you think.

Thanks,
Alexandros




--
Mir-devel mailing list
Mir-devel@lists.ubuntu.com
Modify settings or unsubscribe at: 
https://lists.ubuntu.com/mailman/listinfo/mir-devel

Reply via email to