No se pueden reutilizar los parameters de la function

Estoy tratando de reutilizar los parameters de la function algo como esto

fun test(i: Int) { i += 5 } 

pero como se señala en esta distinción

Los parameters de function son val no var

En Kotlin, los arguments de la function se tratan como val . Eso significa que tendrá que hacer algo dentro de su function para "modificar" su reference.

Su solución funcionará, pero creo que es una mala práctica seguir las variables. Conduce a confusión y no cubre exactamente la intención de que entiendas que el efecto es local para la function.

Me gustaría ir con algo como esto:

 fun test(i: Int) { var i2 = i i2 += 3 // etc... } 

la única solución que encontré es usar sombreado de nombres, es decir, algo así

 fun test(i: Int) { var i = i i += 5 } 

No estoy seguro si es la mejor solución porque no se siente bien, incluso IntelliJ IDEA me lo advierte.

Esperaba algo mágico como

 fun test(var i: Int) { i += 5 } 

pero, desafortunadamente, esto ni siquiera se comporta.