== Why is this an issue?

Variant functions are inefficient by nature, and should not be used with strings when string-specific versions, denoted by a ``++$++`` at the end of the name, are available.


This rule flags instances of these functions:

``++Left()++``, ``++Mid()++``, ``++Right()++``, ``++Chr()++``, ``++ChrW()++``, ``++UCase()++``, ``++LCase()++``, ``++LTrim()++``, ``++RTrim()++``, ``++Trim()++``, ``++Space()++``, ``++String()++``, ``++Format()++``, ``++Hex()++``, ``++Oct(),++`` ``++Str()++``, ``++Error++``


=== Noncompliant code example

[source,vb6]
----
TrimString = Trim(TestString)
----


=== Compliant solution

[source,vb6]
----
TrimString = Trim$(TestString)
----

ifdef::env-github,rspecator-view[]

'''
== Implementation Specification
(visible only on this page)

=== Message

Replace this use of XXX with XXX$


endif::env-github,rspecator-view[]
