Método igual para la clase de datos en kotlin

Tengo la siguiente clase de datos

data class PuzzleBoard(val board: IntArray) {
    val dimension by lazy { Math.sqrt(board.size.toDouble()).toInt() }
}

Leí que las clases de datos en Kotlin obtienen el método equals () / hashcode () de forma gratuita.

Ejecuté dos objetos.

val board1 = PuzzleBoard(intArrayOf(1,2,3,4,5,6,7,8,0))
val board2 = PuzzleBoard(intArrayOf(1,2,3,4,5,6,7,8,0))

Pero aún así las siguientes declaraciones devuelven falso.

board1 == board2
board1.equals(board2)

Respuestas a la pregunta(2)

Su respuesta a la pregunta