DIP 1000--Scoped Pointers--Superseded

Petar Petar
Tue Mar 12 17:58:47 UTC 2019


On Tuesday, 12 March 2019 at 17:48:20 UTC, Chris M. wrote:
> On Thursday, 7 March 2019 at 11:30:01 UTC, Mike Parker wrote:
>> As most of you surely know, DIP 1000, "Scoped Pointers", has 
>> been sitting in the DIP queue with the Draft status for ages 
>> and was significantly out of sync with the implementation. 
>> When I first took over as DIP Manager, the initial plan was to 
>> rewrite the DIP to match the implementation once the 
>> implementation had stabilized.
>>
>> I asked Walter about it recently and he agreed that, at this 
>> point, the "Superseded" status would be appropriate for this 
>> DIP. It was introduced when an implementation of DIP 1006 was 
>> implemented that differed from the proposal. The circumstances 
>> for DIP 1000 are similar, though perhaps more extreme.
>>
>> So DIP 1000 is now branded "Superseded".
>>
>> https://github.com/dlang/DIPs/blob/master/DIPs/other/DIP1000.md
>
> Is the implementation documented anywhere?

Sort of. The semantics of the `scope` and `return` attributes 
(no, they're not transitive type-qualifiers/constructors) are 
documented here:

* https://dlang.org/spec/function.html#return-ref-parameters
* https://dlang.org/spec/function.html#return-scope-parameters
* https://dlang.org/spec/function.html#ref-return-scope-parameters

Full checking is performed only for @safe functions, when 
compiled with -preview=dip1000.


More information about the Digitalmars-d-announce mailing list