You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Rust: a call through a module that use super::* brings in has no edge on main (works in 1.6.2) #3253
codegraph 1.6.2 from npm, and current main (f72c9d2) built from source and run on Node 22.23.4. Linux, rustc 1.99.1, fresh codegraph init. The repro crate passes cargo check.
Problem
In a mod tests with use super::*, a call like gzip::write() (the parent declares pub mod gzip;) gets a call edge in 1.6.2, but not on current main. The same module path called from the parent itself still works. Maybe it came with #3014 (use bindings follow Rust's scopes).
Minimal repro
Cargo.toml:
[package]
name = "repro_superglob"version = "0.1.0"edition = "2021"
load -> read resolvedBy import, confidence 0.9, refName gzip::read (ok)
writes -> load resolvedBy exact-match, confidence 0.9, refName load (ok, the test fn is indexed)
writes -> write is gone, while writes -> load stays.
Expected
writes -> gzip::write on main too, as in 1.6.2. rust-analyzer resolves it to src/store/gzip.rs.
Notes
In our crate (42 files) this is the only call through a glob-imported module, and it is a test (gzip::write_single(…) in src/load/mod.rs). Related, I checked before posting: #3014 (merged), #1892 (closed, use super::* in #[path] modules).
Activity