Rust extractor
The Rust extractor maps tree-sitter Rust CST nodes to canonical concepts. It detects structural changes at the item level: functions, structs, enums, traits, and their members.Detected concepts
Example
Two versions of a Rust module. One renames a function and adds a struct field:differens old.rs new.rs:
Known limitations
- Macro expansion is not followed. The extractor works on the surface AST, so code generated by macros (
derive, proc macros) is invisible to the diff. implblocks are matched to their type, but orphan impls (impl blocks in separate files) require cross-file correlation to be active.- Attribute changes (
#[derive(...)],#[cfg(...)]) are reported at the item level, not as separate edit actions.