avoid_type_to_string
Using 'toString' on a 'Type' is not safe in production code.
Description
#The analyzer produces this diagnostic when the method toString
is invoked on a value whose static type is Type
.
Example
#The following code produces this diagnostic because the method toString
is invoked on the Type
returned by runtimeType
:
bool isC(Object o) => o.runtimeType.toString() == 'C';
class C {}
Common fixes
#If it's essential that the type is exactly the same, then use an explicit comparison:
bool isC(Object o) => o.runtimeType == C;
class C {}
If it's alright for instances of subtypes of the type to return true
, then use a type check:
bool isC(Object o) => o is C;
class C {}
Unless stated otherwise, the documentation on this site reflects Dart 3.7.3. Page last updated on 2025-05-08. View source or report an issue.