@@ -36,6 +36,7 @@ import annotation.threadUnsafe
3636
3737import scala .util .control .NonFatal
3838import dotty .tools .dotc .inlines .Inlines
39+ import dotty .tools .dotc .util .chaining .*
3940
4041object Applications {
4142 import tpd .*
@@ -602,7 +603,7 @@ trait Applications extends Compatibility {
602603 fail(TypeMismatch (methType.resultType, resultType, None ))
603604
604605 // match all arguments with corresponding formal parameters
605- if success then matchArgs(orderedArgs, methType.paramInfos, n= 0 )
606+ if success then matchArgs(orderedArgs, methType.paramInfos, n = 0 )
606607 case _ =>
607608 if (methType.isError) ok = false
608609 else fail(em " $methString does not take parameters " )
@@ -757,20 +758,18 @@ trait Applications extends Compatibility {
757758 }
758759 else defaultArgument(normalizedFun, n, testOnly)
759760
760- // a bug allowed empty parens to expand to implicit args, offer rewrite only on migration
761+ // a bug allowed empty parens to expand to implicit args: fail empty args for rewrite on migration
761762 def canSupplyImplicits = methodType.isImplicitMethod
762- && (applyKind == ApplyKind .Using || {
763- if args1 .isEmpty then
763+ && (applyKind == ApplyKind .Using || false .tap : _ =>
764+ if Application . this .args .isEmpty then
764765 fail(MissingImplicitParameterInEmptyArguments (methodType.paramNames(n), methString))
765- true
766- })
767- && ctx.mode.is(Mode .ImplicitsEnabled )
766+ )
768767
769768 if ! defaultArg.isEmpty then
770769 defaultArg.tpe.widen match
771770 case _ : MethodOrPoly if testOnly => matchArgs(args1, formals1, n + 1 )
772771 case _ => matchArgs(args1, addTyped(treeToArg(defaultArg)), n + 1 )
773- else if methodType.isContextualMethod && ctx.mode.is(Mode .ImplicitsEnabled ) || canSupplyImplicits then
772+ else if ( methodType.isContextualMethod || canSupplyImplicits) && ctx.mode.is(Mode .ImplicitsEnabled ) then
774773 val implicitArg = implicitArgTree(formal, appPos.span)
775774 matchArgs(args1, addTyped(treeToArg(implicitArg)), n + 1 )
776775 else
@@ -1190,8 +1189,7 @@ trait Applications extends Compatibility {
11901189 retry = true
11911190 rewrites.Rewrites .patch(tree.span.withStart(tree.span.point), " " ) // f() -> f
11921191 Diagnostic .Warning (err.msg, err.pos)
1193- else
1194- err
1192+ else err
11951193 case _ => err
11961194 case dia => dia
11971195 retry
0 commit comments