On Wednesday, January 03, 2018 22:02:22 Mark via Digitalmars-d-learn wrote: > The documentation says the modification of pointer values is not > allowed in safe functions. Yet the following compiles fine on dmd: > > void main() @safe > { > int* x = new int; > int* y = new int; > y=x; > } > > Is this simply a compiler bug?
Where are you reading that in the documentation? There's nothing unsafe whatsoever about assigning one pointer to another. Now, pointer arithmetic is unsafe, and that's forbidden in @safe functions. So, I suspect that you're ether misunderstanding the documentation and/or the documentation isn't clear enough. - Jonathan M Davis