Braces should be optional for object expressions


In many cases, an object expression is used to override functionality:

val o = object : SomeInterface {
    override fun doSomething() {

However, when using an object expression to extend an abstract class (that has no abstract members remaining) the braces can be extraneous when you’re not overriding anything:

val o = object : SomeAbstractClass() {
    // nobody's home

I propose that the object expression braces be made optional, such that when there are no member definitions needed for a valid object expression, they can be omitted:

val o = object : SomeAbstractClass()