Skip to content

Improve Rust call graph receiver resolution - #319

Merged
forhappy merged 3 commits into
mainfrom
codex/improve-rust-call-graph
Sep 17, 2026
Merged

forhappy merged 3 commits into
mainfrom
codex/improve-rust-call-graph

Conversation

@forhappy

Copy link
Copy Markdown
Contributor

Summary

  • recover exact Rust calls through source-proven Arc, Rc, and Box field chains
  • propagate typed call-result receivers into chained member-call resolution
  • recover calls from bounded local macro_rules! inputs only when an expr or stmt fragment is proven to be evaluated
  • preserve fail-closed behavior for unsupported macro shapes, ambiguous receiver owners, custom dereference implementations, and non-evaluating inputs
  • advance the Rust evidence producer version so cached Rust evidence rebuilds automatically

Compatibility

  • graph and evidence schema majors are unchanged
  • Rust extraction caches from producer version 1 rebuild on first use
  • no manual graph migration is required

Verification

  • cargo fmt --all -- --check
  • cargo clippy --workspace --lib --bins --locked -- -D warnings
  • cargo test --workspace --lib --bins --locked
  • Rust universal evidence integration suites
  • universal evidence promotion validator and tests
  • sh scripts/check_product_boundary.sh
  • ./scripts/qualify_code_graph_v1.sh --fixtures-only
  • release builds and fresh extraction of five pinned real repositories
  • ten source-grounded CLI query, path, and explanation tasks
  • git diff --check

@forhappy
forhappy merged commit 55b1a38 into main Sep 17, 2026
14 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant