Thread overview
State of DIP 1000
Feb 26, 2019
Dennis
Feb 26, 2019
Jonathan M Davis
Feb 27, 2019
Dennis
Feb 27, 2019
Nicholas Wilson
Feb 27, 2019
Eugene Wissner
February 26, 2019
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

February 26, 2019
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



February 27, 2019
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?
February 27, 2019
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.
February 27, 2019
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