@@ -326,15 +326,18 @@ class Inliner(call: tpd.Tree, rhsToInline: tpd.Tree)(implicit ctx: Context) {
326
326
}
327
327
computeParamBindings(tp.resultType, Nil , argss)
328
328
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
+ }
335
339
}
336
- }
337
- computeParamBindings(tp.resultType, targs, argss.tail)
340
+ computeParamBindings(tp.resultType, targs, argss.tail)
338
341
case _ =>
339
342
assert(targs.isEmpty)
340
343
assert(argss.isEmpty)
0 commit comments