d-programming-language.org

eles eles at eles.com
Sun Jul 3 14:23:10 PDT 2011


> various arguments. Please don't bring this up again. Thank you.

I won't, but this is because I made that decision minutes ago.

> > Well, (almost) enough for now. I also maintain that unsigned types
> > should throw out-of-range exceptions (in debug mode, so that
release
> > will run as fast as it gets) when decremented below zero, unless
> > specifically marked as *circular* (i.e. intended behavior) or
> > something like this. This will prevent some bugs. I see those
quite
> > often in my student's homeworks.
> Safe on top of flexible is the best design. If there is anything
> preventing you from defining a type with the behavior you mention,
you
> may want to file a bug.

type information will disappear after compilation. defining a class
over unsigned int (and overloading operators) on top of that will be
way too much overhead. in fact, this is what compiler would do for
the debug type.

to not break the existing code: define "uncircular" types that will
throw that exception. this could be implemented as a @keyword, since
is more like a annotation.


More information about the Digitalmars-d mailing list