On 12/03/14 23:50, Walter Bright wrote:
The trouble, however, was illuminated most recently by the std.json regression
that broke existing code. The breakage wasn't even intentional; it was a
mistake. The user fix was also simple, just a tweak here and there to user code,
and the compiler pointed out where each change needed to be made.

But we nearly lost a major client over it.

I think for clarity it might be good to understand: was this near-loss because the client felt the language might have breaking changes in future, or because this breaking change had happened suddenly and with no warning?

A well-signposted and well-policed deprecation path is after all very different from what happened with std.json.

So, there's the solution that has been proposed before:

   !final
   !pure
   !nothrow
   etc.

These sound nice to have for themselves, whatever is decided about 
final-by-default.

Reply via email to