Have we ever consider the option of supporting both 0.6 and 1.0 scoping behavior via a command line argument?
Looks like c++ compiler took a similar path as explained in the Proposal: Go 2 transition:
An example of a breaking change in C++ was the change in the scope of a variable declared in the initialization statement of a for loop. In the pre-standard versions of C++, the scope of the variable extended to the end of the enclosing block, as though it were declared immediately before the for loop. During the development of the first C++ standard, C++98, this was changed so that the scope was only within the for loop itself. Compilers adapted by introducing options like
-ffor-scopeso that users could control the expected scope of the variable (for a period of time, when compiling with neither
-fno-for-scope, the GCC compiler used the old scope but warned about any code that relied on it).