# HG changeset patch # User peterz # Date 1429721055 25200 # Node ID cd6eb36db1bbeb5b638a577059ecf0a4c4a90b82 # Parent babff83eb5c2bf4e6fd29a0236c569ade84f5d7d 8078024: javac, several incorporation steps are silently failing when an error should be reported Reviewed-by: phh, andrew diff -r babff83eb5c2 -r cd6eb36db1bb src/share/classes/com/sun/tools/javac/comp/Infer.java --- a/src/share/classes/com/sun/tools/javac/comp/Infer.java Mon Feb 22 06:57:59 2021 +0000 +++ b/src/share/classes/com/sun/tools/javac/comp/Infer.java Wed Apr 22 09:44:15 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1999, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1999, 2015, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -733,7 +733,9 @@ Infer infer = inferenceContext.infer(); for (Type b1 : uv.getBounds(InferenceBound.UPPER)) { for (Type b2 : uv.getBounds(InferenceBound.LOWER)) { - isSubtype(inferenceContext.asUndetVar(b2), inferenceContext.asUndetVar(b1), warn , infer); + if (!isSubtype(inferenceContext.asUndetVar(b2), inferenceContext.asUndetVar(b1), warn , infer)) { + infer.reportBoundError(uv, BoundErrorKind.BAD_UPPER_LOWER); + } } } } @@ -747,7 +749,9 @@ Infer infer = inferenceContext.infer(); for (Type b1 : uv.getBounds(InferenceBound.UPPER)) { for (Type b2 : uv.getBounds(InferenceBound.EQ)) { - isSubtype(inferenceContext.asUndetVar(b2), inferenceContext.asUndetVar(b1), warn, infer); + if (!isSubtype(inferenceContext.asUndetVar(b2), inferenceContext.asUndetVar(b1), warn, infer)) { + infer.reportBoundError(uv, BoundErrorKind.BAD_UPPER_EQUAL); + } } } } @@ -761,7 +765,9 @@ Infer infer = inferenceContext.infer(); for (Type b1 : uv.getBounds(InferenceBound.EQ)) { for (Type b2 : uv.getBounds(InferenceBound.LOWER)) { - isSubtype(inferenceContext.asUndetVar(b2), inferenceContext.asUndetVar(b1), warn, infer); + if (!isSubtype(inferenceContext.asUndetVar(b2), inferenceContext.asUndetVar(b1), warn, infer)) { + infer.reportBoundError(uv, BoundErrorKind.BAD_EQUAL_LOWER); + } } } } @@ -826,7 +832,9 @@ for (Type b1 : uv.getBounds(InferenceBound.EQ)) { for (Type b2 : uv.getBounds(InferenceBound.EQ)) { if (b1 != b2) { - isSameType(inferenceContext.asUndetVar(b2), inferenceContext.asUndetVar(b1), infer); + if (!isSameType(inferenceContext.asUndetVar(b2), inferenceContext.asUndetVar(b1), infer)) { + infer.reportBoundError(uv, BoundErrorKind.BAD_EQ); + } } } } @@ -1112,6 +1120,46 @@ } }, /** + * The (uninstantiated) inference variable has incompatible equality constraints. + */ + BAD_EQ() { + @Override + InapplicableMethodException setMessage(InferenceException ex, UndetVar uv) { + return ex.setMessage("incompatible.eq.bounds", uv.qtype, + uv.getBounds(InferenceBound.EQ)); + } + }, + /** + * The (uninstantiated) inference variable has incompatible upper lower bounds. + */ + BAD_UPPER_LOWER() { + @Override + InapplicableMethodException setMessage(InferenceException ex, UndetVar uv) { + return ex.setMessage("incompatible.upper.lower.bounds", uv.qtype, + uv.getBounds(InferenceBound.UPPER), uv.getBounds(InferenceBound.LOWER)); + } + }, + /** + * The (uninstantiated) inference variable has incompatible upper equal bounds. + */ + BAD_UPPER_EQUAL() { + @Override + InapplicableMethodException setMessage(InferenceException ex, UndetVar uv) { + return ex.setMessage("incompatible.upper.eq.bounds", uv.qtype, + uv.getBounds(InferenceBound.UPPER), uv.getBounds(InferenceBound.EQ)); + } + }, + /** + * The (uninstantiated) inference variable has incompatible upper equal bounds. + */ + BAD_EQUAL_LOWER() { + @Override + InapplicableMethodException setMessage(InferenceException ex, UndetVar uv) { + return ex.setMessage("incompatible.eq.lower.bounds", uv.qtype, + uv.getBounds(InferenceBound.EQ), uv.getBounds(InferenceBound.LOWER)); + } + }, + /** * An equality constraint is not compatible with an upper bound. */ BAD_EQ_UPPER() { diff -r babff83eb5c2 -r cd6eb36db1bb src/share/classes/com/sun/tools/javac/resources/compiler.properties --- a/src/share/classes/com/sun/tools/javac/resources/compiler.properties Mon Feb 22 06:57:59 2021 +0000 +++ b/src/share/classes/com/sun/tools/javac/resources/compiler.properties Wed Apr 22 09:44:15 2015 -0700 @@ -1893,6 +1893,10 @@ compiler.misc.incompatible.upper.bounds=\ inference variable {0} has incompatible upper bounds {1} +# 0: type, 1: list of type +compiler.misc.incompatible.eq.bounds=\ + inference variable {0} has incompatible equality constraints {1} + # 0: type, 1: list of type, 2: list of type compiler.misc.incompatible.eq.upper.bounds=\ inference variable {0} has incompatible bounds\n\ @@ -1900,6 +1904,24 @@ upper bounds: {2} # 0: type, 1: list of type, 2: list of type +compiler.misc.incompatible.upper.lower.bounds=\ + inference variable {0} has incompatible bounds\n\ + upper bounds: {1}\n\ + lower bounds: {2} + +# 0: type, 1: list of type, 2: list of type +compiler.misc.incompatible.upper.eq.bounds=\ + inference variable {0} has incompatible bounds\n\ + upper bounds: {1}\n\ + equality constraints: {2} + +# 0: type, 1: list of type, 2: list of type +compiler.misc.incompatible.eq.lower.bounds=\ + inference variable {0} has incompatible bounds\n\ + equality constraints: {1}\n\ + lower bounds: {2} + +# 0: type, 1: list of type, 2: list of type compiler.misc.incompatible.eq.lower.bounds=\ inference variable {0} has incompatible bounds\n\ equality constraints: {1}\n\ @@ -2522,6 +2544,7 @@ compiler.misc.where.description.typevar.1=\ where {0} are type-variables: +# 0: set of type compiler.misc.where.description.intersection.1=\ where {0} are intersection types: diff -r babff83eb5c2 -r cd6eb36db1bb test/tools/javac/Diagnostics/6722234/T6722234b.java --- a/test/tools/javac/Diagnostics/6722234/T6722234b.java Mon Feb 22 06:57:59 2021 +0000 +++ b/test/tools/javac/Diagnostics/6722234/T6722234b.java Wed Apr 22 09:44:15 2015 -0700 @@ -1,6 +1,6 @@ /** * @test /nodynamiccopyright/ - * @bug 6722234 + * @bug 6722234 8078024 * @summary javac diagnostics need better integration with the type-system * @author mcimadamore * @compile/fail/ref=T6722234b_1.out -XDrawDiagnostics -XDdiags=simpleNames T6722234b.java diff -r babff83eb5c2 -r cd6eb36db1bb test/tools/javac/Diagnostics/6722234/T6722234b_1.out --- a/test/tools/javac/Diagnostics/6722234/T6722234b_1.out Mon Feb 22 06:57:59 2021 +0000 +++ b/test/tools/javac/Diagnostics/6722234/T6722234b_1.out Wed Apr 22 09:44:15 2015 -0700 @@ -1,2 +1,2 @@ -T6722234b.java:16:9: compiler.err.cant.apply.symbol: kindname.method, m, List,List, List,List, kindname.class, T6722234b, (compiler.misc.inferred.do.not.conform.to.eq.bounds: compiler.misc.type.captureof: 2, ? extends T6722234b, compiler.misc.type.captureof: 2, ? extends T6722234b,compiler.misc.type.captureof: 1, ? extends T6722234b) +T6722234b.java:16:9: compiler.err.cant.apply.symbol: kindname.method, m, List,List, List,List, kindname.class, T6722234b, (compiler.misc.incompatible.eq.bounds: T, compiler.misc.type.captureof: 2, ? extends T6722234b,compiler.misc.type.captureof: 1, ? extends T6722234b) 1 error diff -r babff83eb5c2 -r cd6eb36db1bb test/tools/javac/Diagnostics/6722234/T6722234b_2.out --- a/test/tools/javac/Diagnostics/6722234/T6722234b_2.out Mon Feb 22 06:57:59 2021 +0000 +++ b/test/tools/javac/Diagnostics/6722234/T6722234b_2.out Wed Apr 22 09:44:15 2015 -0700 @@ -1,4 +1,4 @@ -T6722234b.java:16:9: compiler.err.cant.apply.symbol: kindname.method, m, List,List, List,List, kindname.class, T6722234b, (compiler.misc.inferred.do.not.conform.to.eq.bounds: compiler.misc.captured.type: 2, compiler.misc.captured.type: 2,compiler.misc.captured.type: 1) +T6722234b.java:16:9: compiler.err.cant.apply.symbol: kindname.method, m, List,List, List,List, kindname.class, T6722234b, (compiler.misc.incompatible.eq.bounds: T, compiler.misc.captured.type: 2,compiler.misc.captured.type: 1) - compiler.misc.where.description.typevar: T,{(compiler.misc.where.typevar: T, Object, kindname.method, m(List,List))} - compiler.misc.where.description.captured.1: compiler.misc.captured.type: 1,compiler.misc.captured.type: 2,{(compiler.misc.where.captured.1: compiler.misc.captured.type: 1, T6722234b, compiler.misc.type.null, ? extends T6722234b),(compiler.misc.where.captured.1: compiler.misc.captured.type: 2, T6722234b, compiler.misc.type.null, ? extends T6722234b)} 1 error diff -r babff83eb5c2 -r cd6eb36db1bb test/tools/javac/Diagnostics/6722234/T6722234d.java --- a/test/tools/javac/Diagnostics/6722234/T6722234d.java Mon Feb 22 06:57:59 2021 +0000 +++ b/test/tools/javac/Diagnostics/6722234/T6722234d.java Wed Apr 22 09:44:15 2015 -0700 @@ -1,6 +1,6 @@ /** * @test /nodynamiccopyright/ - * @bug 6722234 + * @bug 6722234 8078024 * @summary javac diagnostics need better integration with the type-system * @author mcimadamore * @compile/fail/ref=T6722234d_1.out -XDrawDiagnostics -XDdiags=where T6722234d.java diff -r babff83eb5c2 -r cd6eb36db1bb test/tools/javac/Diagnostics/6722234/T6722234d_1.out --- a/test/tools/javac/Diagnostics/6722234/T6722234d_1.out Mon Feb 22 06:57:59 2021 +0000 +++ b/test/tools/javac/Diagnostics/6722234/T6722234d_1.out Wed Apr 22 09:44:15 2015 -0700 @@ -1,3 +1,3 @@ -T6722234d.java:18:20: compiler.err.prob.found.req: (compiler.misc.inferred.do.not.conform.to.upper.bounds: compiler.misc.intersection.type: 1, T6722234d.A,java.lang.Object) -- compiler.misc.where.description.intersection: compiler.misc.intersection.type: 1,{(compiler.misc.where.intersection: compiler.misc.intersection.type: 1, java.lang.Object,T6722234d.I1,T6722234d.I2)} +T6722234d.java:18:20: compiler.err.prob.found.req: (compiler.misc.incompatible.upper.lower.bounds: Z, T6722234d.A,java.lang.Object, T6722234d.B,T6722234d.A) +- compiler.misc.where.description.typevar: Z,{(compiler.misc.where.typevar: Z, java.lang.Object, kindname.method, m(Z,Z))} 1 error diff -r babff83eb5c2 -r cd6eb36db1bb test/tools/javac/Diagnostics/6722234/T6722234d_2.out --- a/test/tools/javac/Diagnostics/6722234/T6722234d_2.out Mon Feb 22 06:57:59 2021 +0000 +++ b/test/tools/javac/Diagnostics/6722234/T6722234d_2.out Wed Apr 22 09:44:15 2015 -0700 @@ -1,3 +1,3 @@ -T6722234d.java:18:20: compiler.err.prob.found.req: (compiler.misc.inferred.do.not.conform.to.upper.bounds: compiler.misc.intersection.type: 1, T6722234d.A,Object) -- compiler.misc.where.description.intersection: compiler.misc.intersection.type: 1,{(compiler.misc.where.intersection: compiler.misc.intersection.type: 1, Object,I1,I2)} +T6722234d.java:18:20: compiler.err.prob.found.req: (compiler.misc.incompatible.upper.lower.bounds: Z, T6722234d.A,Object, T6722234d.B,T6722234d.A) +- compiler.misc.where.description.typevar: Z,{(compiler.misc.where.typevar: Z, Object, kindname.method, m(Z,Z))} 1 error diff -r babff83eb5c2 -r cd6eb36db1bb test/tools/javac/Diagnostics/6799605/T6799605.java --- a/test/tools/javac/Diagnostics/6799605/T6799605.java Mon Feb 22 06:57:59 2021 +0000 +++ b/test/tools/javac/Diagnostics/6799605/T6799605.java Wed Apr 22 09:44:15 2015 -0700 @@ -1,6 +1,6 @@ /** * @test /nodynamiccopyright/ - * @bug 6799605 + * @bug 6799605 8078024 * @summary Basic/Raw formatters should use type/symbol printer instead of toString() * @author mcimadamore * @compile/fail/ref=T6799605.out -XDrawDiagnostics T6799605.java diff -r babff83eb5c2 -r cd6eb36db1bb test/tools/javac/Diagnostics/6799605/T6799605.out --- a/test/tools/javac/Diagnostics/6799605/T6799605.out Mon Feb 22 06:57:59 2021 +0000 +++ b/test/tools/javac/Diagnostics/6799605/T6799605.out Wed Apr 22 09:44:15 2015 -0700 @@ -1,4 +1,4 @@ T6799605.java:17:9: compiler.err.cant.apply.symbols: kindname.method, m, T6799605,{(compiler.misc.inapplicable.method: kindname.method, T6799605, m(T6799605), (compiler.misc.incompatible.eq.upper.bounds: T, compiler.misc.type.captureof: 1, ?, T6799605)),(compiler.misc.inapplicable.method: kindname.method, T6799605, m(T6799605,T6799605), (compiler.misc.infer.arg.length.mismatch: T)),(compiler.misc.inapplicable.method: kindname.method, T6799605, m(T6799605,T6799605,T6799605), (compiler.misc.infer.arg.length.mismatch: T))} -T6799605.java:18:9: compiler.err.cant.apply.symbols: kindname.method, m, T6799605,T6799605,{(compiler.misc.inapplicable.method: kindname.method, T6799605, m(T6799605), (compiler.misc.infer.arg.length.mismatch: T)),(compiler.misc.inapplicable.method: kindname.method, T6799605, m(T6799605,T6799605), (compiler.misc.inferred.do.not.conform.to.eq.bounds: compiler.misc.type.captureof: 2, ?, compiler.misc.type.captureof: 2, ?,compiler.misc.type.captureof: 1, ?)),(compiler.misc.inapplicable.method: kindname.method, T6799605, m(T6799605,T6799605,T6799605), (compiler.misc.infer.arg.length.mismatch: T))} -T6799605.java:19:9: compiler.err.cant.apply.symbols: kindname.method, m, T6799605,T6799605,T6799605,{(compiler.misc.inapplicable.method: kindname.method, T6799605, m(T6799605), (compiler.misc.infer.arg.length.mismatch: T)),(compiler.misc.inapplicable.method: kindname.method, T6799605, m(T6799605,T6799605), (compiler.misc.infer.arg.length.mismatch: T)),(compiler.misc.inapplicable.method: kindname.method, T6799605, m(T6799605,T6799605,T6799605), (compiler.misc.inferred.do.not.conform.to.eq.bounds: compiler.misc.type.captureof: 3, ?, compiler.misc.type.captureof: 3, ?,compiler.misc.type.captureof: 2, ?,compiler.misc.type.captureof: 1, ?))} +T6799605.java:18:9: compiler.err.cant.apply.symbols: kindname.method, m, T6799605,T6799605,{(compiler.misc.inapplicable.method: kindname.method, T6799605, m(T6799605), (compiler.misc.infer.arg.length.mismatch: T)),(compiler.misc.inapplicable.method: kindname.method, T6799605, m(T6799605,T6799605), (compiler.misc.incompatible.eq.bounds: T, compiler.misc.type.captureof: 2, ?,compiler.misc.type.captureof: 1, ?)),(compiler.misc.inapplicable.method: kindname.method, T6799605, m(T6799605,T6799605,T6799605), (compiler.misc.infer.arg.length.mismatch: T))} +T6799605.java:19:9: compiler.err.cant.apply.symbols: kindname.method, m, T6799605,T6799605,T6799605,{(compiler.misc.inapplicable.method: kindname.method, T6799605, m(T6799605), (compiler.misc.infer.arg.length.mismatch: T)),(compiler.misc.inapplicable.method: kindname.method, T6799605, m(T6799605,T6799605), (compiler.misc.infer.arg.length.mismatch: T)),(compiler.misc.inapplicable.method: kindname.method, T6799605, m(T6799605,T6799605,T6799605), (compiler.misc.incompatible.eq.bounds: T, compiler.misc.type.captureof: 3, ?,compiler.misc.type.captureof: 2, ?,compiler.misc.type.captureof: 1, ?))} 3 errors diff -r babff83eb5c2 -r cd6eb36db1bb test/tools/javac/diags/examples.not-yet.txt --- a/test/tools/javac/diags/examples.not-yet.txt Mon Feb 22 06:57:59 2021 +0000 +++ b/test/tools/javac/diags/examples.not-yet.txt Wed Apr 22 09:44:15 2015 -0700 @@ -93,7 +93,6 @@ compiler.misc.verbose.retro.with.list # UNUSED compiler.misc.version.not.available # JavaCompiler; implies build error compiler.misc.where.description.captured -compiler.misc.where.description.intersection.1 compiler.misc.where.typevar.1 compiler.misc.wrong.version # ClassReader compiler.warn.annotation.method.not.found # ClassReader @@ -113,3 +112,4 @@ compiler.warn.override.equals.but.not.hashcode # when a class overrides equals but not hashCode method from Object compiler.err.cant.inherit.from.anon # error for subclass of anonymous class compiler.misc.bad.const.pool.entry # constant pool entry has wrong type +compiler.misc.incompatible.upper.eq.bounds diff -r babff83eb5c2 -r cd6eb36db1bb test/tools/javac/diags/examples/WhereCaptured.java --- a/test/tools/javac/diags/examples/WhereCaptured.java Mon Feb 22 06:57:59 2021 +0000 +++ b/test/tools/javac/diags/examples/WhereCaptured.java Wed Apr 22 09:44:15 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2010, 2012, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2010, 2015, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -26,7 +26,7 @@ // key: compiler.misc.where.description.typevar // key: compiler.misc.where.typevar // key: compiler.err.cant.apply.symbol -// key: compiler.misc.inferred.do.not.conform.to.eq.bounds +// key: compiler.misc.incompatible.eq.bounds // key: compiler.misc.captured.type // options: -XDdiags=where,simpleNames // run: simple diff -r babff83eb5c2 -r cd6eb36db1bb test/tools/javac/diags/examples/WhereCaptured1.java --- a/test/tools/javac/diags/examples/WhereCaptured1.java Mon Feb 22 06:57:59 2021 +0000 +++ b/test/tools/javac/diags/examples/WhereCaptured1.java Wed Apr 22 09:44:15 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2010, 2012, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2010, 2015, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -26,7 +26,7 @@ // key: compiler.misc.where.description.typevar // key: compiler.misc.where.typevar // key: compiler.err.cant.apply.symbol -// key: compiler.misc.inferred.do.not.conform.to.eq.bounds +// key: compiler.misc.incompatible.eq.bounds // key: compiler.misc.captured.type // key: compiler.misc.type.null // options: -XDdiags=where,simpleNames diff -r babff83eb5c2 -r cd6eb36db1bb test/tools/javac/diags/examples/WhereIntersection.java --- a/test/tools/javac/diags/examples/WhereIntersection.java Mon Feb 22 06:57:59 2021 +0000 +++ b/test/tools/javac/diags/examples/WhereIntersection.java Wed Apr 22 09:44:15 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2010, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2010, 2015, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -21,23 +21,19 @@ * questions. */ -// key: compiler.misc.where.intersection -// key: compiler.misc.where.description.intersection +// key: compiler.misc.inferred.do.not.conform.to.upper.bounds // key: compiler.misc.intersection.type +// key: compiler.misc.where.description.intersection.1 +// key: compiler.misc.where.intersection // key: compiler.err.prob.found.req -// key: compiler.misc.inferred.do.not.conform.to.upper.bounds // options: -XDdiags=where // run: simple class WhereIntersection { - interface I1 {} - interface I2 {} - class A implements I1, I2 {} - class B implements I1, I2 {} - class Test { - Z m(Z z1, Z z2) { return null; } - void main(){ - A a = m(new A(), new B()); - } + static T f(T a, T b) { + return a; + } + static Object[] main(int a, float b) { + return f(a, b); } } diff -r babff83eb5c2 -r cd6eb36db1bb test/tools/javac/diags/examples/WhereIntersection2.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test/tools/javac/diags/examples/WhereIntersection2.java Wed Apr 22 09:44:15 2015 -0700 @@ -0,0 +1,46 @@ +/* + * Copyright (c) 2010, 2015, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +// key: compiler.err.intf.expected.here +// key: compiler.misc.inconvertible.types +// key: compiler.misc.where.description.typevar +// key: compiler.misc.where.typevar +// key: compiler.misc.intersection.type +// key: compiler.misc.where.description.intersection +// key: compiler.misc.where.intersection +// key: compiler.err.prob.found.req +// options: -XDdiags=where +// run: simple + +class WhereIntersection2 { + interface I1 {} + interface I2 {} + class A implements I1, I2 {} + class B implements I1, I2 {} + class Test { + Z m(Z z1, Z z2) { return null; } + T m2(){ + return m(new A(), new B()); + } + } +} diff -r babff83eb5c2 -r cd6eb36db1bb test/tools/javac/diags/examples/WhereTypeVar2.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test/tools/javac/diags/examples/WhereTypeVar2.java Wed Apr 22 09:44:15 2015 -0700 @@ -0,0 +1,42 @@ +/* + * Copyright (c) 2010, 2015, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +// key: compiler.misc.incompatible.upper.lower.bounds +// key: compiler.misc.where.description.typevar +// key: compiler.misc.where.typevar +// key: compiler.err.prob.found.req +// options: -XDdiags=where +// run: simple + +class WhereTypeVar2 { + interface I1 {} + interface I2 {} + class A implements I1, I2 {} + class B implements I1, I2 {} + class Test { + Z m(Z z1, Z z2) { return null; } + void main(){ + A a = m(new A(), new B()); + } + } +} diff -r babff83eb5c2 -r cd6eb36db1bb test/tools/javac/generics/diamond/neg/Neg07.java --- a/test/tools/javac/generics/diamond/neg/Neg07.java Mon Feb 22 06:57:59 2021 +0000 +++ b/test/tools/javac/generics/diamond/neg/Neg07.java Wed Apr 22 09:44:15 2015 -0700 @@ -1,6 +1,6 @@ /* * @test /nodynamiccopyright/ - * @bug 6939620 7020044 + * @bug 6939620 7020044 8078024 * * @summary Check that diamond works where LHS is supertype of RHS (1-ary constructor) * @author mcimadamore diff -r babff83eb5c2 -r cd6eb36db1bb test/tools/javac/generics/diamond/neg/Neg07.out --- a/test/tools/javac/generics/diamond/neg/Neg07.out Mon Feb 22 06:57:59 2021 +0000 +++ b/test/tools/javac/generics/diamond/neg/Neg07.out Wed Apr 22 09:44:15 2015 -0700 @@ -1,2 +1,2 @@ -Neg07.java:17:27: compiler.err.cant.apply.diamond.1: (compiler.misc.diamond: Neg07.Foo), (compiler.misc.inferred.do.not.conform.to.upper.bounds: java.lang.String, java.lang.Number) +Neg07.java:17:27: compiler.err.cant.apply.diamond.1: (compiler.misc.diamond: Neg07.Foo), (compiler.misc.incompatible.upper.lower.bounds: X, java.lang.Number, java.lang.String) 1 error diff -r babff83eb5c2 -r cd6eb36db1bb test/tools/javac/generics/inference/4941882/T4941882.java --- a/test/tools/javac/generics/inference/4941882/T4941882.java Mon Feb 22 06:57:59 2021 +0000 +++ b/test/tools/javac/generics/inference/4941882/T4941882.java Wed Apr 22 09:44:15 2015 -0700 @@ -23,7 +23,7 @@ /* * @test - * @bug 4941882 + * @bug 4941882 8078024 * @summary incorrect inference for result of lub(int[], float[]) * @compile/fail T4941882.java */ diff -r babff83eb5c2 -r cd6eb36db1bb test/tools/javac/generics/inference/6315770/T6315770.java --- a/test/tools/javac/generics/inference/6315770/T6315770.java Mon Feb 22 06:57:59 2021 +0000 +++ b/test/tools/javac/generics/inference/6315770/T6315770.java Wed Apr 22 09:44:15 2015 -0700 @@ -1,6 +1,6 @@ /** * @test /nodynamiccopyright/ - * @bug 6315770 + * @bug 6315770 8078024 * @summary javac inference allows creation of strange types: Integer & Runnable * @author Maurizio Cimadamore * diff -r babff83eb5c2 -r cd6eb36db1bb test/tools/javac/generics/inference/6315770/T6315770.out --- a/test/tools/javac/generics/inference/6315770/T6315770.out Mon Feb 22 06:57:59 2021 +0000 +++ b/test/tools/javac/generics/inference/6315770/T6315770.out Wed Apr 22 09:44:15 2015 -0700 @@ -1,3 +1,3 @@ T6315770.java:16:42: compiler.err.prob.found.req: (compiler.misc.incompatible.upper.bounds: T, java.lang.String,java.lang.Integer,java.lang.Runnable) -T6315770.java:17:40: compiler.err.prob.found.req: (compiler.misc.inferred.do.not.conform.to.upper.bounds: java.lang.String, java.lang.Integer,java.lang.Runnable) +T6315770.java:17:40: compiler.err.prob.found.req: (compiler.misc.incompatible.upper.lower.bounds: T, java.lang.Integer,java.lang.Runnable, java.lang.String) 2 errors diff -r babff83eb5c2 -r cd6eb36db1bb test/tools/javac/generics/inference/6611449/T6611449.java --- a/test/tools/javac/generics/inference/6611449/T6611449.java Mon Feb 22 06:57:59 2021 +0000 +++ b/test/tools/javac/generics/inference/6611449/T6611449.java Wed Apr 22 09:44:15 2015 -0700 @@ -1,6 +1,6 @@ /** * @test /nodynamiccopyright/ - * @bug 6611449 + * @bug 6611449 8078024 * @summary Internal Error thrown during generic method/constructor invocation * @compile/fail/ref=T6611449.out -XDrawDiagnostics T6611449.java */ diff -r babff83eb5c2 -r cd6eb36db1bb test/tools/javac/generics/inference/6611449/T6611449.out --- a/test/tools/javac/generics/inference/6611449/T6611449.out Mon Feb 22 06:57:59 2021 +0000 +++ b/test/tools/javac/generics/inference/6611449/T6611449.out Wed Apr 22 09:44:15 2015 -0700 @@ -1,5 +1,5 @@ -T6611449.java:18:9: compiler.err.cant.apply.symbols: kindname.constructor, T6611449, int,{(compiler.misc.inapplicable.method: kindname.constructor, T6611449, T6611449(T), (compiler.misc.inferred.do.not.conform.to.upper.bounds: java.lang.Integer, S)),(compiler.misc.inapplicable.method: kindname.constructor, T6611449, T6611449(T,T), (compiler.misc.infer.arg.length.mismatch: T))} -T6611449.java:19:9: compiler.err.cant.apply.symbols: kindname.constructor, T6611449, int,int,{(compiler.misc.inapplicable.method: kindname.constructor, T6611449, T6611449(T), (compiler.misc.infer.arg.length.mismatch: T)),(compiler.misc.inapplicable.method: kindname.constructor, T6611449, T6611449(T,T), (compiler.misc.inferred.do.not.conform.to.upper.bounds: java.lang.Integer, S))} -T6611449.java:20:9: compiler.err.cant.apply.symbol: kindname.method, m1, T, int, kindname.class, T6611449, (compiler.misc.inferred.do.not.conform.to.upper.bounds: java.lang.Integer, S) -T6611449.java:21:9: compiler.err.cant.apply.symbol: kindname.method, m2, T,T, int,int, kindname.class, T6611449, (compiler.misc.inferred.do.not.conform.to.upper.bounds: java.lang.Integer, S) +T6611449.java:18:9: compiler.err.cant.apply.symbols: kindname.constructor, T6611449, int,{(compiler.misc.inapplicable.method: kindname.constructor, T6611449, T6611449(T), (compiler.misc.incompatible.upper.lower.bounds: T, S, java.lang.Integer)),(compiler.misc.inapplicable.method: kindname.constructor, T6611449, T6611449(T,T), (compiler.misc.infer.arg.length.mismatch: T))} +T6611449.java:19:9: compiler.err.cant.apply.symbols: kindname.constructor, T6611449, int,int,{(compiler.misc.inapplicable.method: kindname.constructor, T6611449, T6611449(T), (compiler.misc.infer.arg.length.mismatch: T)),(compiler.misc.inapplicable.method: kindname.constructor, T6611449, T6611449(T,T), (compiler.misc.incompatible.upper.lower.bounds: T, S, java.lang.Integer))} +T6611449.java:20:9: compiler.err.cant.apply.symbol: kindname.method, m1, T, int, kindname.class, T6611449, (compiler.misc.incompatible.upper.lower.bounds: T, S, java.lang.Integer) +T6611449.java:21:9: compiler.err.cant.apply.symbol: kindname.method, m2, T,T, int,int, kindname.class, T6611449, (compiler.misc.incompatible.upper.lower.bounds: T, S, java.lang.Integer) 4 errors diff -r babff83eb5c2 -r cd6eb36db1bb test/tools/javac/generics/inference/6650759/T6650759m.java --- a/test/tools/javac/generics/inference/6650759/T6650759m.java Mon Feb 22 06:57:59 2021 +0000 +++ b/test/tools/javac/generics/inference/6650759/T6650759m.java Wed Apr 22 09:44:15 2015 -0700 @@ -23,7 +23,7 @@ /* * @test - * @bug 6650759 + * @bug 6650759 8078024 * @summary Inference of formal type parameter (unused in formal parameters) is not performed * @compile/fail/ref=T6650759m.out T6650759m.java -XDrawDiagnostics */ diff -r babff83eb5c2 -r cd6eb36db1bb test/tools/javac/generics/inference/6650759/T6650759m.out --- a/test/tools/javac/generics/inference/6650759/T6650759m.out Mon Feb 22 06:57:59 2021 +0000 +++ b/test/tools/javac/generics/inference/6650759/T6650759m.out Wed Apr 22 09:44:15 2015 -0700 @@ -1,2 +1,2 @@ -T6650759m.java:43:36: compiler.err.prob.found.req: (compiler.misc.inferred.do.not.conform.to.upper.bounds: java.lang.String, java.lang.Integer,java.lang.Object) +T6650759m.java:43:36: compiler.err.prob.found.req: (compiler.misc.incompatible.upper.lower.bounds: Z, java.lang.Integer,java.lang.Object, java.lang.String) 1 error diff -r babff83eb5c2 -r cd6eb36db1bb test/tools/javac/generics/inference/EagerReturnTypeResolution/EagerReturnTypeResolutionTestb.java --- a/test/tools/javac/generics/inference/EagerReturnTypeResolution/EagerReturnTypeResolutionTestb.java Mon Feb 22 06:57:59 2021 +0000 +++ b/test/tools/javac/generics/inference/EagerReturnTypeResolution/EagerReturnTypeResolutionTestb.java Wed Apr 22 09:44:15 2015 -0700 @@ -1,6 +1,6 @@ /* * @test /nodynamiccopyright/ - * @bug 8030741 + * @bug 8030741 8078024 * @summary Inference: implement eager resolution of return types, consistent with JDK-8028800 * @compile/fail/ref=EagerReturnTypeResolutionTestb.out -XDrawDiagnostics EagerReturnTypeResolutionTestb.java * @author Dan Smith diff -r babff83eb5c2 -r cd6eb36db1bb test/tools/javac/generics/inference/EagerReturnTypeResolution/EagerReturnTypeResolutionTestb.out --- a/test/tools/javac/generics/inference/EagerReturnTypeResolution/EagerReturnTypeResolutionTestb.out Mon Feb 22 06:57:59 2021 +0000 +++ b/test/tools/javac/generics/inference/EagerReturnTypeResolution/EagerReturnTypeResolutionTestb.out Wed Apr 22 09:44:15 2015 -0700 @@ -2,37 +2,37 @@ EagerReturnTypeResolutionTestb.java:43:9: compiler.err.cant.apply.symbol: kindname.method, takeIString, EagerReturnTypeResolutionTestb.I, EagerReturnTypeResolutionTestb.I, kindname.class, EagerReturnTypeResolutionTestb, (compiler.misc.no.conforming.assignment.exists: (compiler.misc.inferred.do.not.conform.to.upper.bounds: EagerReturnTypeResolutionTestb.I, EagerReturnTypeResolutionTestb.I,java.lang.Object)) EagerReturnTypeResolutionTestb.java:44:29: compiler.err.prob.found.req: (compiler.misc.inferred.do.not.conform.to.upper.bounds: EagerReturnTypeResolutionTestb.I, EagerReturnTypeResolutionTestb.I,java.lang.Object) EagerReturnTypeResolutionTestb.java:45:26: compiler.err.prob.found.req: (compiler.misc.inferred.do.not.conform.to.upper.bounds: EagerReturnTypeResolutionTestb.I, EagerReturnTypeResolutionTestb.I,java.lang.Object) -EagerReturnTypeResolutionTestb.java:74:15: compiler.err.cant.apply.symbol: kindname.method, eq2, java.util.List,java.util.List, java.util.List>,java.util.List>, kindname.class, EagerReturnTypeResolutionTestb, (compiler.misc.inferred.do.not.conform.to.eq.bounds: EagerReturnTypeResolutionTestb.I, EagerReturnTypeResolutionTestb.I,EagerReturnTypeResolutionTestb.I) +EagerReturnTypeResolutionTestb.java:74:15: compiler.err.cant.apply.symbol: kindname.method, eq2, java.util.List,java.util.List, java.util.List>,java.util.List>, kindname.class, EagerReturnTypeResolutionTestb, (compiler.misc.incompatible.eq.bounds: T, EagerReturnTypeResolutionTestb.I,EagerReturnTypeResolutionTestb.I) EagerReturnTypeResolutionTestb.java:75:15: compiler.err.cant.apply.symbol: kindname.method, upper2, java.util.List,java.util.List, java.util.List>,java.util.List>, kindname.class, EagerReturnTypeResolutionTestb, (compiler.misc.inferred.do.not.conform.to.upper.bounds: EagerReturnTypeResolutionTestb.I, EagerReturnTypeResolutionTestb.I,EagerReturnTypeResolutionTestb.I,java.lang.Object) EagerReturnTypeResolutionTestb.java:77:9: compiler.err.cant.apply.symbol: kindname.method, takeIString, EagerReturnTypeResolutionTestb.I, EagerReturnTypeResolutionTestb.I>>, kindname.class, EagerReturnTypeResolutionTestb, (compiler.misc.no.conforming.assignment.exists: (compiler.misc.inferred.do.not.conform.to.upper.bounds: EagerReturnTypeResolutionTestb.I>>, EagerReturnTypeResolutionTestb.I,java.lang.Object)) -EagerReturnTypeResolutionTestb.java:78:21: compiler.err.cant.apply.symbol: kindname.method, eq2, java.util.List,java.util.List, java.util.List>,java.util.List>, kindname.class, EagerReturnTypeResolutionTestb, (compiler.misc.inferred.do.not.conform.to.eq.bounds: EagerReturnTypeResolutionTestb.I, EagerReturnTypeResolutionTestb.I,EagerReturnTypeResolutionTestb.I) +EagerReturnTypeResolutionTestb.java:78:21: compiler.err.cant.apply.symbol: kindname.method, eq2, java.util.List,java.util.List, java.util.List>,java.util.List>, kindname.class, EagerReturnTypeResolutionTestb, (compiler.misc.incompatible.eq.bounds: T, EagerReturnTypeResolutionTestb.I,EagerReturnTypeResolutionTestb.I) EagerReturnTypeResolutionTestb.java:79:21: compiler.err.cant.apply.symbol: kindname.method, upper2, java.util.List,java.util.List, java.util.List>,java.util.List>, kindname.class, EagerReturnTypeResolutionTestb, (compiler.misc.inferred.do.not.conform.to.upper.bounds: EagerReturnTypeResolutionTestb.I, EagerReturnTypeResolutionTestb.I,EagerReturnTypeResolutionTestb.I,java.lang.Object) EagerReturnTypeResolutionTestb.java:81:30: compiler.err.prob.found.req: (compiler.misc.inferred.do.not.conform.to.upper.bounds: EagerReturnTypeResolutionTestb.I>>, EagerReturnTypeResolutionTestb.I,java.lang.Object) -EagerReturnTypeResolutionTestb.java:82:24: compiler.err.cant.apply.symbol: kindname.method, eq2, java.util.List,java.util.List, java.util.List>,java.util.List>, kindname.class, EagerReturnTypeResolutionTestb, (compiler.misc.inferred.do.not.conform.to.eq.bounds: EagerReturnTypeResolutionTestb.I, EagerReturnTypeResolutionTestb.I,EagerReturnTypeResolutionTestb.I) +EagerReturnTypeResolutionTestb.java:82:24: compiler.err.cant.apply.symbol: kindname.method, eq2, java.util.List,java.util.List, java.util.List>,java.util.List>, kindname.class, EagerReturnTypeResolutionTestb, (compiler.misc.incompatible.eq.bounds: T, EagerReturnTypeResolutionTestb.I,EagerReturnTypeResolutionTestb.I) EagerReturnTypeResolutionTestb.java:83:24: compiler.err.cant.apply.symbol: kindname.method, upper2, java.util.List,java.util.List, java.util.List>,java.util.List>, kindname.class, EagerReturnTypeResolutionTestb, (compiler.misc.inferred.do.not.conform.to.upper.bounds: EagerReturnTypeResolutionTestb.I, EagerReturnTypeResolutionTestb.I,EagerReturnTypeResolutionTestb.I,java.lang.Object) -EagerReturnTypeResolutionTestb.java:85:15: compiler.err.cant.apply.symbol: kindname.method, eq2, java.util.List,java.util.List, java.util.List>,java.util.List>, kindname.class, EagerReturnTypeResolutionTestb, (compiler.misc.inferred.do.not.conform.to.eq.bounds: EagerReturnTypeResolutionTestb.I, EagerReturnTypeResolutionTestb.I,EagerReturnTypeResolutionTestb.I) +EagerReturnTypeResolutionTestb.java:85:15: compiler.err.cant.apply.symbol: kindname.method, eq2, java.util.List,java.util.List, java.util.List>,java.util.List>, kindname.class, EagerReturnTypeResolutionTestb, (compiler.misc.incompatible.eq.bounds: T, EagerReturnTypeResolutionTestb.I,EagerReturnTypeResolutionTestb.I) EagerReturnTypeResolutionTestb.java:86:9: compiler.err.cant.apply.symbol: kindname.method, takeIString, EagerReturnTypeResolutionTestb.I, EagerReturnTypeResolutionTestb.I, kindname.class, EagerReturnTypeResolutionTestb, (compiler.misc.no.conforming.assignment.exists: (compiler.misc.inferred.do.not.conform.to.upper.bounds: EagerReturnTypeResolutionTestb.I, EagerReturnTypeResolutionTestb.I,java.lang.Object)) -EagerReturnTypeResolutionTestb.java:87:21: compiler.err.cant.apply.symbol: kindname.method, eq2, java.util.List,java.util.List, java.util.List>,java.util.List>, kindname.class, EagerReturnTypeResolutionTestb, (compiler.misc.inferred.do.not.conform.to.eq.bounds: EagerReturnTypeResolutionTestb.I, EagerReturnTypeResolutionTestb.I,EagerReturnTypeResolutionTestb.I) +EagerReturnTypeResolutionTestb.java:87:21: compiler.err.cant.apply.symbol: kindname.method, eq2, java.util.List,java.util.List, java.util.List>,java.util.List>, kindname.class, EagerReturnTypeResolutionTestb, (compiler.misc.incompatible.eq.bounds: T, EagerReturnTypeResolutionTestb.I,EagerReturnTypeResolutionTestb.I) EagerReturnTypeResolutionTestb.java:89:30: compiler.err.prob.found.req: (compiler.misc.inferred.do.not.conform.to.upper.bounds: EagerReturnTypeResolutionTestb.I, EagerReturnTypeResolutionTestb.I,java.lang.Object) -EagerReturnTypeResolutionTestb.java:90:24: compiler.err.cant.apply.symbol: kindname.method, eq2, java.util.List,java.util.List, java.util.List>,java.util.List>, kindname.class, EagerReturnTypeResolutionTestb, (compiler.misc.inferred.do.not.conform.to.eq.bounds: EagerReturnTypeResolutionTestb.I, EagerReturnTypeResolutionTestb.I,EagerReturnTypeResolutionTestb.I) -EagerReturnTypeResolutionTestb.java:91:15: compiler.err.cant.apply.symbol: kindname.method, eq2, java.util.List,java.util.List, java.util.List>,java.util.List>, kindname.class, EagerReturnTypeResolutionTestb, (compiler.misc.inferred.do.not.conform.to.eq.bounds: EagerReturnTypeResolutionTestb.J, EagerReturnTypeResolutionTestb.J,EagerReturnTypeResolutionTestb.J) +EagerReturnTypeResolutionTestb.java:90:24: compiler.err.cant.apply.symbol: kindname.method, eq2, java.util.List,java.util.List, java.util.List>,java.util.List>, kindname.class, EagerReturnTypeResolutionTestb, (compiler.misc.incompatible.eq.bounds: T, EagerReturnTypeResolutionTestb.I,EagerReturnTypeResolutionTestb.I) +EagerReturnTypeResolutionTestb.java:91:15: compiler.err.cant.apply.symbol: kindname.method, eq2, java.util.List,java.util.List, java.util.List>,java.util.List>, kindname.class, EagerReturnTypeResolutionTestb, (compiler.misc.incompatible.eq.bounds: T, EagerReturnTypeResolutionTestb.J,EagerReturnTypeResolutionTestb.J) EagerReturnTypeResolutionTestb.java:92:15: compiler.err.cant.apply.symbol: kindname.method, upper2, java.util.List,java.util.List, java.util.List>,java.util.List>, kindname.class, EagerReturnTypeResolutionTestb, (compiler.misc.inferred.do.not.conform.to.upper.bounds: EagerReturnTypeResolutionTestb.J, EagerReturnTypeResolutionTestb.J,EagerReturnTypeResolutionTestb.J,java.lang.Object) EagerReturnTypeResolutionTestb.java:94:9: compiler.err.cant.apply.symbol: kindname.method, takeIString, EagerReturnTypeResolutionTestb.I, EagerReturnTypeResolutionTestb.J>>, kindname.class, EagerReturnTypeResolutionTestb, (compiler.misc.no.conforming.assignment.exists: (compiler.misc.inferred.do.not.conform.to.upper.bounds: EagerReturnTypeResolutionTestb.J>>, EagerReturnTypeResolutionTestb.I,java.lang.Object)) -EagerReturnTypeResolutionTestb.java:95:21: compiler.err.cant.apply.symbol: kindname.method, eq2, java.util.List,java.util.List, java.util.List>,java.util.List>, kindname.class, EagerReturnTypeResolutionTestb, (compiler.misc.inferred.do.not.conform.to.eq.bounds: EagerReturnTypeResolutionTestb.J, EagerReturnTypeResolutionTestb.J,EagerReturnTypeResolutionTestb.J) +EagerReturnTypeResolutionTestb.java:95:21: compiler.err.cant.apply.symbol: kindname.method, eq2, java.util.List,java.util.List, java.util.List>,java.util.List>, kindname.class, EagerReturnTypeResolutionTestb, (compiler.misc.incompatible.eq.bounds: T, EagerReturnTypeResolutionTestb.J,EagerReturnTypeResolutionTestb.J) EagerReturnTypeResolutionTestb.java:96:21: compiler.err.cant.apply.symbol: kindname.method, upper2, java.util.List,java.util.List, java.util.List>,java.util.List>, kindname.class, EagerReturnTypeResolutionTestb, (compiler.misc.inferred.do.not.conform.to.upper.bounds: EagerReturnTypeResolutionTestb.J, EagerReturnTypeResolutionTestb.J,EagerReturnTypeResolutionTestb.J,java.lang.Object) EagerReturnTypeResolutionTestb.java:98:30: compiler.err.prob.found.req: (compiler.misc.inferred.do.not.conform.to.upper.bounds: EagerReturnTypeResolutionTestb.J>>, EagerReturnTypeResolutionTestb.I,java.lang.Object) -EagerReturnTypeResolutionTestb.java:99:24: compiler.err.cant.apply.symbol: kindname.method, eq2, java.util.List,java.util.List, java.util.List>,java.util.List>, kindname.class, EagerReturnTypeResolutionTestb, (compiler.misc.inferred.do.not.conform.to.eq.bounds: EagerReturnTypeResolutionTestb.J, EagerReturnTypeResolutionTestb.J,EagerReturnTypeResolutionTestb.J) +EagerReturnTypeResolutionTestb.java:99:24: compiler.err.cant.apply.symbol: kindname.method, eq2, java.util.List,java.util.List, java.util.List>,java.util.List>, kindname.class, EagerReturnTypeResolutionTestb, (compiler.misc.incompatible.eq.bounds: T, EagerReturnTypeResolutionTestb.J,EagerReturnTypeResolutionTestb.J) EagerReturnTypeResolutionTestb.java:100:24: compiler.err.cant.apply.symbol: kindname.method, upper2, java.util.List,java.util.List, java.util.List>,java.util.List>, kindname.class, EagerReturnTypeResolutionTestb, (compiler.misc.inferred.do.not.conform.to.upper.bounds: EagerReturnTypeResolutionTestb.J, EagerReturnTypeResolutionTestb.J,EagerReturnTypeResolutionTestb.J,java.lang.Object) -EagerReturnTypeResolutionTestb.java:102:15: compiler.err.cant.apply.symbol: kindname.method, eq2, java.util.List,java.util.List, java.util.List>,java.util.List, kindname.class, EagerReturnTypeResolutionTestb, (compiler.misc.inferred.do.not.conform.to.eq.bounds: EagerReturnTypeResolutionTestb.K, EagerReturnTypeResolutionTestb.K,EagerReturnTypeResolutionTestb.J) -EagerReturnTypeResolutionTestb.java:103:21: compiler.err.cant.apply.symbol: kindname.method, eq2, java.util.List,java.util.List, java.util.List>,java.util.List, kindname.class, EagerReturnTypeResolutionTestb, (compiler.misc.inferred.do.not.conform.to.eq.bounds: EagerReturnTypeResolutionTestb.K, EagerReturnTypeResolutionTestb.K,EagerReturnTypeResolutionTestb.J) -EagerReturnTypeResolutionTestb.java:104:24: compiler.err.cant.apply.symbol: kindname.method, eq2, java.util.List,java.util.List, java.util.List>,java.util.List, kindname.class, EagerReturnTypeResolutionTestb, (compiler.misc.inferred.do.not.conform.to.eq.bounds: EagerReturnTypeResolutionTestb.K, EagerReturnTypeResolutionTestb.K,EagerReturnTypeResolutionTestb.J) -EagerReturnTypeResolutionTestb.java:105:15: compiler.err.cant.apply.symbol: kindname.method, eq2, java.util.List,java.util.List, java.util.List>,java.util.List, kindname.class, EagerReturnTypeResolutionTestb, (compiler.misc.inferred.do.not.conform.to.eq.bounds: EagerReturnTypeResolutionTestb.K, EagerReturnTypeResolutionTestb.K,EagerReturnTypeResolutionTestb.J) -EagerReturnTypeResolutionTestb.java:106:9: compiler.err.cant.apply.symbol: kindname.method, takeI, EagerReturnTypeResolutionTestb.I, java.lang.Object&EagerReturnTypeResolutionTestb.J&EagerReturnTypeResolutionTestb.K, kindname.class, EagerReturnTypeResolutionTestb, (compiler.misc.inferred.do.not.conform.to.eq.bounds: java.lang.Integer, java.lang.Integer,java.lang.String) +EagerReturnTypeResolutionTestb.java:102:15: compiler.err.cant.apply.symbol: kindname.method, eq2, java.util.List,java.util.List, java.util.List>,java.util.List, kindname.class, EagerReturnTypeResolutionTestb, (compiler.misc.incompatible.eq.bounds: T, EagerReturnTypeResolutionTestb.K,EagerReturnTypeResolutionTestb.J) +EagerReturnTypeResolutionTestb.java:103:21: compiler.err.cant.apply.symbol: kindname.method, eq2, java.util.List,java.util.List, java.util.List>,java.util.List, kindname.class, EagerReturnTypeResolutionTestb, (compiler.misc.incompatible.eq.bounds: T, EagerReturnTypeResolutionTestb.K,EagerReturnTypeResolutionTestb.J) +EagerReturnTypeResolutionTestb.java:104:24: compiler.err.cant.apply.symbol: kindname.method, eq2, java.util.List,java.util.List, java.util.List>,java.util.List, kindname.class, EagerReturnTypeResolutionTestb, (compiler.misc.incompatible.eq.bounds: T, EagerReturnTypeResolutionTestb.K,EagerReturnTypeResolutionTestb.J) +EagerReturnTypeResolutionTestb.java:105:15: compiler.err.cant.apply.symbol: kindname.method, eq2, java.util.List,java.util.List, java.util.List>,java.util.List, kindname.class, EagerReturnTypeResolutionTestb, (compiler.misc.incompatible.eq.bounds: T, EagerReturnTypeResolutionTestb.K,EagerReturnTypeResolutionTestb.J) +EagerReturnTypeResolutionTestb.java:106:9: compiler.err.cant.apply.symbol: kindname.method, takeI, EagerReturnTypeResolutionTestb.I, java.lang.Object&EagerReturnTypeResolutionTestb.J&EagerReturnTypeResolutionTestb.K, kindname.class, EagerReturnTypeResolutionTestb, (compiler.misc.incompatible.eq.bounds: X, java.lang.Integer,java.lang.String) EagerReturnTypeResolutionTestb.java:108:9: compiler.err.cant.apply.symbol: kindname.method, takeIString, EagerReturnTypeResolutionTestb.I, EagerReturnTypeResolutionTestb.I>>, kindname.class, EagerReturnTypeResolutionTestb, (compiler.misc.no.conforming.assignment.exists: (compiler.misc.inferred.do.not.conform.to.upper.bounds: EagerReturnTypeResolutionTestb.I>>, EagerReturnTypeResolutionTestb.I,java.lang.Object)) -EagerReturnTypeResolutionTestb.java:109:21: compiler.err.cant.apply.symbol: kindname.method, eq2, java.util.List,java.util.List, java.util.List>,java.util.List, kindname.class, EagerReturnTypeResolutionTestb, (compiler.misc.inferred.do.not.conform.to.eq.bounds: EagerReturnTypeResolutionTestb.K, EagerReturnTypeResolutionTestb.K,EagerReturnTypeResolutionTestb.J) +EagerReturnTypeResolutionTestb.java:109:21: compiler.err.cant.apply.symbol: kindname.method, eq2, java.util.List,java.util.List, java.util.List>,java.util.List, kindname.class, EagerReturnTypeResolutionTestb, (compiler.misc.incompatible.eq.bounds: T, EagerReturnTypeResolutionTestb.K,EagerReturnTypeResolutionTestb.J) EagerReturnTypeResolutionTestb.java:110:9: compiler.err.cant.apply.symbol: kindname.method, takeIString, EagerReturnTypeResolutionTestb.I, java.lang.Object&EagerReturnTypeResolutionTestb.J&EagerReturnTypeResolutionTestb.K, kindname.class, EagerReturnTypeResolutionTestb, (compiler.misc.no.conforming.assignment.exists: (compiler.misc.inferred.do.not.conform.to.upper.bounds: java.lang.Object&EagerReturnTypeResolutionTestb.J&EagerReturnTypeResolutionTestb.K, EagerReturnTypeResolutionTestb.I,EagerReturnTypeResolutionTestb.K,EagerReturnTypeResolutionTestb.J,java.lang.Object)) EagerReturnTypeResolutionTestb.java:112:30: compiler.err.prob.found.req: (compiler.misc.inferred.do.not.conform.to.upper.bounds: EagerReturnTypeResolutionTestb.I>>, EagerReturnTypeResolutionTestb.I,java.lang.Object) -EagerReturnTypeResolutionTestb.java:113:24: compiler.err.cant.apply.symbol: kindname.method, eq2, java.util.List,java.util.List, java.util.List>,java.util.List, kindname.class, EagerReturnTypeResolutionTestb, (compiler.misc.inferred.do.not.conform.to.eq.bounds: EagerReturnTypeResolutionTestb.K, EagerReturnTypeResolutionTestb.K,EagerReturnTypeResolutionTestb.J) +EagerReturnTypeResolutionTestb.java:113:24: compiler.err.cant.apply.symbol: kindname.method, eq2, java.util.List,java.util.List, java.util.List>,java.util.List, kindname.class, EagerReturnTypeResolutionTestb, (compiler.misc.incompatible.eq.bounds: T, EagerReturnTypeResolutionTestb.K,EagerReturnTypeResolutionTestb.J) EagerReturnTypeResolutionTestb.java:114:30: compiler.err.prob.found.req: (compiler.misc.inferred.do.not.conform.to.upper.bounds: java.lang.Object&EagerReturnTypeResolutionTestb.J&EagerReturnTypeResolutionTestb.K, EagerReturnTypeResolutionTestb.I,EagerReturnTypeResolutionTestb.K,EagerReturnTypeResolutionTestb.J,java.lang.Object) EagerReturnTypeResolutionTestb.java:174:9: compiler.err.cant.apply.symbol: kindname.method, takeLong, long, java.lang.Double, kindname.class, EagerReturnTypeResolutionTestb, (compiler.misc.no.conforming.assignment.exists: (compiler.misc.infer.no.conforming.instance.exists: , T, long)) EagerReturnTypeResolutionTestb.java:175:9: compiler.err.cant.apply.symbol: kindname.method, takeLong, long, java.lang.Double, kindname.class, EagerReturnTypeResolutionTestb, (compiler.misc.no.conforming.assignment.exists: (compiler.misc.infer.no.conforming.instance.exists: , T, long)) diff -r babff83eb5c2 -r cd6eb36db1bb test/tools/javac/generics/inference/EagerReturnTypeResolution/PrimitiveTypeBoxingTest.java --- a/test/tools/javac/generics/inference/EagerReturnTypeResolution/PrimitiveTypeBoxingTest.java Mon Feb 22 06:57:59 2021 +0000 +++ b/test/tools/javac/generics/inference/EagerReturnTypeResolution/PrimitiveTypeBoxingTest.java Wed Apr 22 09:44:15 2015 -0700 @@ -1,6 +1,6 @@ /* * @test /nodynamiccopyright/ - * @bug 8030741 + * @bug 8030741 8078024 * @summary Inference: implement eager resolution of return types, consistent with JDK-8028800 * @compile/fail/ref=PrimitiveTypeBoxingTest.out -XDrawDiagnostics PrimitiveTypeBoxingTest.java */ diff -r babff83eb5c2 -r cd6eb36db1bb test/tools/javac/generics/inference/EagerReturnTypeResolution/PrimitiveTypeBoxingTest.out --- a/test/tools/javac/generics/inference/EagerReturnTypeResolution/PrimitiveTypeBoxingTest.out Mon Feb 22 06:57:59 2021 +0000 +++ b/test/tools/javac/generics/inference/EagerReturnTypeResolution/PrimitiveTypeBoxingTest.out Wed Apr 22 09:44:15 2015 -0700 @@ -1,3 +1,3 @@ -PrimitiveTypeBoxingTest.java:19:9: compiler.err.cant.apply.symbol: kindname.method, m1, PrimitiveTypeBoxingTest.F,Z, @490,int, kindname.class, PrimitiveTypeBoxingTest, (compiler.misc.inferred.do.not.conform.to.upper.bounds: java.lang.Integer, java.lang.Long,java.lang.Object) -PrimitiveTypeBoxingTest.java:20:9: compiler.err.cant.apply.symbol: kindname.method, m2, Z,PrimitiveTypeBoxingTest.F, int,@559, kindname.class, PrimitiveTypeBoxingTest, (compiler.misc.inferred.do.not.conform.to.upper.bounds: java.lang.Integer, java.lang.Long,java.lang.Object) +PrimitiveTypeBoxingTest.java:19:9: compiler.err.cant.apply.symbol: kindname.method, m1, PrimitiveTypeBoxingTest.F,Z, @498,int, kindname.class, PrimitiveTypeBoxingTest, (compiler.misc.incompatible.upper.lower.bounds: Z, java.lang.Long,java.lang.Object, java.lang.Integer) +PrimitiveTypeBoxingTest.java:20:9: compiler.err.cant.apply.symbol: kindname.method, m2, Z,PrimitiveTypeBoxingTest.F, int,@567, kindname.class, PrimitiveTypeBoxingTest, (compiler.misc.incompatible.upper.lower.bounds: Z, java.lang.Long,java.lang.Object, java.lang.Integer) 2 errors diff -r babff83eb5c2 -r cd6eb36db1bb test/tools/javac/generics/wildcards/6762569/T6762569b.java --- a/test/tools/javac/generics/wildcards/6762569/T6762569b.java Mon Feb 22 06:57:59 2021 +0000 +++ b/test/tools/javac/generics/wildcards/6762569/T6762569b.java Wed Apr 22 09:44:15 2015 -0700 @@ -23,7 +23,7 @@ /* * @test - * @bug 6762569 + * @bug 6762569 8078024 * @summary Javac crashes with AssertionError in Types.containedBy * @compile/fail T6762569b.java */ diff -r babff83eb5c2 -r cd6eb36db1bb test/tools/javac/lambda/8016177/T8016177g.java --- a/test/tools/javac/lambda/8016177/T8016177g.java Mon Feb 22 06:57:59 2021 +0000 +++ b/test/tools/javac/lambda/8016177/T8016177g.java Wed Apr 22 09:44:15 2015 -0700 @@ -1,6 +1,6 @@ /* * @test /nodynamiccopyright/ - * @bug 8016081 8016178 8069545 + * @bug 8016081 8016178 8069545 8078024 * @summary structural most specific and stuckness * @compile/fail/ref=T8016177g.out -XDrawDiagnostics T8016177g.java */ diff -r babff83eb5c2 -r cd6eb36db1bb test/tools/javac/lambda/8016177/T8016177g.out --- a/test/tools/javac/lambda/8016177/T8016177g.out Mon Feb 22 06:57:59 2021 +0000 +++ b/test/tools/javac/lambda/8016177/T8016177g.out Wed Apr 22 09:44:15 2015 -0700 @@ -1,3 +1,3 @@ -T8016177g.java:34:14: compiler.err.cant.apply.symbol: kindname.method, print, java.lang.String, Test.Person, kindname.class, Test, (compiler.misc.no.conforming.assignment.exists: (compiler.misc.inferred.do.not.conform.to.upper.bounds: Test.Person, java.lang.String,java.lang.Object)) +T8016177g.java:34:14: compiler.err.cant.apply.symbol: kindname.method, print, java.lang.String, Test.Person, kindname.class, Test, (compiler.misc.no.conforming.assignment.exists: (compiler.misc.incompatible.upper.lower.bounds: R, java.lang.String,java.lang.Object, Test.Person)) T8016177g.java:35:20: compiler.err.cant.apply.symbol: kindname.method, abs, int, java.lang.Double, kindname.class, Test, (compiler.misc.no.conforming.assignment.exists: (compiler.misc.infer.no.conforming.instance.exists: , R, int)) 2 errors diff -r babff83eb5c2 -r cd6eb36db1bb test/tools/javac/lambda/MethodReference41.java --- a/test/tools/javac/lambda/MethodReference41.java Mon Feb 22 06:57:59 2021 +0000 +++ b/test/tools/javac/lambda/MethodReference41.java Wed Apr 22 09:44:15 2015 -0700 @@ -1,6 +1,6 @@ /* * @test /nodynamiccopyright/ - * @bug 8003280 + * @bug 8003280 8078024 * @summary Add lambda tests * check that diamond inference is applied when using raw constructor reference qualifier * @compile/fail/ref=MethodReference41.out -XDrawDiagnostics MethodReference41.java diff -r babff83eb5c2 -r cd6eb36db1bb test/tools/javac/lambda/MethodReference41.out --- a/test/tools/javac/lambda/MethodReference41.out Mon Feb 22 06:57:59 2021 +0000 +++ b/test/tools/javac/lambda/MethodReference41.out Wed Apr 22 09:44:15 2015 -0700 @@ -1,4 +1,4 @@ -MethodReference41.java:38:11: compiler.err.cant.apply.symbol: kindname.method, m1, MethodReference41.SAM1, @767, kindname.class, MethodReference41, (compiler.misc.no.conforming.assignment.exists: (compiler.misc.invalid.mref: kindname.constructor, (compiler.misc.cant.apply.symbol: kindname.constructor, Foo, java.lang.Number, java.lang.String, kindname.class, MethodReference41.Foo, (compiler.misc.inferred.do.not.conform.to.upper.bounds: java.lang.String, java.lang.Number)))) -MethodReference41.java:40:11: compiler.err.cant.apply.symbol: kindname.method, m3, MethodReference41.SAM3, @811, kindname.class, MethodReference41, (compiler.misc.no.conforming.assignment.exists: (compiler.misc.invalid.mref: kindname.constructor, (compiler.misc.cant.apply.symbol: kindname.constructor, Foo, java.lang.Number, java.lang.Object, kindname.class, MethodReference41.Foo, (compiler.misc.inferred.do.not.conform.to.upper.bounds: java.lang.Object, java.lang.Number)))) +MethodReference41.java:38:11: compiler.err.cant.apply.symbol: kindname.method, m1, MethodReference41.SAM1, @775, kindname.class, MethodReference41, (compiler.misc.no.conforming.assignment.exists: (compiler.misc.invalid.mref: kindname.constructor, (compiler.misc.cant.apply.symbol: kindname.constructor, Foo, java.lang.Number, java.lang.String, kindname.class, MethodReference41.Foo, (compiler.misc.incompatible.upper.lower.bounds: X, java.lang.Number, java.lang.String)))) +MethodReference41.java:40:11: compiler.err.cant.apply.symbol: kindname.method, m3, MethodReference41.SAM3, @819, kindname.class, MethodReference41, (compiler.misc.no.conforming.assignment.exists: (compiler.misc.invalid.mref: kindname.constructor, (compiler.misc.cant.apply.symbol: kindname.constructor, Foo, java.lang.Number, java.lang.Object, kindname.class, MethodReference41.Foo, (compiler.misc.incompatible.upper.lower.bounds: X, java.lang.Number, java.lang.Object)))) MethodReference41.java:41:9: compiler.err.ref.ambiguous: m4, kindname.method, m4(MethodReference41.SAM2), MethodReference41, kindname.method, m4(MethodReference41.SAM3), MethodReference41 3 errors diff -r babff83eb5c2 -r cd6eb36db1bb test/tools/javac/lambda/MethodReference43.java --- a/test/tools/javac/lambda/MethodReference43.java Mon Feb 22 06:57:59 2021 +0000 +++ b/test/tools/javac/lambda/MethodReference43.java Wed Apr 22 09:44:15 2015 -0700 @@ -1,6 +1,6 @@ /* * @test /nodynamiccopyright/ - * @bug 8003280 + * @bug 8003280 8078024 * @summary Add lambda tests * check that diamond inference is applied when using raw constructor reference qualifier * @compile/fail/ref=MethodReference43.out -XDrawDiagnostics MethodReference43.java diff -r babff83eb5c2 -r cd6eb36db1bb test/tools/javac/lambda/MethodReference43.out --- a/test/tools/javac/lambda/MethodReference43.out Mon Feb 22 06:57:59 2021 +0000 +++ b/test/tools/javac/lambda/MethodReference43.out Wed Apr 22 09:44:15 2015 -0700 @@ -1,5 +1,5 @@ -MethodReference43.java:45:11: compiler.err.cant.apply.symbol: kindname.method, m1, MethodReference43.SAM1, @897, kindname.class, MethodReference43, (compiler.misc.no.conforming.assignment.exists: (compiler.misc.invalid.mref: kindname.constructor, (compiler.misc.cant.apply.symbol: kindname.constructor, Foo, java.lang.Number, java.lang.String, kindname.class, MethodReference43.Foo, (compiler.misc.inferred.do.not.conform.to.upper.bounds: java.lang.String, java.lang.Number)))) -MethodReference43.java:47:11: compiler.err.cant.apply.symbol: kindname.method, m3, MethodReference43.SAM3, @941, kindname.class, MethodReference43, (compiler.misc.no.conforming.assignment.exists: (compiler.misc.invalid.mref: kindname.constructor, (compiler.misc.cant.apply.symbol: kindname.constructor, Foo, java.lang.Number, java.lang.Object, kindname.class, MethodReference43.Foo, (compiler.misc.inferred.do.not.conform.to.upper.bounds: java.lang.Object, java.lang.Number)))) +MethodReference43.java:45:11: compiler.err.cant.apply.symbol: kindname.method, m1, MethodReference43.SAM1, @905, kindname.class, MethodReference43, (compiler.misc.no.conforming.assignment.exists: (compiler.misc.invalid.mref: kindname.constructor, (compiler.misc.cant.apply.symbol: kindname.constructor, Foo, java.lang.Number, java.lang.String, kindname.class, MethodReference43.Foo, (compiler.misc.incompatible.upper.lower.bounds: X, java.lang.Number, java.lang.String)))) +MethodReference43.java:47:11: compiler.err.cant.apply.symbol: kindname.method, m3, MethodReference43.SAM3, @949, kindname.class, MethodReference43, (compiler.misc.no.conforming.assignment.exists: (compiler.misc.invalid.mref: kindname.constructor, (compiler.misc.cant.apply.symbol: kindname.constructor, Foo, java.lang.Number, java.lang.Object, kindname.class, MethodReference43.Foo, (compiler.misc.incompatible.upper.lower.bounds: X, java.lang.Number, java.lang.Object)))) MethodReference43.java:49:9: compiler.err.ref.ambiguous: m5, kindname.method, m5(MethodReference43.SAM3), MethodReference43, kindname.method, m5(MethodReference43.SAM4), MethodReference43 -MethodReference43.java:49:11: compiler.err.cant.apply.symbol: kindname.method, m5, MethodReference43.SAM3, @985, kindname.class, MethodReference43, (compiler.misc.no.conforming.assignment.exists: (compiler.misc.invalid.mref: kindname.constructor, (compiler.misc.cant.apply.symbol: kindname.constructor, Foo, java.lang.Number, java.lang.Object, kindname.class, MethodReference43.Foo, (compiler.misc.inferred.do.not.conform.to.upper.bounds: java.lang.Object, java.lang.Number)))) +MethodReference43.java:49:11: compiler.err.cant.apply.symbol: kindname.method, m5, MethodReference43.SAM3, @993, kindname.class, MethodReference43, (compiler.misc.no.conforming.assignment.exists: (compiler.misc.invalid.mref: kindname.constructor, (compiler.misc.cant.apply.symbol: kindname.constructor, Foo, java.lang.Number, java.lang.Object, kindname.class, MethodReference43.Foo, (compiler.misc.incompatible.upper.lower.bounds: X, java.lang.Number, java.lang.Object)))) 4 errors diff -r babff83eb5c2 -r cd6eb36db1bb test/tools/javac/lambda/MethodReference46.java --- a/test/tools/javac/lambda/MethodReference46.java Mon Feb 22 06:57:59 2021 +0000 +++ b/test/tools/javac/lambda/MethodReference46.java Wed Apr 22 09:44:15 2015 -0700 @@ -1,6 +1,6 @@ /* * @test /nodynamiccopyright/ - * @bug 8003280 + * @bug 8003280 8078024 * @summary Add lambda tests * check that generic method reference is inferred when type parameters are omitted * @compile/fail/ref=MethodReference46.out -XDrawDiagnostics MethodReference46.java diff -r babff83eb5c2 -r cd6eb36db1bb test/tools/javac/lambda/MethodReference46.out --- a/test/tools/javac/lambda/MethodReference46.out Mon Feb 22 06:57:59 2021 +0000 +++ b/test/tools/javac/lambda/MethodReference46.out Wed Apr 22 09:44:15 2015 -0700 @@ -1,4 +1,4 @@ -MethodReference46.java:40:11: compiler.err.cant.apply.symbol: kindname.method, g1, MethodReference46.SAM1, @809, kindname.class, MethodReference46, (compiler.misc.no.conforming.assignment.exists: (compiler.misc.invalid.mref: kindname.method, (compiler.misc.cant.apply.symbol: kindname.method, m, X, java.lang.String, kindname.class, MethodReference46, (compiler.misc.inferred.do.not.conform.to.upper.bounds: java.lang.String, java.lang.Number)))) -MethodReference46.java:42:11: compiler.err.cant.apply.symbol: kindname.method, g3, MethodReference46.SAM3, @877, kindname.class, MethodReference46, (compiler.misc.no.conforming.assignment.exists: (compiler.misc.invalid.mref: kindname.method, (compiler.misc.cant.apply.symbol: kindname.method, m, X, java.lang.Object, kindname.class, MethodReference46, (compiler.misc.inferred.do.not.conform.to.upper.bounds: java.lang.Object, java.lang.Number)))) +MethodReference46.java:40:11: compiler.err.cant.apply.symbol: kindname.method, g1, MethodReference46.SAM1, @817, kindname.class, MethodReference46, (compiler.misc.no.conforming.assignment.exists: (compiler.misc.invalid.mref: kindname.method, (compiler.misc.cant.apply.symbol: kindname.method, m, X, java.lang.String, kindname.class, MethodReference46, (compiler.misc.incompatible.upper.lower.bounds: X, java.lang.Number, java.lang.String)))) +MethodReference46.java:42:11: compiler.err.cant.apply.symbol: kindname.method, g3, MethodReference46.SAM3, @885, kindname.class, MethodReference46, (compiler.misc.no.conforming.assignment.exists: (compiler.misc.invalid.mref: kindname.method, (compiler.misc.cant.apply.symbol: kindname.method, m, X, java.lang.Object, kindname.class, MethodReference46, (compiler.misc.incompatible.upper.lower.bounds: X, java.lang.Number, java.lang.Object)))) MethodReference46.java:43:9: compiler.err.ref.ambiguous: g4, kindname.method, g4(MethodReference46.SAM2), MethodReference46, kindname.method, g4(MethodReference46.SAM3), MethodReference46 3 errors diff -r babff83eb5c2 -r cd6eb36db1bb test/tools/javac/lambda/MethodReference58.java --- a/test/tools/javac/lambda/MethodReference58.java Mon Feb 22 06:57:59 2021 +0000 +++ b/test/tools/javac/lambda/MethodReference58.java Wed Apr 22 09:44:15 2015 -0700 @@ -23,7 +23,7 @@ /* * @test - * @bug 8004102 + * @bug 8004102 8078024 * @summary Add support for generic functional descriptors * @compile/fail/ref=MethodReference58.out -XDrawDiagnostics MethodReference58.java */ diff -r babff83eb5c2 -r cd6eb36db1bb test/tools/javac/lambda/MethodReference58.out --- a/test/tools/javac/lambda/MethodReference58.out Mon Feb 22 06:57:59 2021 +0000 +++ b/test/tools/javac/lambda/MethodReference58.out Wed Apr 22 09:44:15 2015 -0700 @@ -1,2 +1,2 @@ -MethodReference58.java:41:23: compiler.err.prob.found.req: (compiler.misc.invalid.mref: kindname.method, (compiler.misc.cant.apply.symbol: kindname.method, g, Z, X, kindname.class, MethodReference58, (compiler.misc.inferred.do.not.conform.to.upper.bounds: X, java.lang.Number))) +MethodReference58.java:41:23: compiler.err.prob.found.req: (compiler.misc.invalid.mref: kindname.method, (compiler.misc.cant.apply.symbol: kindname.method, g, Z, X, kindname.class, MethodReference58, (compiler.misc.incompatible.upper.lower.bounds: Z, java.lang.Number, X))) 1 error diff -r babff83eb5c2 -r cd6eb36db1bb test/tools/javac/lambda/MethodReference68.java --- a/test/tools/javac/lambda/MethodReference68.java Mon Feb 22 06:57:59 2021 +0000 +++ b/test/tools/javac/lambda/MethodReference68.java Wed Apr 22 09:44:15 2015 -0700 @@ -1,6 +1,6 @@ /* * @test /nodynamiccopyright/ - * @bug 8016175 + * @bug 8016175 8078024 * @summary Add bottom-up type-checking support for unambiguous method references * @compile/fail/ref=MethodReference68.out -XDrawDiagnostics MethodReference68.java */ diff -r babff83eb5c2 -r cd6eb36db1bb test/tools/javac/lambda/MethodReference68.out --- a/test/tools/javac/lambda/MethodReference68.out Mon Feb 22 06:57:59 2021 +0000 +++ b/test/tools/javac/lambda/MethodReference68.out Wed Apr 22 09:44:15 2015 -0700 @@ -1,3 +1,3 @@ -MethodReference68.java:21:10: compiler.err.cant.apply.symbol: kindname.method, g, MethodReference68.F,Z[], @493,int, kindname.class, MethodReference68, (compiler.misc.inferred.do.not.conform.to.upper.bounds: java.lang.Integer, MethodReference68.Foo,java.lang.Object) +MethodReference68.java:21:10: compiler.err.cant.apply.symbol: kindname.method, g, MethodReference68.F,Z[], @501,int, kindname.class, MethodReference68, (compiler.misc.incompatible.upper.lower.bounds: Z, MethodReference68.Foo,java.lang.Object, java.lang.Integer) MethodReference68.java:21:12: compiler.err.invalid.mref: kindname.method, (compiler.misc.non-static.cant.be.ref: kindname.method, getName()) 2 errors diff -r babff83eb5c2 -r cd6eb36db1bb test/tools/javac/lambda/TargetType02.java --- a/test/tools/javac/lambda/TargetType02.java Mon Feb 22 06:57:59 2021 +0000 +++ b/test/tools/javac/lambda/TargetType02.java Wed Apr 22 09:44:15 2015 -0700 @@ -1,6 +1,6 @@ /* * @test /nodynamiccopyright/ - * @bug 8003280 8029718 + * @bug 8003280 8029718 8078024 * @summary Add lambda tests * check overload resolution and target type inference w.r.t. generic methods * Should always use lambda body structure to disambiguate overload resolution diff -r babff83eb5c2 -r cd6eb36db1bb test/tools/javac/lambda/TargetType02.out --- a/test/tools/javac/lambda/TargetType02.out Mon Feb 22 06:57:59 2021 +0000 +++ b/test/tools/javac/lambda/TargetType02.out Wed Apr 22 09:44:15 2015 -0700 @@ -1,4 +1,4 @@ -TargetType02.java:33:14: compiler.err.prob.found.req: (compiler.misc.inferred.do.not.conform.to.upper.bounds: java.lang.Integer, java.lang.String) +TargetType02.java:33:14: compiler.err.prob.found.req: (compiler.misc.incompatible.upper.lower.bounds: Z, java.lang.String, java.lang.Integer) TargetType02.java:34:9: compiler.err.ref.ambiguous: call3, kindname.method, call3(TargetType02.S1), TargetType02, kindname.method, call3(TargetType02.S2), TargetType02 TargetType02.java:35:9: compiler.err.ref.ambiguous: call3, kindname.method, call3(TargetType02.S1), TargetType02, kindname.method, call3(TargetType02.S2), TargetType02 TargetType02.java:37:20: compiler.err.ref.ambiguous: call4, kindname.method, call4(TargetType02.S1), TargetType02, kindname.method, call4(TargetType02.S2), TargetType02