dart-code-checker / dart-code-metrics

Software analytics tool that helps developers analyse and improve software quality.
https://dcm.dev
Other
860 stars 265 forks source link

[BUG] avoid-dynamic False Positive #1234

Open g5becks opened 1 year ago

g5becks commented 1 year ago

Environment and configuration

DCM version: dart_code_metrics: ^5.7.4 Dart SDK version: 3.0.0 (stable)

Configuration ```yaml dart_code_metrics: extends: - package:dart_code_metrics_presets/all.yaml metrics-exclude: - test/** rules: - avoid-late-keyword: false - prefer-static-class: false - no-magic-number: false - format-comment: false ```

What did you do?


import 'package:rxdart/rxdart.dart' show ReplaySubject;
import 'package:technical_indicators/src/types.dart';

import 'quotes.dart';
import 'util.dart';

Decimal _d(String s) => Decimal.parse(s);

typedef Series<T> = Stream<T>;

typedef QuoteSeries = ReplaySubject<Quote>;

What did you expect to happen?

No dynamic types were used, so I expect the warning not to appear.

What actually happened?

Entire codebase is giving the waring for avoid-dynamic based on this one usage , even though a dynamic type was never used.

The typedef for QuoteSeries is where the warning begins to appear, and continues anywhere else the type is used in the library.

Participation

Additional comments

No response

incendial commented 1 year ago

@g5becks do you have the same problem if you use any Dart version below 3.0?

g5becks commented 1 year ago

@g5becks do you have the same problem if you use any Dart version below 3.0?

I actually haven't tried that. I will give a test and report back.