| // 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) | 
 | } |