Timon Gehr:
It doesn't. The reinitialization may be observable through references obtained from earlier calls.
Right, so that pure function can return only const data: const(int[]) foo() pure { Is this idea still sufficiently useful? Perhaps not. Bye, bearophile