@@ -326,15 +326,18 @@ class Inliner(call: tpd.Tree, rhsToInline: tpd.Tree)(implicit ctx: Context) {
326326 }
327327 computeParamBindings(tp.resultType, Nil , argss)
328328 case tp : MethodType =>
329- assert(argss.nonEmpty, i " missing bindings: $tp in $call" )
330- tp.paramNames.lazyZip(tp.paramInfos).lazyZip(argss.head).foreach { (name, paramtp, arg) =>
331- paramSpan(name) = arg.span
332- paramBinding(name) = arg.tpe.dealias match {
333- case _ : SingletonType if isIdempotentPath(arg) => arg.tpe
334- case _ => paramBindingDef(name, paramtp, arg, bindingsBuf).symbol.termRef
329+ if argss.isEmpty then
330+ // can happen if arguments have errors, see i7438.scala
331+ ctx.error(i " mising arguments for inline method $inlinedMethod" , call.sourcePos)
332+ else
333+ tp.paramNames.lazyZip(tp.paramInfos).lazyZip(argss.head).foreach { (name, paramtp, arg) =>
334+ paramSpan(name) = arg.span
335+ paramBinding(name) = arg.tpe.dealias match {
336+ case _ : SingletonType if isIdempotentPath(arg) => arg.tpe
337+ case _ => paramBindingDef(name, paramtp, arg, bindingsBuf).symbol.termRef
338+ }
335339 }
336- }
337- computeParamBindings(tp.resultType, targs, argss.tail)
340+ computeParamBindings(tp.resultType, targs, argss.tail)
338341 case _ =>
339342 assert(targs.isEmpty)
340343 assert(argss.isEmpty)
0 commit comments