tektoncd/pipeline

struct `pipelineTask` has a mix value and pointer receivers

Aberta

#7.092 aberto em 5 de set. de 2023

 (6 comentários) (1 reação) (1 responsável)Go (1.943 forks)auto 404
area/apigood first issuekind/bug

Métricas do repositório

Stars
 (9.013 estrelas)
Métricas de merge de PR
 (Mesclagem média 9d 3h) (137 fundiu PRs em 30d)

Description

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

Guia do colaborador