Siblings of #3799: call-graph engine defects (dart, haskell, c++, rust)

Open
#6,454 20 comments 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 1 day

Nobody has claimed this yet.

Assessment

Difficulty
5/5
Estimated time
Over a week
Newbie friendliness
35/100
Issue type
Bug
Clarity
Mostly clear
Activity status
Active
Tech stack
cpp, dart, haskell, rust
Domain
devtools

Research direction

Start with the verdict slice in PR #6453 and the parent issue #3799 to understand how the call-graph engine compares against tree-sitter. Reproduce the listed Dart, Haskell, and Rust cases, then trace their parser or call-graph handling; the C++ item is already fixed in #6524. Done when the remaining listed defects are corrected and the verdict slice confirms the expected call-graph results.

Written by the indexing model from the issue text.

Description

bug call-graph priority: medium scope:sweep

Siblings of #3799: engine defects confirmed by the verdict slice in PR #6453 (call-graph, tree-sitter comparison). No burned-estate program needs these.

  • dart: generic invocations f<T>(x) are dropped (shape argument_part/-+generic, 88) (#6550)
  • dart: type names in optional/named parameter lists counted as callees (formal_parameter<optional_formal_parameters, 51) (#6550)
  • haskell: function application by juxtaposition missed (apply/variable 68, apply/apply 53)
  • haskell: constructor application missed (apply/constructor 69)
  • c++: declared type names with = initializers counted as callees (declaration<compound_statement; constructor-style initializers are correct) (#6524)
  • rust: tokens in pattern positions inside matches!-style token trees counted as calls (token_tree<macro_invocation; sibling shape token_tree<token_tree 47 still open)

Part of #3799.

Dominant language
Python
Stars
57
Forks
11
Avg merge
1h 35m
Merged PRs (30d)
975

Getting set up

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from squid-protocol/gitgalaxy

All issues in squid-protocol/gitgalaxy

Similar issues

More Python issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.