Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.    By clickin

Rewrite it in Rust #9512

submited by
Style Pass
2023-01-31 00:00:31

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

This should be thought of as a "port" instead of a "rewrite" because we would not start from scratch; instead we would translate C++ to Rust, incrementally, module by module, in the span of one release. We'll use an FFI so the Rust and C++ bits can talk to each other until C++ is gone, and tests and CI keep passing at every commit.

To prove it can work, in this PR I've ported FLOG, topic monitor, wgetopt, builtin_wait, and some others to Rust. The Rust bits live in a crate that lives inside the C++ and links with it. You can just build it the usual way:

The Plan has a high level description, and the Development Guide has more technical details on how to proceed. Please consider both to be part of this PR.

Leave a Comment