RFR: 8322810: Lambda expression types can't be classes [v7]
Vicente Romero
vromero at openjdk.org
Fri Apr 11 00:43:02 UTC 2025
> Currently javac is accepting code like:
>
>
> class Test {
> void m() {
> var r = (Test & Runnable) () -> System.out.println("Hello, World!");
> }
> }
>
>
> according to: `4.9 Intersection Types` a notional interface can't be induced here as one of the components is a class different from `j.l.Object`
>
> With this fix this code pattern will be rejected with a compiler error
>
> TIA
Vicente Romero has updated the pull request incrementally with one additional commit since the last revision:
additional tests
-------------
Changes:
- all: https://git.openjdk.org/jdk/pull/24548/files
- new: https://git.openjdk.org/jdk/pull/24548/files/c3ba9234..7c633986
Webrevs:
- full: https://webrevs.openjdk.org/?repo=jdk&pr=24548&range=06
- incr: https://webrevs.openjdk.org/?repo=jdk&pr=24548&range=05-06
Stats: 14 lines in 2 files changed: 8 ins; 0 del; 6 mod
Patch: https://git.openjdk.org/jdk/pull/24548.diff
Fetch: git fetch https://git.openjdk.org/jdk.git pull/24548/head:pull/24548
PR: https://git.openjdk.org/jdk/pull/24548
More information about the compiler-dev
mailing list