www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.learn - DIP1000 spec?

reply Steven Schveighoffer <schveiguy gmail.com> writes:
I was just looking through the DIPs in the system, and noticed that 
DIP1000 is "superseded".

I thought that was odd, since it's in the compiler as a switch and is a 
major driver of discussion and hope for memory safety.

In the DIP it says [1]:

"This DIP did not complete the review process. It was left in Draft 
status for an extended period. During that time, an implementation of 
the proposal was released. It diverged significantly enough from the 
proposal that the decsion was made by the Language Maintainers, who are 
also coauthors of the DIP, to retire the DIP as "Superseded" rather than 
rewriting it."

So where is the documentation that describes what is actually 
implemented? The section on Scope and Return parameters [2] in the spec 
is pretty light compared to the DIP text, and only addresses parameters, 
not locals.

Without full documentation in the spec, it can be difficult to know 
whether something should or should not be a bug.

-Steve

[1] 
https://github.com/dlang/DIPs/blob/e64bd0adfd3f6617038e214c82bc5093f2d33aea/DIPs/other/DIP1000.md#formal-assessment

[2] https://dlang.org/spec/memory-safe-d.html#scope-return-params
Jun 12 2020
next sibling parent Kagamin <spam here.lot> writes:
Logic is apparently still in flux, too early to document.
Jun 14 2020
prev sibling parent Avrina <avrina12309412342 gmail.com> writes:
On Friday, 12 June 2020 at 12:49:08 UTC, Steven Schveighoffer 
wrote:
 I was just looking through the DIPs in the system, and noticed 
 that DIP1000 is "superseded".

 I thought that was odd, since it's in the compiler as a switch 
 and is a major driver of discussion and hope for memory safety.

 In the DIP it says [1]:

 "This DIP did not complete the review process. It was left in 
 Draft status for an extended period. During that time, an 
 implementation of the proposal was released. It diverged 
 significantly enough from the proposal that the decsion was 
 made by the Language Maintainers, who are also coauthors of the 
 DIP, to retire the DIP as "Superseded" rather than rewriting 
 it."

 So where is the documentation that describes what is actually 
 implemented? The section on Scope and Return parameters [2] in 
 the spec is pretty light compared to the DIP text, and only 
 addresses parameters, not locals.

 Without full documentation in the spec, it can be difficult to 
 know whether something should or should not be a bug.

 -Steve

 [1] 
 https://github.com/dlang/DIPs/blob/e64bd0adfd3f6617038e214c82bc5093f2d33aea/DIPs/other/DIP1000.md#formal-assessment

 [2] 
 https://dlang.org/spec/memory-safe-d.html#scope-return-params
This is the state of most of Walter's DIPs. He's just making it up as he goes, it's the same thing with the live implementation. Just buckle up, hold your cheeks tight and hope for the best.
Jun 15 2020