// !DIAGNOSTICS: -UNUSED_PARAMETER fun noArgs() {} fun oneLambdaArg(fn: () -> Unit) {} fun twoLambdaArgs(f1: () -> Unit, f2: () -> Unit) {} fun varargFn(vararg args: Int) {} fun testNoArgs() { noArgs() noArgs {} noArgs() {} noArgs() // {} noArgs() /* */ {} noArgs() /* block comment, no new line */ {} noArgs() /* block comment with new line */ {} noArgs() // comment // comment {} noArgs() {} {} noArgs() {} {} } fun testLambdaArg() { oneLambdaArg() oneLambdaArg {} oneLambdaArg() {} oneLambdaArg() {} {} oneLambdaArg( {}, {} ) oneLambdaArg() {} oneLambdaArg() // {} oneLambdaArg() /* */ {} oneLambdaArg() /* block comment */ {} oneLambdaArg() // comment // comment {} oneLambdaArg() {}/* block comment, no new line */ {} oneLambdaArg() {}/* block comment with new line */ {} oneLambdaArg() {}// comment // comment {} oneLambdaArg() {} {} oneLambdaArg() {} {} oneLambdaArg() {} // comment {} } fun testVararg() { varargFn(1,2,3) varargFn {} varargFn(1,2,3) {} varargFn(1,2,3) // {} varargFn(1,2,3) /* */ {} varargFn(1,2,3) /* block comment, no new line */ {} varargFn(1,2,3) /* block comment with new line */ {} varargFn(1,2,3) // comment // comment {} varargFn(1,2,3) {} {} varargFn(1,2,3) {} {} } fun testTwoLambdas() { twoLambdaArgs( f1 = {}, f2 = {} ) fun bar(): () -> Unit { twoLambdaArgs() {} {} return if (true) { twoLambdaArgs({}) {} {} } else { {} } } } fun f1(): (() -> Unit) -> (() -> Unit) -> Unit { return { l1 -> l1() { l2 -> l2() } } }