'Kotlin filter list by predicate

I am trying to filter a list based on a condition that a property inside the list is an enum type. But I get an error on the filter function. Can anyone tell me how to resolve this error and why it is happening?

Type inference failed. The value of the type parameter T should be mentioned in input types (argument types, receiver type or expected type). Try to specify it explicitly.

My code is below:

data class Person(
    val name: String,
    val ageInDays: Int,
    val currentStatus: List<Status>,
)

data class Status(
    val name: String,
    val activity: Activity
)

enum class Activity {
    COOK,
    CLEAN,
    SLEEP,
}

fun main() {
    
    var build = listOf(
    Person("abc", 3655, listOf(
                                Status("abcProc1", Activity.COOK),
                                Status("abcProc2", Activity.CLEAN),
                                Status("abcProc2", Activity.SLEEP),
                              )
          ),
    Person("ghi", 500, listOf(
                                Status("ghiProc", Activity.COOK),
                                Status("ghiProc", Activity.SLEEP),
                              )
          ),
    Person("def", 1000,listOf(
                                Status("defProc", Activity.SLEEP)
                             )
          )
    )

println(build.filter { it.currentStatus.contains(Activity.CLEAN) })
    
}



Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source