diff --git a/vendor/go.uber.org/atomic/int32.go b/vendor/go.uber.org/atomic/int32.go
index 640ea36..18ae564 100644
--- a/vendor/go.uber.org/atomic/int32.go
+++ b/vendor/go.uber.org/atomic/int32.go
@@ -1,6 +1,6 @@
 // @generated Code generated by gen-atomicint.
 
-// Copyright (c) 2020-2021 Uber Technologies, Inc.
+// Copyright (c) 2020 Uber Technologies, Inc.
 //
 // Permission is hereby granted, free of charge, to any person obtaining a copy
 // of this software and associated documentation files (the "Software"), to deal
@@ -36,8 +36,8 @@
 }
 
 // NewInt32 creates a new Int32.
-func NewInt32(val int32) *Int32 {
-	return &Int32{v: val}
+func NewInt32(i int32) *Int32 {
+	return &Int32{v: i}
 }
 
 // Load atomically loads the wrapped value.
@@ -46,13 +46,13 @@
 }
 
 // Add atomically adds to the wrapped int32 and returns the new value.
-func (i *Int32) Add(delta int32) int32 {
-	return atomic.AddInt32(&i.v, delta)
+func (i *Int32) Add(n int32) int32 {
+	return atomic.AddInt32(&i.v, n)
 }
 
 // Sub atomically subtracts from the wrapped int32 and returns the new value.
-func (i *Int32) Sub(delta int32) int32 {
-	return atomic.AddInt32(&i.v, -delta)
+func (i *Int32) Sub(n int32) int32 {
+	return atomic.AddInt32(&i.v, -n)
 }
 
 // Inc atomically increments the wrapped int32 and returns the new value.
@@ -66,18 +66,18 @@
 }
 
 // CAS is an atomic compare-and-swap.
-func (i *Int32) CAS(old, new int32) (swapped bool) {
+func (i *Int32) CAS(old, new int32) bool {
 	return atomic.CompareAndSwapInt32(&i.v, old, new)
 }
 
 // Store atomically stores the passed value.
-func (i *Int32) Store(val int32) {
-	atomic.StoreInt32(&i.v, val)
+func (i *Int32) Store(n int32) {
+	atomic.StoreInt32(&i.v, n)
 }
 
 // Swap atomically swaps the wrapped int32 and returns the old value.
-func (i *Int32) Swap(val int32) (old int32) {
-	return atomic.SwapInt32(&i.v, val)
+func (i *Int32) Swap(n int32) int32 {
+	return atomic.SwapInt32(&i.v, n)
 }
 
 // MarshalJSON encodes the wrapped int32 into JSON.
