``` enum class EnumA { A, B; val group = E...
# announcements
y
Copy code
enum class EnumA {
    A, B;
    val group = EnumB.values().find { this == it.enumA }
}

enum class EnumB(val enumA: EnumA) {
    A1(EnumA.A),
    B1(EnumA.B),
}

EnumB.values().map { it.enumA } // => [null, null]
EnumA.A.group  // == null
EnumB.values().find { EnumA.A == it.enumA }  // == null
Why does EnumB.enumA, for every EnumB value, equals
null
? (I know it's happening because of the circular dependency (caused by the group property), but I'm not sure it should be like that) Edit: I'm a bit confused. I had thought the reason is the circular dependency, but this code:
Copy code
enum class EnumA(val enumB: EnumB) { A(EnumB.B) }
enum class EnumB(val enumA: EnumA) { B(EnumA.A) }
EnumB.values().map { it.enumA }
actually works as expected and return
[A]
. 🤨
a