On the future of DIP1000
Dicebot via Digitalmars-d-announce
digitalmars-d-announce at puremagic.com
Sun Aug 21 13:01:27 PDT 2016
This week I had a tele-meeting with Andrei and Walter regarding
the fate
of DIP1000
(https://github.com/dlang/DIPs/blob/master/DIPs/DIP1000.md)
and intented way to move forward with it. This is a short summary
of the
meeting.
Approval of DIP1000
-------------------
DIP1000 is going to be approved as the basis of the idea
but exact specification may change during implementation and as a
result
of incorporating some ideas from feedback threads
(http://forum.dlang.org/thread/pqsiqmkxenrwxoruzaml@forum.dlang.org and
http://forum.dlang.org/thread/rwxcfapvpfiqmfsuixlf@forum.dlang.org).
Core principles that are sure to stay at this point:
- scope is a storage class
- scope is non-transitive
- scope is @safe only
- responsibility of implementing complicated scope-using types is
on
developer, compiler magic is intended to be minimal
Any changes in intended DIP1000 spec will be reflected in original
document
(https://github.com/dlang/DIPs/blob/master/DIPs/DIP1000.md).
Implementation of DIP1000
-------------------------
Walter is currently working on implementing the support via
https://github.com/dlang/dmd/pull/5972, which will take some
time. Once
it is more feature complete I'll contact Martin for possible
out-of-release preview compiler builds from that branch to try it
out
easily. About that time we will start another feedback thread in
the NG
with a more practical focus - featuring more code examples and
design
idioms.
Life after DIP1000
------------------
It is acknowledged that DIP1000 itself does not allow to
implemented
completely @safe reference counting, primarily because of an
issue with
@trusted destructor and re-assignment. Intention is to follow up
with
another proposal (not directly related) to address the issue from
another angle - but this will only become in focus after DIP1000
is
finished.
More information about the Digitalmars-d-announce
mailing list