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