toHash => pure, nothrow, const, @safe

H. S. Teoh hsteoh at quickfur.ath.cx
Mon Mar 12 22:03:08 PDT 2012


On Mon, Mar 12, 2012 at 10:58:18PM -0400, bearophile wrote:
> Walter:
> 
> > Good question. What do you suggest?
> 
> I suggest to follow a slow but reliable path, working bottom-up: turn
> to!string()/text()/format() into pure+nothrow functions, and then
> later require toString to be pure+nothrow and to have such
> annotations.
[...]

The problem is that there may not *be* a bottom to start from. These
functions are all interlinked to each other in various places (spread
across a myriad of different overrides of them). I've tried to find one
function that I can annotate without needing hundreds of other changes,
but alas, they all depend on each other at some level, and every time I
end up annotating almost every other function in druntime and the change
just gets bigger and bigger.


T

-- 
Trying to define yourself is like trying to bite your own teeth. -- Alan Watts


More information about the Digitalmars-d mailing list