golang/go
Ver no GitHubx/tools/gopls/internal/analysis/modernize: add pass to use reflect.TypeAssert
Open
#75.422 aberto em 11 de set. de 2025
AnalysisFeatureRequestToolsgoplshelp wanted
Métricas do repositório
- Stars
- (133.883 stars)
- Métricas de merge de PR
- (Nenhuma PRs mesclada em 30d)
Description
https://go.dev/cl/702735 replaced v.Interface().(T) with reflect.TypeAssert[T](v), where v is a reflect.Value, and demonstrated a significant performance improvement. Although the new code is 7 chars longer, it is more direct and arguably clearer. We should add a modernizer to automate this transformation when v.Interface().(T) appears in a two-value (x, ok := ...) context in a file using go1.25 or later. The doc comment for TypeAssert states that they are "semantically equivalent".