2021-01-28 15:53:33 +01:00
Calling the ``+``, ``++-++``, ``++~++`` or ``++NOT++`` prefix operator twice does nothing: the second invocation undoes the first. Such mistakes are typically caused by accidentally double-tapping the key in question without noticing.
2020-06-30 12:48:07 +02:00
2021-02-02 15:02:10 +01:00
2020-06-30 12:48:07 +02:00
Either this is a bug, if the operator was actually meant to be called once, or misleading if done on purpose.
== Noncompliant Code Example
----
DECLARE @v1 INTEGER = 1
DECLARE @v2 INTEGER = - - -@v1 -- Noncompliant; -@v1 should be used instead
DECLARE @v3 INTEGER = ~~~@v1 -- Noncompliant; ~@v1 should be used instead
DECLARE @v4 INTEGER = ++@v1 -- Noncompliant; operators are useless here
IF NOT NOT @v1 <> @v2 -- Noncompliant
BEGIN
PRINT @msg
END
----
== Compliant Solution
----
DECLARE @v1 INTEGER = 1
DECLARE @v2 INTEGER = -@v1
DECLARE @v3 INTEGER = ~@v1
DECLARE @v4 INTEGER = @v1
IF @v1 <> @v2
BEGIN
PRINT @msg
END
----
2021-06-02 20:44:38 +02:00
2021-06-03 09:05:38 +02:00
ifdef::env-github,rspecator-view[]
2021-09-20 15:38:42 +02:00
'''
== Implementation Specification
(visible only on this page)
include::../message.adoc[]
2021-06-08 15:52:13 +02:00
'''
2021-06-02 20:44:38 +02:00
== Comments And Links
(visible only on this page)
include::../comments-and-links.adoc[]
2021-06-03 09:05:38 +02:00
endif::env-github,rspecator-view[]