O restricție generică (T extends ...) restricționează ce tipuri poate fi un parametru generic, pentru ca tu să poți folosi în siguranță anumite proprietăți sau metode pe el. Fără o restricție, un generic poate fi orice, deci nu poți presupune că are niciun membru.
longestBad<T>(: T, : T) {
a. > b. ? a : b;
}
longest<T { : }>(: T, : T): T {
a. > b. ? a : b;
}
(, );
([, ], []);
(, );
