← back to index

S2757 — Non-existent operators like "=+" should not be used

Language: VB.NET  |  Type: BUG  |  Severity: Major

Why is this an issue?

Using operator pairs (=+ or =-) that look like reversed single operators (+= or -=) is confusing. They compile and run but do not produce the same result as their mirrored counterpart.

Dim target As Integer = -5
Dim num As Integer = 3

target =- num ' Noncompliant: target = -3. Is that the intended behavior?
target =+ num ' Noncompliant: target = 3

This rule raises an issue when =+ or =- are used without any space between the operators and when there is at least one whitespace after.

Replace the operators with a single one if that is the intention

Dim num As Integer = 3

target -= num  ' target = -8

Or fix the spacing to avoid confusion

Dim num As Integer = 3

target = -num  // target = -3