Open pohly opened 4 months ago
Side note: apidiff also treats https://github.com/kubernetes/kubernetes/commit/0c7370bb851c15825d30a516722139ccccca0cfc as an incompatible change:
Incompatible changes:
- ./util/workqueue.BucketRateLimiter: changed from BucketRateLimiter to TypedBucketRateLimiter[any]
- ./util/workqueue.DelayingQueueConfig: changed from DelayingQueueConfig to TypedDelayingQueueConfig[any]
- ./util/workqueue.ItemExponentialFailureRateLimiter: changed from ItemExponentialFailureRateLimiter to TypedItemExponentialFailureRateLimiter[any]
- ./util/workqueue.ItemFastSlowRateLimiter: changed from ItemFastSlowRateLimiter to TypedItemFastSlowRateLimiter[any]
- ./util/workqueue.MaxOfRateLimiter: changed from MaxOfRateLimiter to TypedMaxOfRateLimiter[any]
- ./util/workqueue.New: changed from func() *Type to func() *Typed[any]
- ./util/workqueue.NewDelayingQueueWithConfig: changed from func(DelayingQueueConfig) DelayingInterface to func(TypedDelayingQueueConfig[any]) DelayingInterface
- ./util/workqueue.NewMaxOfRateLimiter: changed from func(...RateLimiter) RateLimiter to func(...TypedRateLimiter[any]) RateLimiter
- ./util/workqueue.NewNamed: changed from func(string) *Type to func(string) *Typed[any]
- ./util/workqueue.NewRateLimitingQueueWithConfig: changed from func(RateLimiter, RateLimitingQueueConfig) RateLimitingInterface to func(RateLimiter, TypedRateLimitingQueueConfig[any]) RateLimitingInterface
- ./util/workqueue.NewWithConfig: changed from func(QueueConfig) *Type to func(TypedQueueConfig[any]) *Typed[any]
- ./util/workqueue.QueueConfig: changed from QueueConfig to TypedQueueConfig[any]
- ./util/workqueue.RateLimitingQueueConfig: changed from RateLimitingQueueConfig to TypedRateLimitingQueueConfig[any]
- ./util/workqueue.Type: changed from Type to Typed[any]
- ./util/workqueue.WithMaxWaitRateLimiter: changed from WithMaxWaitRateLimiter to TypedWithMaxWaitRateLimiter[any]
I think at least some of these are false positives. I can file a separate issue if desired.
Go version
go version go1.22.0 linux/amd64
Output of
go env
in your module/workspace:What did you do?
I am running
apidiff -w
twice, then compare the exported data. Specific steps:git checkout 17854f0e0a153b06f9d0db096e2cd8ab2fa89c11
(or later - needs to include https://github.com/kubernetes/kubernetes/commit/0c7370bb851c15825d30a516722139ccccca0cfc).go install golang.org/x/exp/cmd/apidiff@v0.0.0-20240416160154-fe59bbe5cc7f
(current latest)apidiff -m -w /tmp/after.out ./staging/src/k8s.io/client-go
apidiff -m /tmp/after.out /tmp/after.out
(same file!)What did you see happen?
Note that e.g.
type BucketRateLimiter = TypedBucketRateLimiter[any]
. There is noTypedBucketRateLimiter[T comparable]
.What did you expect to see?
No changes because the exported data is identical.