>Seems to me they're not doing it gradually at all.
They are doing the release all-at-once, but developing gradually. From the original PR[1]:
>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.
They are doing the release all-at-once, but developing gradually. From the original PR[1]:
>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.
[1] https://github.com/fish-shell/fish-shell/pull/9512