KWin requires C++14

This is a short public service announcement: KWin master as of today requires a compiler which supports C++14. This means at least gcc 5 or clang 3.4. All major distributions support at least one of the two.

13 Replies to “KWin requires C++14”

  1. Nice, I hope the next public service announcement is that KWin requires Rust 🙂
    Kidding, kind of…
    Happy for you guys(knowing the pain on management imposed C++98 standard, cause “it’s stable”, aka “old”…).

      1. What are you points on why it is “the stinking pile of shite”?
        Is it because it prevents all the memory safety problems without the overhead or is it because companies like Dropbox say that they’ve observed a pattern that their Rust applications beside not having the memory management issues, also have less bugs/are more stable(my personal guess is because of the explicit error handling in Rust)?

        1. It’s frustration with the web/js like development culture.

          Nothing is stable. No rust libraries/apps stay compatible with a version of rust from more than 6 months ago. Rust needs latest LLVM, which has its own deps. Since Firefox added some rust code, you can’t just build the latest firefox on/for Debian, you end up needing to update llvm, clang, rustc, firefox to the very latest versions, like a rolling distro.

          As mentioned below, for other rust apps, it’ll probably be an npm node_modules tree like situation, where you can’t just use a reasonable stable packaged version of a library like libpng, that gets security updates and is dynamically linked. No, every program will have its own huge tree of hundreds or thousands (yes literally) of tiny dependencies pinned to specific versions e.g. “left-pad”. It’s sucking even system programs into the absolute shitshow churn of js web development practices. And it’s unavoidable, too hard to fight. You can’t do without browsers (or, if you like KDE, KWin). It’s too much code doing too much junk that too many other (web / KDE) apps depend. Everything gets buggier and slower every 3 months and you just can’t get off the release train.

          So it should be understandable that it elicits a lot of frustration from people who have been enjoying stable linux distros for decades.

      2. Can you elaborate please ? I always read that Rust is the magic that will cure software cancer, but I’m really interested in the opinions of the other side.

        1. cargo is npm-like cancer of one-function dependencies which are all owned by different people and effectively completely unsupported, and Rust relies on creating static binaries which makes them undistributable for distributions.

          It’s overhyped garbage thanks to Mozilla’s aggressive marketing efforts.

    1. * [] (auto foo) { … }
      * constexpr auto f(int x) {
      int y = 1234;
      for(int i = 0; i < x; i++) y += 2 * x;
      return y;
      template class Foo { };
      * auto functionWithGnarlyReturnType() {
      std::unordered_map<std::vector, std::vector> b;
      return b.begin();

      are the most notable one imho

Leave a Reply

Your email address will not be published. Required fields are marked *