--- old/src/jdk.compiler/share/classes/com/sun/tools/javac/comp/ArgumentAttr.java 2018-08-01 08:09:02.787826097 +0200 +++ new/src/jdk.compiler/share/classes/com/sun/tools/javac/comp/ArgumentAttr.java 2018-08-01 08:09:02.495826111 +0200 @@ -480,9 +480,7 @@ @Override Type overloadCheck(ResultInfo resultInfo, DeferredAttrContext deferredAttrContext) { ResultInfo localInfo = resultInfo.dup(attr.conditionalContext(resultInfo.checkContext)); - if (speculativeTree.isStandalone()) { - return localInfo.check(speculativeTree, speculativeTree.type); - } else if (resultInfo.pt.hasTag(VOID)) { + if (resultInfo.pt.hasTag(VOID)) { //this means we are returning a poly switch expression from void-compatible lambda expression resultInfo.checkContext.report(tree, attr.diags.fragment(Fragments.SwitchExpressionTargetCantBeVoid)); return attr.types.createErrorType(resultInfo.pt);