diff --git a/vendor/go.uber.org/atomic/bool.go b/vendor/go.uber.org/atomic/bool.go
index 209df7b..9cf1914 100644
--- a/vendor/go.uber.org/atomic/bool.go
+++ b/vendor/go.uber.org/atomic/bool.go
@@ -1,6 +1,6 @@
 // @generated Code generated by gen-atomicwrapper.
 
-// 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,10 +36,10 @@
 var _zeroBool bool
 
 // NewBool creates a new Bool.
-func NewBool(val bool) *Bool {
+func NewBool(v bool) *Bool {
 	x := &Bool{}
-	if val != _zeroBool {
-		x.Store(val)
+	if v != _zeroBool {
+		x.Store(v)
 	}
 	return x
 }
@@ -50,19 +50,19 @@
 }
 
 // Store atomically stores the passed bool.
-func (x *Bool) Store(val bool) {
-	x.v.Store(boolToInt(val))
+func (x *Bool) Store(v bool) {
+	x.v.Store(boolToInt(v))
 }
 
 // CAS is an atomic compare-and-swap for bool values.
-func (x *Bool) CAS(old, new bool) (swapped bool) {
-	return x.v.CAS(boolToInt(old), boolToInt(new))
+func (x *Bool) CAS(o, n bool) bool {
+	return x.v.CAS(boolToInt(o), boolToInt(n))
 }
 
 // Swap atomically stores the given bool and returns the old
 // value.
-func (x *Bool) Swap(val bool) (old bool) {
-	return truthy(x.v.Swap(boolToInt(val)))
+func (x *Bool) Swap(o bool) bool {
+	return truthy(x.v.Swap(boolToInt(o)))
 }
 
 // MarshalJSON encodes the wrapped bool into JSON.
