Compiling some project fails due to ambiguous Record class name

Alex Buckley alex.buckley at oracle.com
Mon Jan 6 18:44:35 UTC 2020


The release note JDK-8236439 doesn't say how to make the existing source 
file compile, so I went looking for a CSR that surely! must have 
recorded the source incompatibility of "reserving" the simple type name 
Record. However, the CSR for JDK-8225054 "Compiler implementation for 
records" is silent on the impact of auto-importing java.lang.Record, and 
there is no CSR at all for JDK-8227113 "Specification for 
java.lang.Record". (Vicente may recall we discussed this in November on 
an internal thread "Auto-import of preview APIs in java.lang when 
--enable-preview is off?")

I edited the release note for clarity and to mention the use of a 
single-type import to reference a pre-existing type called Record.

Alex

On 1/2/2020 8:47 AM, Vicente Romero wrote:
> yes this will be mentioned in 14's release notes,
> 
> Thanks,
> Vicente
> 
> On 1/1/20 6:29 AM, Tagir Valeev wrote:
>> Hello!
>>
>> Probably it's quite expected, but I'm reporting this just for the
>> case. We are trying to build some opensource projects just using the
>> Java 14. One of our test projects is univocity-parsers [1]. When I try
>> to compile it with Java 14 (without even preview option) I see 57
>> compilation errors like this:
>>
>> .../univocity-parsers/src/main/java/com/univocity/parsers/common/AbstractWriter.java:[711,22] 
>>
>> reference to Record is ambiguous
>> both interface com.univocity.parsers.common.record.Record in
>> com.univocity.parsers.common.record and class java.lang.Record in
>> java.lang match
>>
>> This project defines a class
>> com.univocity.parsers.common.record.Record and often imports it using
>> import com.univocity.parsers.common.record.*;
>>
>> Thus, the import becomes ambiguous. This could be fixed by rewriting
>> the imports manually (our IDE doesn't provide an easy way to automate
>> this). I wonder how many projects could be affected by this problem.
>> The 'Record' type name is quite common. In any case, this problem
>> should be mentioned in Java 14 migration notes.
>>
>> With best regards,
>> Tagir Valeev.
>>
>> [1] https://github.com/uniVocity/univocity-parsers
> 


More information about the amber-dev mailing list