tektoncd/pipeline

struct `pipelineTask` has a mix value and pointer receivers

开放

#7,092 创建于 2023年9月5日

 (6 条评论) (1 个反应) (1 位负责人)Go (1,943 个派生)auto 404
area/apigood first issuekind/bug

仓库指标

星标
 (9,013 个星标)
PR 合并指标
 (PR 指标待抓取)

描述

We have a mix of value and pointer receiver functions for pipelineTask:

grep -r "func (pt \*PipelineTask)" pkg/apis/pipeline/v1/
pkg/apis/pipeline/v1//pipeline_types.go:func (pt *PipelineTask) IsMatrixed() bool {
pkg/apis/pipeline/v1//pipeline_types.go:func (pt *PipelineTask) TaskSpecMetadata() PipelineTaskMetadata {
pkg/apis/pipeline/v1//pipeline_defaults.go:func (pt *PipelineTask) SetDefaults(ctx context.Context) {
pkg/apis/pipeline/v1//pipeline_validation.go:func (pt *PipelineTask) validateBetaFields(ctx context.Context) *apis.FieldError {
pkg/apis/pipeline/v1//pipeline_validation.go:func (pt *PipelineTask) validateMatrix(ctx context.Context) (errs *apis.FieldError) {
pkg/apis/pipeline/v1//pipeline_validation.go:func (pt *PipelineTask) validateResultsFromMatrixedPipelineTasksNotConsumed(matrixedPipelineTasks sets.String) (errs *apis.FieldError) {
pkg/apis/pipeline/v1//pipeline_validation.go:func (pt *PipelineTask) validateWorkspaces(workspaceNames sets.String) (errs *apis.FieldError) {
pkg/apis/pipeline/v1//pipeline_validation.go:func (pt *PipelineTask) extractAllParams() Params {
pkg/apis/pipeline/v1//pipeline_validation.go:func (pt *PipelineTask) validateExecutionStatusVariablesDisallowed() (errs *apis.FieldError) {
pkg/apis/pipeline/v1//pipeline_validation.go:func (pt *PipelineTask) validateExecutionStatusVariablesAllowed(ptNames sets.String) (errs *apis.FieldError) {
grep -r "func (pt PipelineTask)" pkg/apis/pipeline/v1/ 
pkg/apis/pipeline/v1//pipeline_types.go:func (pt PipelineTask) HashKey() string {
pkg/apis/pipeline/v1//pipeline_types.go:func (pt PipelineTask) Deps() []string {
pkg/apis/pipeline/v1//pipeline_validation.go:func (pt PipelineTask) ValidateName() *apis.FieldError {
pkg/apis/pipeline/v1//pipeline_validation.go:func (pt PipelineTask) Validate(ctx context.Context) (errs *apis.FieldError) {
pkg/apis/pipeline/v1//pipeline_validation.go:func (pt PipelineTask) validateEmbeddedOrType() (errs *apis.FieldError) {
pkg/apis/pipeline/v1//pipeline_validation.go:func (pt PipelineTask) validateRefOrSpec() (errs *apis.FieldError) {
pkg/apis/pipeline/v1//pipeline_validation.go:func (pt PipelineTask) validateCustomTask() (errs *apis.FieldError) {
pkg/apis/pipeline/v1//pipeline_validation.go:func (pt PipelineTask) validateTask(ctx context.Context) (errs *apis.FieldError) {

Such usage is not recommended by the Go documentation:

Struct PipelineTask has methods on both value and pointer receivers. Such usage is not recommended by the Go Documentation. 

Evaluate which one is the best approach and convert all of them to one common syntax.

/kind bug

贡献者指南