Final by default?
Joseph Rushton Wakeling
joseph.wakeling at webdrake.net
Wed Mar 12 16:05:14 PDT 2014
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.
More information about the Digitalmars-d
mailing list