avoid_as
Avoid using as.
This rule has been removed as of the latest Dart releases.
Details
AVOID using as.
If you know the type is correct, use an assertion or assign to a more
narrowly-typed variable (this avoids the type check in release mode; as is not
compiled out in release mode). If you don’t know whether the type is
correct, check using is (this avoids the exception that as raises).
BAD:
(pm as Person).firstName = 'Seth';
GOOD:
if (pm is Person)
pm.firstName = 'Seth';
but certainly not
BAD:
try {
(pm as Person).firstName = 'Seth';
} on CastError { }
Note that an exception is made in the case of dynamic since the cast has no
performance impact.
OK:
HasScrollDirection scrollable = renderObject as dynamic;
Usage
To enable the avoid_as rule,
add avoid_as under linter > rules in your
analysis_options.yaml
file:
linter:
rules:
- avoid_as