Type inference bug with method references in OpenJDK 16+ discovered

Michael Mirwaldt michael.mirwaldt at gmx.de
Sun Jun 20 21:48:50 UTC 2021


Hi,
I wanted to report a bug in the type inference with references in
OpenJDK 16 and 17-ea.
I have created a sample project on
https://github.com/mmirwaldt/TypeInferenceBugOfMethodReferences/
<https://github.com/mmirwaldt/TypeInferenceBugOfMethodReferences/>
to reproduce the bug. Just run Main and notice the exception.
However, a friend told me that the bug only occurs with compiling
directly by javac but not by maven compile.
We don't know why. Moreover, it seems to be dependent on the operating
system:
I haven't been able to reproduce the bug on linux (CentOS 7, OpenJDK
16.0.1) yet. Windows 10 and Mac show that bug, though.
Can you please have a look on it, try it out and help me creating a bug
ticket if you can confirm it's a bug?
I mean it must be a bug if the type inference somehow infers the wrong
type of a method reference which leads to an exception at runtime,
doesn't it?
Type inference should either infer the right type or cause a compiler
error if it cannot infer the type or isn't sure about it in order to ask
the developer for an explicit declaration. Is that right?
I am sorry I cannot help you finding the bug in the code of the compiler
which infers types. I would if I could.
All the best,
Michael Mirwaldt



More information about the compiler-dev mailing list