"in" no longer "scope" since 2.079.0?

Jonathan M Davis newsgroup.d at jmdavisprog.com
Tue Mar 27 09:27:07 UTC 2018


On Tuesday, March 27, 2018 09:15:43 Boris-Barboris via Digitalmars-d-learn 
wrote:
> Hello! Can someone point me to the changelong entry or maybe a
> pull request, wich changed the "in" from "scope const" to
> "const"? I thought the previous matter of things was pretty
> natural, and current "in" is now redundant. Would be glad to read
> up on this design decision.
>
> https://docarchives.dlang.io/v2.078.0/spec/function.html#parameters
> https://docarchives.dlang.io/v2.079.0/spec/function.html#parameters

Because scope has mostly done nothing (it only affected delegates), in has
effectively been const without scope for its entire existence in D2 in spite
of the fact that it was supposed to be the same as const scope. Now that DIP
1000 is being implemented, and scope is actually going to do something for
more than just delegates, it was deemed too dangerous to have in suddenly
really mean both scope and const, because it would potentially break a lot
of code. So, in order to prevent such breakage, in was changed to officially
only mean const instead of const scope. So, what it's meant in practice
hasn't really changed, but the spec has.

https://issues.dlang.org/show_bug.cgi?id=17928

- Jonathan M Davis



More information about the Digitalmars-d-learn mailing list