On Wednesday, 28 September 2016 at 10:50:00 UTC, Jack Stouffer
wrote:
On Wednesday, 28 September 2016 at 10:45:11 UTC, Andrei
Alexandrescu wrote:
Assertions such as "makes the code cleaner" are likely to add
value only if backed up by evidence (case studies, realistic
examples).
This is based on my anecdotal experience. I also posted an
example in the original thread which was included in the DIP.
Porting motivating arguments from other languages is helpful
only if put in the context of D, e.g. Python does not have
"scope" statements, which makes matters different across the
two languages.
It was already shown in this thread how scope statements do not
achieve the same effect as the try/else statement; the point
still stands.
Yes, scope can't immitate catch else without a flag. It doesn't
follow that therefore we need catch else.
What realistic code will be made significantly better by having
it? Under what circumstances is structuring the code differently
or using a flag so unacceptable that a new language feature is
worth it?
That's the question that needs answering.