Installation
Pick a client and clone the repository into its skills directory.
Installation
About this skill
Guide for porting a C module to Rust
How to use
Przygotuj nazwę modułu, który chcesz przenieść (np. triemap). Będzie ona argumentem dla tej umiejętności.
Przeanalizuj kod źródłowy modułu C – otwórz pliki .c i .h znajdujące się w katalogu src/. Zanotuj struktury danych, ich pola, sposób przekazywania parametrów (przez wartość czy referencję) oraz jakie typy i funkcje moduł importuje z innych części kodu.
Sprawdź, które moduły C zależą od tego, który portujesz. Jeśli zależności są zaimplementowane w Rust, zidentyfikuj odpowiednie craty. Jeśli pozostają w C, zdecyduj, czy je najpierw przenieść, czy wywoływać przez FFI.
Przejrzyj testy w katalogu tests/ i wybierz te, które dotyczą Twojego modułu – będą one kluczowe do weryfikacji poprawności portu.
Utwórz plik planu portowania (np. triemap_plan.md), w którym opiszesz kolejne kroki, decyzje architektoniczne i ewentualne modyfikacje kodu C ułatwiające migrację (np. wprowadzenie getterów i setterów, podział na mniejsze części).
Stwórz nowy crate Rust w katalogu src/redisearch_rs za pomocą cargo new, a następnie implementuj logikę w idiomatic Rust, stopniowo zastępując funkcjonalność C.