Of all the test failures, only one was caused by a loop variable semantic test change in non-test code. That code was very low-level and could not tolerate a new allocation in the loop. The design document has details. This evidence suggests that changing the semantics is usually a no-...
Only one public class can be defined in a file. To construct a Base class, it's super class needs to be constructed first. So some constructor of the super class has to be called. Either you explicitly call it or the compiler will add super() (ie. no args constructor) as the first...
In addition, syntax restrictions can serve to enforce the use of subsets of languages. For instance, a syntax restriction may forbid imperative programming in student projects. While ad-hoc syntax restrictions are generally considered harmful in pro- gramming language design (from a pragmatic and a...