Introducing new interfaces that have no methods is clearly source- and binary compatible, so I am not particularly compelled by "some very brittle and badly written code might break." So far, no onehas proposed any examples that would make us reconsider that.??; you are forgetting inference, this code will fail to compile class A {} class B {} var list = List.of(new A(), new B()); List<Object> list2 = list:
Good catch. There is precedent for leaving certain interfaces out of inference, though; I suspect we will want to do this for these interfaces too.
