Примеры ошибок, обнаруженных с помощью диагностики V8015
V8015. Suspicious use of the bitwise XOR operator '^'. The exponentiation operation may have been intended here.
calico
V8015 Suspicious use of the bitwise XOR operator '^'. The exponentiation operation may have been intended here. flattener.go 187
func parsePorts(portsStr string) *bitset.BitSet {
setOfPorts := bitset.New(2 ^ 16 + 1) // <=
for _, p := range strings.Split(portsStr, ",") {
if strings.Contains(p, "-") {
// Range
parts := strings.Split(p, "-")
low, err := strconv.Atoi(parts[0])
if err != nil {
panic(err)
}
high, err := strconv.Atoi(parts[1])
if err != nil {
panic(err)
}
for port := low; port <= high; port++ {
setOfPorts.Set(uint(port))
}
} else {
// Single value
port, err := strconv.Atoi(p)
if err != nil {
panic(err)
}
setOfPorts.Set(uint(port))
}
}
return setOfPorts
}
lancet
V8015 Suspicious use of the bitwise XOR operator '^'. The exponentiation operation may have been intended here. arrayqueue.go 87
func (q *ArrayQueue[T]) Enqueue(item T) bool {
if q.tail < q.capacity {
q.data = append(q.data, item)
// q.tail++
q.data[q.tail] = item
} else {
//upgrade
if q.head > 0 {
....
} else {
if q.capacity < 65536 {
if q.capacity == 0 {
q.capacity = 1
}
q.capacity *= 2
} else {
q.capacity += 2 ^ 16 // <=
}
tmp := make([]T, q.capacity, q.capacity)
copy(tmp, q.data)
q.data = tmp
}
q.data[q.tail] = item
}
q.tail++
q.size++
return true
}