3 ms·
In practice in means if you write stuff like this: interface Z {} interface N<x> {} interface L<x> {} interface Qlr<x> {} interface Qrl<x> {}
by chvid 10y ago
In practice in means if you write stuff like this:
interface Z {}
interface N<x> {}
interface L<x> {}
interface Qlr<x> {}
interface Qrl<x> {}
interface E<x> extends
Qlr<N<?super Qr<?super E<?super E<?super x>>>>>,
Qrl<N<?super Ql<?super E<?super E<?super x>>>>> {}
interface Ql<x> extends
L<N<?super Ql<?super L<?super N<?super x>>>>>,
E<Qlr<?super N<?super x>>> {}
interface Qr<x> extends
L<N<?super Qr<?super L<?super N<?super x>>>>>,
E<Qrl<?super N<?super x>>> {}
class Main {
L<?super N<?super
L<?super N<?super
L<?super N<?super
E<?super E<?super Z>>>>>>>>
doit(
Qr<? super E<? super E<? super Z>>> v
){
return v;
} }
You can make your compiler:
1. Bark out an odd error. (Loop for a while and then stop due to an internal stack overflow.)
2. Compile something that gives a runtime type error.