tektoncd/pipeline

struct `pipelineTask` has a mix value and pointer receivers

オープン

#7,092 opened on 2023/09/05

 (6 件のコメント) (1 件のリアクション) (1 人の担当者)Go (1,943 件のフォーク)auto 404
area/apigood first issuekind/bug

Repository metrics

Stars
 (9,013 個のスター)
PR merge metrics
 (PR metrics pending)

説明

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

コントリビューターガイド