Martin Vogel
09c4885e11
fix(extract): a Rust generic impl's call scope drops its type arguments
...
The def side names a Rust impl method after the implementing type with
its generic arguments stripped (`impl<T> Gen<T>` -> `Gen`, extract_rust_impl).
The call-scope QN in extract_unified.c used the impl's type text verbatim,
`Gen<T>` / `Life<'a>`. So every method of a generic or lifetime-parameterised
impl had a scope QN that no node carries, and every call in its body was
sourced from the File node instead of the method. Base census, 9f85f104 par
(lane L7's #763 measurement): 87,855 Rust CALLS start at a File/Module node,
84,331 of them (96%) on a line inside a function span. Go is 0%.
Strip the generic arguments on the call side exactly as the def side does.
Plain impls, trait impls, free functions and inline modules were already
consistent (checked on a fixture with the base binary).
Test: extract_rust_generic_impl_call_scope_matches_def (plain, type-generic
and lifetime-generic impls; def QN == call scope).
Refs #763
Signed-off-by: Martin Vogel <martin.vogel.tech@gmail.com >
2026-10-18 00:05:47 +02:00
..
2026-10-13 03:47:14 +02:00
2026-10-09 02:55:23 +02:00
2026-10-12 20:23:13 +02:00
2026-04-01 23:22:44 +02:00
2026-03-15 19:26:12 +01:00
2026-05-30 18:26:44 +02:00
2026-09-14 06:11:03 +02:00
2026-10-01 00:10:39 +02:00
2026-10-01 00:10:39 +02:00
2026-10-13 18:47:51 +02:00
2026-10-14 02:27:54 +02:00
2026-10-06 02:44:56 +02:00
2026-10-06 02:44:56 +02:00
2026-10-11 12:00:31 +02:00
2026-10-09 02:55:23 +02:00
2026-10-09 02:55:23 +02:00
2026-10-09 02:55:23 +02:00
2026-10-10 18:07:27 +02:00
2026-10-09 01:56:17 +02:00
2026-10-10 10:19:42 +02:00
2026-10-10 11:07:37 +02:00
2026-10-09 02:55:23 +02:00
2026-10-10 13:19:21 +02:00
2026-10-10 18:20:13 +02:00
2026-10-09 02:55:23 +02:00
2026-10-10 11:34:47 +02:00
2026-10-13 18:33:40 +02:00
2026-10-10 15:43:40 +02:00
2026-10-10 18:20:13 +02:00
2026-10-11 12:43:35 +02:00
2026-10-13 06:18:39 +02:00
2026-09-03 08:14:16 +02:00
2026-08-20 10:23:48 +02:00
2026-10-14 04:08:22 +02:00
2026-09-02 09:22:37 -05:00
2026-10-13 01:20:13 +02:00
2026-10-14 02:27:54 +02:00
2026-09-18 03:31:22 +02:00
2026-09-03 08:14:16 +02:00
2026-09-02 09:22:37 -05:00
2026-09-03 08:14:16 +02:00
2026-10-18 00:05:47 +02:00
2026-09-02 10:45:37 +02:00
2026-10-13 00:31:19 +02:00
2026-10-13 00:31:19 +02:00
2026-10-12 20:23:54 +02:00
2026-04-15 21:28:51 +02:00
2026-04-15 21:28:51 +02:00
2026-04-15 21:28:51 +02:00
2026-08-26 22:51:29 +02:00
2026-04-15 21:28:51 +02:00
2026-04-15 21:28:51 +02:00
2026-04-15 21:28:51 +02:00
2026-03-05 22:39:01 +01:00
2026-04-15 21:28:51 +02:00
2026-04-15 21:28:51 +02:00
2026-04-15 21:28:51 +02:00
2026-04-15 21:28:51 +02:00
2026-04-15 21:28:51 +02:00
2026-03-05 22:39:01 +01:00
2026-03-05 22:39:01 +01:00
2026-04-15 21:28:51 +02:00
2026-04-15 21:28:51 +02:00
2026-06-01 18:28:36 +02:00
2026-06-01 18:28:36 +02:00
2026-08-28 21:30:06 +02:00
2026-03-05 22:39:01 +01:00
2026-03-05 22:39:01 +01:00
2026-03-05 22:39:01 +01:00
2026-03-05 22:39:01 +01:00
2026-03-05 22:39:01 +01:00
2026-04-15 21:28:51 +02:00
2026-03-05 22:39:01 +01:00
2026-04-15 21:28:51 +02:00
2026-03-05 22:39:01 +01:00
2026-04-15 21:28:51 +02:00
2026-03-05 22:39:01 +01:00
2026-04-15 21:28:51 +02:00
2026-04-15 21:28:51 +02:00
2026-03-05 22:39:01 +01:00
2026-04-15 21:28:51 +02:00
2026-03-05 22:39:01 +01:00
2026-03-05 22:39:01 +01:00
2026-03-05 22:39:01 +01:00
2026-03-05 22:39:01 +01:00
2026-04-15 21:28:51 +02:00
2026-04-15 21:28:51 +02:00
2026-03-07 10:46:21 +01:00
2026-03-05 22:39:01 +01:00
2026-03-05 22:39:01 +01:00
2026-04-15 21:28:51 +02:00
2026-04-15 21:28:51 +02:00
2026-04-15 21:28:51 +02:00
2026-04-15 21:28:51 +02:00
2026-04-15 21:28:51 +02:00
2026-03-05 22:39:01 +01:00
2026-04-15 21:28:51 +02:00
2026-03-05 22:39:01 +01:00
2026-04-15 21:28:51 +02:00
2026-04-15 21:28:51 +02:00
2026-03-05 22:39:01 +01:00
2026-03-05 22:39:01 +01:00
2026-04-15 21:28:51 +02:00
2026-07-23 18:40:22 +03:00
2026-03-05 22:39:01 +01:00
2026-04-15 21:28:51 +02:00
2026-03-05 22:39:01 +01:00
2026-04-15 21:28:51 +02:00
2026-03-05 22:39:01 +01:00
2026-04-15 21:28:51 +02:00
2026-04-15 21:28:51 +02:00
2026-03-05 22:39:01 +01:00
2026-03-05 22:39:01 +01:00
2026-04-15 21:28:51 +02:00
2026-04-15 21:28:51 +02:00
2026-04-15 21:28:51 +02:00
2026-03-05 22:39:01 +01:00
2026-04-15 21:28:51 +02:00
2026-03-05 22:39:01 +01:00
2026-04-15 21:28:51 +02:00
2026-04-15 21:28:51 +02:00
2026-04-15 21:28:51 +02:00
2026-03-05 22:39:01 +01:00
2026-03-07 10:46:21 +01:00
2026-04-15 21:28:51 +02:00
2026-04-15 21:28:51 +02:00
2026-04-15 21:28:51 +02:00
2026-03-05 22:39:01 +01:00
2026-04-15 21:28:51 +02:00
2026-03-07 10:46:21 +01:00
2026-03-05 22:39:01 +01:00
2026-03-05 22:39:01 +01:00
2026-03-07 10:46:21 +01:00
2026-04-15 21:28:51 +02:00
2026-03-05 22:39:01 +01:00
2026-07-01 20:17:11 +02:00
2026-04-15 21:28:51 +02:00
2026-04-15 21:28:51 +02:00
2026-04-15 21:28:51 +02:00
2026-03-05 22:39:01 +01:00
2026-03-05 22:39:01 +01:00
2026-07-11 19:09:43 -04:00
2026-07-11 19:09:43 -04:00
2026-03-05 22:39:01 +01:00
2026-04-15 21:28:51 +02:00
2026-04-15 21:28:51 +02:00
2026-03-05 22:39:01 +01:00
2026-03-05 22:39:01 +01:00
2026-05-09 11:50:05 +02:00
2026-04-15 21:28:51 +02:00
2026-08-27 14:54:25 +02:00
2026-04-15 21:28:51 +02:00
2026-04-15 21:28:51 +02:00
2026-04-15 21:28:51 +02:00
2026-04-15 21:28:51 +02:00
2026-04-15 21:28:51 +02:00
2026-03-05 22:39:01 +01:00
2026-04-15 21:28:51 +02:00
2026-04-15 21:28:51 +02:00
2026-03-05 22:39:01 +01:00
2026-06-01 18:07:05 +02:00
2026-03-05 22:39:01 +01:00
2026-04-15 21:28:51 +02:00
2026-04-15 21:28:51 +02:00
2026-04-15 21:28:51 +02:00
2026-04-15 21:28:51 +02:00
2026-04-15 21:28:51 +02:00
2026-04-15 21:28:51 +02:00
2026-03-05 22:39:01 +01:00
2026-03-05 22:39:01 +01:00
2026-03-05 22:39:01 +01:00
2026-04-15 21:28:51 +02:00
2026-03-05 22:39:01 +01:00
2026-04-15 21:28:51 +02:00
2026-04-15 21:28:51 +02:00
2026-04-15 21:28:51 +02:00
2026-04-15 21:28:51 +02:00
2026-04-15 21:28:51 +02:00
2026-04-15 21:28:51 +02:00
2026-03-05 22:39:01 +01:00
2026-04-15 21:28:51 +02:00
2026-04-15 21:28:51 +02:00
2026-04-15 21:28:51 +02:00
2026-03-05 22:39:01 +01:00
2026-04-15 21:28:51 +02:00
2026-03-05 22:39:01 +01:00
2026-04-15 21:28:51 +02:00
2026-04-15 21:28:51 +02:00
2026-04-15 21:28:51 +02:00
2026-04-15 21:28:51 +02:00
2026-04-15 21:28:51 +02:00
2026-04-15 21:28:51 +02:00
2026-04-15 21:28:51 +02:00
2026-03-05 22:39:01 +01:00
2026-03-05 22:39:01 +01:00
2026-03-05 22:39:01 +01:00
2026-04-15 21:28:51 +02:00
2026-03-05 22:39:01 +01:00
2026-04-15 21:28:51 +02:00
2026-03-05 22:39:01 +01:00
2026-03-05 22:39:01 +01:00
2026-04-15 21:28:51 +02:00
2026-04-15 21:28:51 +02:00
2026-03-07 18:01:27 +01:00
2026-03-05 22:39:01 +01:00
2026-03-05 22:39:01 +01:00
2026-03-05 22:39:01 +01:00
2026-04-15 21:28:51 +02:00
2026-10-13 22:31:07 +02:00
2026-10-13 22:31:07 +02:00
2026-07-11 19:09:43 -04:00
2026-07-11 19:09:43 -04:00
2026-10-11 02:08:58 +02:00
2026-10-06 02:44:56 +02:00
2026-07-09 14:09:39 -05:00
2026-04-01 23:22:44 +02:00
2026-03-15 19:26:12 +01:00
2026-07-11 19:09:43 -04:00
2026-07-11 19:09:43 -04:00
2026-10-11 02:08:58 +02:00
2026-10-13 18:33:40 +02:00
2026-09-20 23:36:54 +08:00
2026-10-13 18:33:40 +02:00
2026-10-12 22:25:56 +02:00
2026-10-12 22:25:56 +02:00
2026-10-11 02:08:58 +02:00
2026-10-13 00:33:07 +02:00
2026-10-13 00:33:07 +02:00
2026-10-06 02:44:56 +02:00
2026-10-06 02:44:56 +02:00
2026-09-25 19:15:43 +02:00
2026-09-25 19:15:43 +02:00
2026-09-25 18:37:16 +02:00
2026-07-03 20:16:39 +02:00
2026-03-05 22:39:01 +01:00
2026-08-06 16:06:43 +02:00
2026-08-06 16:06:43 +02:00