equal
deleted
inserted
replaced
1 /* |
|
2 * @test /nodynamiccopyright/ |
|
3 * @bug 8207224 |
|
4 * @summary Javac compiles source code despite illegal use of unchecked conversions |
|
5 * @compile/fail/ref=ReturnTypeSubstitutableTest.out -XDrawDiagnostics ReturnTypeSubstitutableTest.java |
|
6 * @compile -source 12 ReturnTypeSubstitutableTest.java |
|
7 */ |
|
8 |
|
9 class ReturnTypeSubstitutableTest { |
|
10 abstract class AbstractDemo<Request extends AbstractResult, Response extends AbstractResult> { |
|
11 protected abstract Response test(Request request); |
|
12 } |
|
13 |
|
14 abstract interface AbstractResult {} |
|
15 |
|
16 abstract interface SimpleResult extends AbstractResult {} |
|
17 |
|
18 class Result1 implements SimpleResult {} |
|
19 |
|
20 class OtherResult implements AbstractResult {} |
|
21 |
|
22 public class SimpleDemo<Request extends AbstractResult, Response extends AbstractResult> extends AbstractDemo<Request, Response> { |
|
23 @Override |
|
24 protected SimpleResult test(AbstractResult request) { |
|
25 return null; |
|
26 } |
|
27 } |
|
28 } |
|