hg: valhalla/valhalla: 8222784: [lworld] Remove stale compiler options: -XDallowGenericsOverValues and -XDdisallowValueConstructors
Srikanth
srikanth.adayapalam at oracle.com
Sat Apr 20 11:44:22 UTC 2019
Hi Remi,
Thanks for the test cases, I will take a look at these and see how
straightforward the fixes will be.
If necessary I can revert the withdrawal - do send me other cases as you
iterate over your examples
Thanks!
Srikanth
On 20/04/19 3:53 PM, Remi Forax wrote:
> Hum,
> i think you have been a little too fast on removing -XDallowGenericsOverValues,
> there are still a lot of constructions that doesn't support the null projection.
>
> - you can not use '?' in 'implements Comparable<Foo?>' so the following code doesn't compile
> public @__value__ class Foo implements Comparable<Foo?>{
> final int value;
>
> public Foo(int value) {
> this.value = value;
> }
>
> @Override
> public int compareTo(Foo? o) {
> return Integer.compare(value, foo.value);
> }
> }
>
> - lambda with wildcard doesn't work
> import java.util.function.Consumer;
>
> public @__value__ class CaptureBug {
> final int value;
>
> public CaptureBug(int value) {
> this.value = value;
> }
>
> private static void accept(Consumer<? super CaptureBug?> consumer) {
> consumer.accept(new CaptureBug(3));
> }
>
> public static void main(String[] args) {
> accept(value -> System.out.println(value));
> }
> }
>
> - .class notation is not supported
> public class DotClass {
> final int value;
>
> public DotClass(int value) {
> this.value = value;
> }
>
> private static <T> T foo(Class<T> type) {
> return null;
> }
>
> public static void main(String[] args) {
> foo(DotClass?.class);
> }
> }
>
>
> I'm sure they are other cases, i will iterate over all my examples later this week end.
>
> Rémi
>
> ----- Mail original -----
>> De: "Srikanth" <srikanth.adayapalam at oracle.com>
>> À: "valhalla-dev" <valhalla-dev at openjdk.java.net>
>> Envoyé: Samedi 20 Avril 2019 07:38:21
>> Objet: Re: hg: valhalla/valhalla: 8222784: [lworld] Remove stale compiler options: -XDallowGenericsOverValues and
>> -XDdisallowValueConstructors
>> I have removed the support for these two internal experimental options:
>>
>> (1) -XDdisallowValueConstructors: We have settled on value instance
>> construction using the canonial construction syntax via new ().
>>
>> (2) -XDallowGenericsOverValues: Use the null projection type instead (V?)
>>
>> Here is a summary of current internal options: Of these the last two are
>> supposed to be transitory. If you are the concerned contributor, let me
>> know as soon as these can be withdrawn.
>>
>> -XDallowWithFieldOperator
>> -XDallowValueBasedClasses
>> -XDallowEmptyValues
>> -XDnonCovariantValueArrays
>> -XDallowValueMemberCycles
>>
>> Thanks!
>> Srikanth
>>
>> On 20/04/19 11:04 AM, srikanth.adayapalam at oracle.com wrote:
>>> Changeset: 49898238a5bb
>>> Author: sadayapalam
>>> Date: 2019-04-20 11:04 +0530
>>> URL: http://hg.openjdk.java.net/valhalla/valhalla/rev/49898238a5bb
>>>
>>> 8222784: [lworld] Remove stale compiler options: -XDallowGenericsOverValues and
>>> -XDdisallowValueConstructors
>>>
>>> ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Attr.java
>>> ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Check.java
>>> !
>>> src/jdk.compiler/share/classes/com/sun/tools/javac/resources/compiler.properties
>>> ! test/langtools/tools/javac/diags/examples.not-yet.txt
>>> ! test/langtools/tools/javac/valhalla/lworld-values/BoxValCastTest.java
>>> ! test/langtools/tools/javac/valhalla/lworld-values/BoxValCastTest2.java
>>> ! test/langtools/tools/javac/valhalla/lworld-values/CheckFinal.java
>>> ! test/langtools/tools/javac/valhalla/lworld-values/CheckFinal.out
>>> !
>>> test/langtools/tools/javac/valhalla/lworld-values/CheckValueFactoryWithReference.java
>>> !
>>> test/langtools/tools/javac/valhalla/lworld-values/CheckValueFactoryWithReference.out
>>> !
>>> test/langtools/tools/javac/valhalla/lworld-values/InferredValueParameterizationTest.java
>>> ! test/langtools/tools/javac/valhalla/lworld-values/ValueConstructorRef.java
>>> ! test/langtools/tools/javac/valhalla/lworld-values/ValueOverGenericsTest.java
>>> - test/langtools/tools/javac/valhalla/lworld-values/ValueOverGenericsTest2.out
>>> ! test/langtools/tools/javac/valhalla/lworld-values/ValuesAsRefs.java
More information about the valhalla-dev
mailing list