Skip to content

cmd/cue: exp gengotypes fails to handle conflicting imports #3974

@phoban01

Description

@phoban01

What version of CUE are you using (cue version)?

cue version v0.13.1

go version go1.24.4
      -buildmode exe
       -compiler gc
       -trimpath true
     CGO_ENABLED 0
          GOARCH arm64
            GOOS darwin
         GOARM64 v8.0
cue.lang.version v0.13.0

Does this issue reproduce with the latest stable release?

Yes

What did you do?

Execute cue exp gengotypes with the following source:

package v1alpha1

import (
	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
	apiextensionsv1 "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1"
)

#Object: {
	metadata: metav1.ObjectMeta @go(,type="k8s.io/apimachinery/pkg/apis/meta/v1".ObjectMeta)
	values: apiextensionsv1.JSON @go(,type="k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1".JSON)
}

What did you expect to see?

// Code generated by "cue exp gengotypes"; DO NOT EDIT.

package v1alpha1

import (
	apiextensionsv1 "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1"
	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
)

type Object struct {
	Metadata metav1.ObjectMeta `json:"metadata"`

	Values apiextensionsv1.JSON `json:"values"`
}

What did you see instead?

The generated Go-code cannot be compiled because the imports contain conflicting package names.

// Code generated by "cue exp gengotypes"; DO NOT EDIT.

package v1alpha1

import (
	"k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1"
	"k8s.io/apimachinery/pkg/apis/meta/v1"
)

type Object struct {
	Metadata v1.ObjectMeta `json:"metadata"`

	Values v1.JSON `json:"values"`
}

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions