Consider the following code:
class A<X extends int> {}
foo(A<num> x) {
bar(A<num> y) {}
}
When run with dart the error is reported for foo, but not for bar:
$ dart /tmp/asdf.dart
/tmp/asdf.dart:5:12: Error: Type argument 'num' doesn't conform to the bound 'int' of the type variable 'X' on 'A'.
Try changing type arguments so that they conform to the bounds.
foo(A<num> x) {
^
/tmp/asdf.dart:3:9: Context: This is the type variable whose bound isn't conformed to.
class A<X extends int> {}
^