4 ms·
The PR doesn't do much if you look at the changes. It looks like it's mostly compiling as C++ and using things like 'auto' and C++-style casts.
by boardwaalk 5y ago
The PR doesn't do much if you look at the changes. It looks like it's mostly compiling as C++ and using things like 'auto' and C++-style casts.
- pianoben 5y agoSpeaking as a C++ person - you're right that this doesn't _do_ much, but nevertheless this is still a significant effort. This kind of groundwork is _work_, and opens lots of doors for future improvements. That said, there are definitely downsides here. Even if they manage to keep c++ entirely out of headers, consumers now have the headache of either building libtransmission themselves _or_ making sure they include a compatible runtime in their own projects. As soon as c++ leaks out into the public interfaces, it's game over for precompiled binaries - everyone will have to build it whether they want to or not. Not the end of the world, but certainly it could be painful for downstream projects.
- Ericson2314 5y agoThey should probably be like LLVM and just keep a C wrapper around new C++ interfaces for such purposes. But agreed this is the right first step.
- maccard 5y agoBut someone needs to do this before the interesting stuff can happen.
- pjmlp 5y agoAlready that little does much, as C++'s type system is more strict. The rest can be (hopefully) increasingly migrated. This was both the plus (and now Achilles's heel regarding fixing C++) of migrating C code into C++.