Closed
Description
Reproduced on 2.0.0-dev.3.0
void func<T>(List<T> list, int compare(T a, T b), List<T> target) {
func(list, compare, target);
// ^ uses_dynamic_as_bottom
func(list, compare, <T>[]);
// ^ fine
func(list, compare, target as List<T>);
// ^ fine ^ unnecessary_cast
func(list, compare, list);
// ^ fine
}