File tree Expand file tree Collapse file tree 2 files changed +14
-5
lines changed Expand file tree Collapse file tree 2 files changed +14
-5
lines changed Original file line number Diff line number Diff line change @@ -187,11 +187,14 @@ extension DartTypeExtension on DartType? {
187
187
bool isAnyInterface (InterfaceType i) =>
188
188
definitions.any ((d) => i.isSameAs (d.name, d.library));
189
189
190
- var self = this ;
191
- if (self is InterfaceType ) {
192
- return isAnyInterface (self) ||
193
- ! self.element.isSynthetic &&
194
- self.element.allSupertypes.any (isAnyInterface);
190
+ var typeToCheck = this ;
191
+ if (typeToCheck is TypeParameterType ) {
192
+ typeToCheck = typeToCheck.typeForInterfaceCheck;
193
+ }
194
+ if (typeToCheck is InterfaceType ) {
195
+ return isAnyInterface (typeToCheck) ||
196
+ ! typeToCheck.element.isSynthetic &&
197
+ typeToCheck.element.allSupertypes.any (isAnyInterface);
195
198
} else {
196
199
return false ;
197
200
}
Original file line number Diff line number Diff line change @@ -82,3 +82,9 @@ testOperators() {
82
82
0 > [].indexOf (1 ); // LINT
83
83
0 >= [].indexOf (1 ); // OK
84
84
}
85
+
86
+ bool f <T extends List <int >>(T list) =>
87
+ list.indexOf (1 ) < 0 ; // LINT
88
+
89
+ bool g <T >(T list) =>
90
+ list is List <int > && list.indexOf (1 ) < 0 ; // LINT
You can’t perform that action at this time.
0 commit comments