This surprises me: ```class Foo { companion ob...
# getting-started
d
This surprises me:
Copy code
class Foo {
    companion object {
        data object Bar
        val Baz = "Baz"
    }
}

fun main() {
    println(Foo.Companion.Baz) // This works, with "redundant Companion reference" note in IDE
    println(Foo.Baz)           // This works fine.
    println(Foo.Companion.Bar) // This works, no "redundant Companion reference" note.
    println(Foo.Bar)           // This is a compile error.
}
e
Copy code
class Foo {
    data object Bar
    companion object {
        data object Bar
    }
}
Foo.Bar != Foo.Companion.Bar
d
Yep. It makes sense, but it was surprising