Detected concepts
Example
Two versions of a Rust module. One renames a function and adds a struct field:old.rs
new.rs
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 use theImplconcept, and their function items remainFunctionnodes. The matcher uses syntax and context; it does not resolve trait implementations or apply Rust orphan rules.- Attributes have
AttributeorInnerAttributenodes. JSON keeps their edits; human reports may group them under a declaration.