/* package whatever; // don't place package name! */
import java.util.*;
import java.util.function.*;
import java.lang.*;
import java.io.*;
/* Name of the class has to be "Main" only if the class is public. */
class Ideone
{
static Foo foo;
{
System.
out.
println(testInt
()); System.
out.
println(testStr
()); }
static int testInt() {
return get(() -> foo.getInt(), "");
}
return get(() -> foo.getInt(), "");
}
static class Foo {
int getInt() {
return 1;
}
}
static <T> T get(Supplier<T> supplier, T defaultValue) {
try {
return supplier.get();
return defaultValue;
}
}
}
LyogcGFja2FnZSB3aGF0ZXZlcjsgLy8gZG9uJ3QgcGxhY2UgcGFja2FnZSBuYW1lISAqLwoKaW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS51dGlsLmZ1bmN0aW9uLio7CmltcG9ydCBqYXZhLmxhbmcuKjsKaW1wb3J0IGphdmEuaW8uKjsKCi8qIE5hbWUgb2YgdGhlIGNsYXNzIGhhcyB0byBiZSAiTWFpbiIgb25seSBpZiB0aGUgY2xhc3MgaXMgcHVibGljLiAqLwpjbGFzcyBJZGVvbmUKewoJc3RhdGljIEZvbyBmb287CgkKCXB1YmxpYyBzdGF0aWMgdm9pZCBtYWluIChTdHJpbmdbXSBhcmdzKSB0aHJvd3MgamF2YS5sYW5nLkV4Y2VwdGlvbgoJewoJCVN5c3RlbS5vdXQucHJpbnRsbih0ZXN0SW50KCkpOwoJCVN5c3RlbS5vdXQucHJpbnRsbih0ZXN0U3RyKCkpOwoJfQoJCglzdGF0aWMgaW50IHRlc3RJbnQoKSB7CgkJcmV0dXJuIGdldCgoKSAtPiBmb28uZ2V0SW50KCksICIiKTsKCX0KCQoJc3RhdGljIFN0cmluZyB0ZXN0U3RyKCkgewoJCXJldHVybiBnZXQoKCkgLT4gZm9vLmdldEludCgpLCAiIik7Cgl9CgkKCXN0YXRpYyBjbGFzcyBGb28gewoJCWludCBnZXRJbnQoKSB7CgkJCXJldHVybiAxOwoJCX0KCX0KCQoJc3RhdGljIDxUPiBUIGdldChTdXBwbGllcjxUPiBzdXBwbGllciwgVCBkZWZhdWx0VmFsdWUpIHsKCSAgICB0cnkgewoJICAgICAgICByZXR1cm4gc3VwcGxpZXIuZ2V0KCk7CgkgICAgfSBjYXRjaCAoTnVsbFBvaW50ZXJFeGNlcHRpb24gZSkgewoJICAgICAgICByZXR1cm4gZGVmYXVsdFZhbHVlOwoJICAgIH0KCX0KfQ==
Main.java:20: error: incompatible types: inferred type does not conform to upper bound(s)
return get(() -> foo.getInt(), "");
^
inferred: INT#1
upper bound(s): Integer,Object
where INT#1,INT#2 are intersection types:
INT#1 extends Object,Serializable,Comparable<? extends INT#2>,Constable,ConstantDesc
INT#2 extends Object,Serializable,Comparable<?>,Constable,ConstantDesc
Main.java:24: error: incompatible types: inferred type does not conform to upper bound(s)
return get(() -> foo.getInt(), "");
^
inferred: INT#1
upper bound(s): String,Object
where INT#1,INT#2 are intersection types:
INT#1 extends Object,Serializable,Comparable<? extends INT#2>,Constable,ConstantDesc
INT#2 extends Object,Serializable,Comparable<?>,Constable,ConstantDesc
2 errors