blob: 330290372fcc8939924a7bd9bc280225b5c4454a [file] [log] [blame]
// Copyright (c) 2019, the R8 project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
package unused_arg_in_lambdas_jstyle
private var COUNT = 0
fun nextInt() = COUNT++
fun next() = "${nextInt()}".padStart(3, '0')
fun main(args: Array<String>) {
multiFunctionLambdaFactory(next(), next(), next())
}
private data class Local<out T>(val id: T)
private fun <P1, P2, P3> multiFunctionLambdaFactory(a: P1, b: P2, c:P3) {
Lambdas.acceptMultiFunction({ x, _, z -> "$x:unused:$z" }, a, b, c)
Lambdas.acceptMultiFunction({ x, _, z -> "$x:unused:$z" }, c, a, b)
Lambdas.acceptMultiFunction({ x, _, z -> "$x:unused:$z" }, b, c, a)
Lambdas.acceptMultiFunction({ x, _, z -> "$x:unused:$z" }, Local(a), b, c)
Lambdas.acceptMultiFunction({ x, _, z -> "$x:unused:$z" }, Local(b), a, c)
Lambdas.acceptMultiFunction({ x, _, z -> "$x:unused:$z" }, Local(c), b, a)
}