pi-lens
Version:
Real-time code feedback for pi — LSP, linters, formatters, type-checking, structural analysis & booboo
53 lines (43 loc) • 1.05 kB
YAML
# Go Reliability
# Detects discarded call results using blank identifier assignment.
id: go-ignored-call-result
name: Ignored Call Result
severity: warning
category: error-handling
defect_class: silent-error
inline_tier: warning
language: go
message: "Call result assigned to '_' — verify this discard is intentional"
description: |
Assigning a call result to `_` can hide failures or important return values.
✅ FIX: handle the returned value/error or document intentional discard.
query: |
[
(short_var_declaration
left: (expression_list
(identifier) @VAR)
right: (expression_list
(call_expression) @CALL)
(#eq? @VAR "_"))
(assignment_statement
left: (expression_list
(identifier) @VAR)
right: (expression_list
(call_expression) @CALL)
(#eq? @VAR "_"))
]
metavars:
- VAR
- CALL
has_fix: false
tags:
- go
- reliability
- code-smell
examples:
bad: |
_ = doWork()
good: |
if err := doWork(); err != nil {
return err
}