blob: 1828544ec88f02a140509298202adf5128e4b22a [file] [log] [blame]
import 'dart:async';
method<T extends Class, S extends int>(Class c, int i, T t, S s) {}
test<T extends Class?, S extends int>(
Class? c1,
GetterCall c2,
int? i,
T t1,
T? t2,
S? s,
void Function<T>()? f1,
Never n,
dynamic d,
String a,
double b,
bool c,
FutureOr<Class> f2,
Function f3) {}
Class c1 = Class();
Class? c2;
GetterCall c3 = GetterCall();
int i1 = 0;
int? i2 = null;
void Function<T>()? f1 = null;
Never n = throw '';
dynamic d = null;
String a = '';
double b = 0.5;
bool c = true;
FutureOr<Class> f2 = Class();
Function f3 = () {};
var topLevel1 = c1<int>;
var topLevel2 = i1<int>;
var topLevel3 = c2<int>;
var topLevel4 = c3<int>;
var topLevel5 = i2<int>;
var topLevel6 = f1<int>;
var topLevel7 = n<int>;
var topLevel8 = d<int>;
var topLevel9 = a<int>;
var topLevel10 = b<int>;
var topLevel11 = c<int>;
var topLevel12 = f2<int>;
var topLevel13 = f3<int>;
class Class {
call<T>() {}
}
class GetterCall {
void Function<T>() get call => <T>() {};
}
extension Extension on int {
call<T>() {}
}
extension ExtensionGetter on double {
void Function<T>() get call => <T>() {};
}
extension ExtensionSetter on bool {
set call(void Function<T>() value) {}
}
extension Ambiguous1 on String {
call<T>() {}
}
extension Ambiguous2 on String {
call<T>() {}
}
main() {}