Rust and C++: A relationship built to last? #3187
Replies: 1 comment 1 reply
-
I wrote some comments in #3143 that, I suspect, led to this discussion. Copy/pasted here:
So, I have a minor preference to answer "no" to the first question. But I'd prioritize my own work toward a 3.0 release. I do not think we should try to rewrite the CLI in Rust -- @dbr and I had a go at this and it's hard to do. It would be even more difficult to replicate Taskwarrior's CLI "bug for bug", so that existing automation around Taskwarrior could continue to work (we didn't even try this). To @ryneeverett's considerations:
I made the Rust/C++ compatibility the way I did because I didn't know the "right" way. I figured the best way to find the right answer is to give a wrong answer, but that strategy doesn't seem to have worked this time (maybe it only works on Twitter?). I got a little bit of better advice at RustConf this year, but again it seems like I should prioritize releasing 3.0 over re-implementing the FFI. |
Beta Was this translation helpful? Give feedback.
-
There are two main questions here:
I suspect these questions factor into each other in various ways and the ramifications aren't entirely obvious. Some considerations:
commands/
remains in C++. If they separate, it seems more likely somebody will eventually create an alternative Rust cli based on the taskchampion library to completely replace taskwarrior.Personally, I'm biased on (2) because I'm more comfortable with the Rust ecosystem and I find the C++/Rust compatibility layer to be the most confusing part of the current code base. The normal tooling I would use to follow foreign languages doesn't help because it doesn't seem to be able to follow these interfaces either.
Beta Was this translation helpful? Give feedback.
All reactions