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