Noop primitive operations.

This rule is available as of Dart 2.14.0.

This rule has a quick fix available.

Details

#

Some operations on primitive types are idempotent and can be removed.

BAD:

dart
doubleValue.toDouble();

intValue.toInt();
intValue.round();
intValue.ceil();
intValue.floor();
intValue.truncate();

string.toString();
string = 'hello\n'
    ''
    'world';

'string with ${x.toString()}';

Note that the empty string literals at the beginning or end of a string are allowed, as they are typically used to format the string literal across multiple lines:

dart
// OK
string = ''
    'hello\n'
    'world\n';

// OK
string = 'hello\n'
    'world\n'
    '';


## Usage

To enable the `noop_primitive_operations` rule,
add `noop_primitive_operations` under **linter > rules** in your
[`analysis_options.yaml`](/tools/analysis) file:

```yaml title="analysis_options.yaml"
linter:
  rules:
    - noop_primitive_operations