www.digitalmars.com         C & C++   DMDScript  

digitalmars.D - State of DIP 1000

reply Dennis <dkorpel gmail.com> writes:
How is DIP 1000 doing? The document [1] says 'status: draft' and 
'pending a rewrite', though there already is an implementation 
behind the -dip1000 flag and I've seen people using it. How much 
is implemented? Should I already compile with it and use scope?

The last forum thread I found "On the future of DIP1000" [3] is 
from 2016. What's the current roadmap?

Relatedly, can I already use 'in' for function parameters?
"It is recommended to avoid using in until it is properly defined 
and implemented. Use scope const or const explicitly instead." 
[3] Is that up to date?

[1] https://github.com/dlang/DIPs/blob/master/DIPs/DIP1000.md
[2] 
https://forum.dlang.org/thread/taqkzwiezkfylxjinozg forum.dlang.org?page=1
[3] https://dlang.org/spec/function.html#param-storage
Feb 26 2019
parent reply Jonathan M Davis <newsgroup.d jmdavisprog.com> writes:
On Tuesday, February 26, 2019 1:00:59 PM MST Dennis via Digitalmars-d wrote:
 How is DIP 1000 doing? The document [1] says 'status: draft' and
 'pending a rewrite', though there already is an implementation
 behind the -dip1000 flag and I've seen people using it. How much
 is implemented? Should I already compile with it and use scope?

 The last forum thread I found "On the future of DIP1000" [3] is
 from 2016. What's the current roadmap?

 Relatedly, can I already use 'in' for function parameters?
 "It is recommended to avoid using in until it is properly defined
 and implemented. Use scope const or const explicitly instead."
 [3] Is that up to date?

 [1] https://github.com/dlang/DIPs/blob/master/DIPs/DIP1000.md
 [2]
 https://forum.dlang.org/thread/taqkzwiezkfylxjinozg forum.dlang.org?page=1
 [3] https://dlang.org/spec/function.html#param-storage
Unless something has changed recently, in doesn't mean scope at all at this point - even with -dip1000. It was decided to not make it mean scope with DIP 1000, because doing so would break a lot of existing code - though some folks were very vocal in complaining about that. So, maybe that will change (especially since DIP 1000 is already pretty disruptive as it is), but as I understand it, even if you use -dip1000, in will mean the same thing as const, and AFAIK, there are no plans to change that. But I haven't been paying close attention to dmd PRs, so it's possible that something has changed. - Jonathan M Davis
Feb 26 2019
parent reply Dennis <dkorpel gmail.com> writes:
On Tuesday, 26 February 2019 at 20:30:29 UTC, Jonathan M Davis 
wrote:
 It was decided to not make it mean scope with DIP 1000, because 
 doing so would break a lot of existing code - though some folks 
 were very vocal in complaining about that.
That's a pity, I was hoping to abbreviate 'const scope' with 'in' in my parameter lists. Was that discussion on this forum?
Feb 27 2019
next sibling parent Nicholas Wilson <iamthewilsonator hotmail.com> writes:
On Wednesday, 27 February 2019 at 08:54:52 UTC, Dennis wrote:
 On Tuesday, 26 February 2019 at 20:30:29 UTC, Jonathan M Davis 
 wrote:
 It was decided to not make it mean scope with DIP 1000, 
 because doing so would break a lot of existing code - though 
 some folks were very vocal in complaining about that.
That's a pity, I was hoping to abbreviate 'const scope' with 'in' in my parameter lists. Was that discussion on this forum?
I'll add that to the DConf agenda.
Feb 27 2019
prev sibling parent Eugene Wissner <belka caraus.de> writes:
On Wednesday, 27 February 2019 at 08:54:52 UTC, Dennis wrote:
 On Tuesday, 26 February 2019 at 20:30:29 UTC, Jonathan M Davis 
 wrote:
 It was decided to not make it mean scope with DIP 1000, 
 because doing so would break a lot of existing code - though 
 some folks were very vocal in complaining about that.
That's a pity, I was hoping to abbreviate 'const scope' with 'in' in my parameter lists. Was that discussion on this forum?
https://forum.dlang.org/thread/akrtdnphwhgjhlwkoood forum.dlang.org?page=1
Feb 27 2019