May 28, 2020
The description of D's safety system is currently spread over (at least) two pages in the spec:

1) https://dlang.org/spec/function.html
2) https://dlang.org/spec/memory-safe-d.html

Most of the content on memory-safe-d.html can also be found on function.html in more "speccy" language.

But for some reason, memory-safe-d.html has descriptions of `scope` and `return` parameters that seem to be missing from function.html. Maybe the author of those accidentally picked to wrong spot to add them?

To reduce confusion, I suggest to eliminate the duplication.

Two ways to go about it:

A) Move the "Scope and Return Parameters" section to function.html. If there's anything else that's not already on function.html, move that too. Delete the duplicated content from memory-safe-d.html. It should be empty now. "Cool URIs don't change" [1], so leave memory-safe-d.html itself up and let it link to <function.html#function-safety>.

B) Extract everything safety-related from function.html and move it to memory-safe-d.html. Again, put links from the old spots to the new one.

Option A is probably easier.

I'm throwing this out there, because I'm probably not going to pursue this. But I think it would help improve the spec. Maybe someone wants to have a got at it?


[1] https://www.w3.org/Provider/Style/URI.html