Toolverse
All skills

analyze-rust-ffi-crate-surface

by RediSearch

Determine which parts of the C codebase use Rust-defined C symbols.

Installation

Pick a client and clone the repository into its skills directory.

Installation

Quick info

Category
Backend
Views
9

About this skill

Determine which parts of the C codebase use Rust-defined C symbols.

How to use

  1. Przygotuj ścieżkę do Rust crate'u lub pliku FFI, który chcesz analizować. Jeśli ścieżka nie zaczyna się od src/, system automatycznie założy, że znajduje się w katalogu src/redisearch_rs/c_entrypoint. Na przykład numeric_range_tree_ffi zostanie rozwinięty do src/redisearch_rs/numeric_range_tree_ffi.

  2. Uruchom umiejętność, podając ścieżkę do Rust crate'u lub pliku. Możesz analizować jeden plik, cały katalog lub wiele ścieżek jednocześnie, przekazując je jako argumenty.

  3. Umiejętność przeskanuje pliki Rust i wyodrębni wszystkie symbole FFI eksportowane do C, takie jak funkcje oznaczone extern "C" fn z atrybutem #[unsafe(no_mangle)] oraz definicje typów. W razie potrzeby skorzysta z auto-generowanych plików nagłówkowych z katalogu src/redisearch_rs/headers.

  4. Dla każdego znalezionego symbolu umiejętność przeszuka kod C, aby ustalić, gdzie jest on używany — w wywołaniach funkcji, jako typ argumentu, typ pola struktury lub w rzutowaniu typów.

  5. Otrzymasz raport zawierający dla każdego symbolu: nazwę symbolu, moduły C, które go używają, typ symbolu (funkcja, typ danych itp.) oraz informację, czy jest używany wyłącznie w testach jednostkowych.

  6. Przeanalizuj raport, aby zidentyfikować zależności między kodem Rust a C i ocenić potencjalny wpływ planowanych zmian w interfejsie FFI.

Related skills