Интересная аргументация про переписывание tsc (TypeScript Type Checker) на Go, а не Rust.
tsc uses a lot of shared mutability and many parts depend on garbage collection. Even though I’m an advocate and believer in Rust, it doesn’t feel like the right tool for the job here. Using Rust required me to use unsafe too much for this specific project.
tsc depends on shared mutability and has a cyclical mutable reference. Rust is designed to prevent this behavior. Having two references to the same data (shared mutability) is undefined behavior in Rust.
Если чуть другими словами - между переписыванием и портированием есть разница и это стоит учитывать. Во делааааа.
https://kdy1.dev/posts/2022/1/tsc-go
Кстати, я в декабре как-то один жс/тс код на го переводил и получалось довольно вменяемо. Конечно некоторые вещи с типами пришлось чутьчуть подумать, как это внятно перенести без interface{} но вышло даже приятно.