mirror of
https://github.com/openjdk/jdk.git
synced 2026-03-16 19:03:22 +00:00
8021338: Diamond finder may mark a required type argument as unnecessary
Reviewed-by: mcimadamore
This commit is contained in:
parent
21ab6d5558
commit
0847cbc403
@ -2195,7 +2195,9 @@ public class Attr extends JCTree.Visitor {
|
||||
syms.objectType :
|
||||
clazztype;
|
||||
if (!inferred.isErroneous() &&
|
||||
types.isAssignable(inferred, pt().hasTag(NONE) ? polyPt : pt(), types.noWarnings)) {
|
||||
(allowPoly && pt() == Infer.anyPoly ?
|
||||
types.isSameType(inferred, clazztype) :
|
||||
types.isAssignable(inferred, pt().hasTag(NONE) ? polyPt : pt(), types.noWarnings))) {
|
||||
String key = types.isSameType(clazztype, inferred) ?
|
||||
"diamond.redundant.args" :
|
||||
"diamond.redundant.args.1";
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
/*
|
||||
* @test /nodynamiccopyright/
|
||||
* @bug 6939780 7020044 8009459
|
||||
* @bug 6939780 7020044 8009459 8021338
|
||||
*
|
||||
* @summary add a warning to detect diamond sites
|
||||
* @author mcimadamore
|
||||
@ -36,4 +36,15 @@ class T6939780 {
|
||||
|
||||
void gw(Foo<?> fw) { }
|
||||
void gn(Foo<Number> fn) { }
|
||||
|
||||
static class Foo2<X> {
|
||||
X copy(X t) {
|
||||
return t;
|
||||
}
|
||||
}
|
||||
|
||||
void testReciever() {
|
||||
Number s = new Foo2<Number>().copy(0);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user