Track goroutine pointer usage like unsafe pointers
- Dominant language
- Go
- Stars
- 1
- Forks
- 1
- PR merge metrics
- No merged PRs in 30d
Description
The `pointerescape` analysis pass checks each pointer argument of each function call, whereas the `nogofunc` pass does not. Since we're already doing it for `pointerescape`, it would be simple to determine if a pointer argument is used during a goroutine and thread this information back through the callgraph like we do there.
That _may_ or may not be needed, though. It depends how many false-positives that analyzer is picking up.
Contributor guide
Research direction
Start by reading the `pointerescape` and `nogofunc` analysis passes and the existing callgraph propagation used by `pointerescape`. Determine how often `nogofunc` produces false positives before deciding whether pointer arguments used during goroutines need equivalent tracking. Done means the analyzer's behavior is updated only if that investigation shows the tracking is needed.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- go
- Domain
- devtools
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100