On 12/11/10 1:32 PM, Jonathan M Davis wrote:
On Saturday 11 December 2010 11:06:45 Jesse Phillips wrote:
Andrei Alexandrescu Wrote:
This program will generate a valid executable, but will also print
during compilation:
Type int is not a random access range because:
no empty property
no front property
no popFront method
no indexing
no slicing
When a programmer has an odd issue with a range check, turning
verboseness of checks could help.
What do you think?
Andrei
I think it would be best if DMD would emit which constraint failed. Better
support for automatically say why would be good too. Basically I like
bearophile's suggestion to give them more structure. But until then, yes
do this. It should be everywhere, but ranges a big, and need them now!
It would be great if dmd said which constraint failed, but since you're dealing
with an arbitary boolean expression, in many cases, would not be particularly
straightforward to say what failed, and I expect that it would be a _big_ change
for the compiler.
Exactly. Oftentimes certain tests are supposed to not fail. All we can
do is to be verbose and let the programmer see the last messages emitted
prior to failure.
Andrei