Doing a static method call without the first argument being an instance of the class or an instance of a derived class, would incorrectly be able to bind to a function without class as first parameter.
private class Foo {} private void bar(str k) {} Foo.bar("");//this call would incorrectly bind to the function above
A repeated case in a case expression list would fail to be detected
switch("foo") { case "foo": {} case "foo", "bar": {} //repeated case "foo" in case expression list would incorrectly be allowed }