[Issue 17764] [scope][DIP1000] Escape checker defeated by composition transformations

via Digitalmars-d-bugs digitalmars-d-bugs at puremagic.com
Sat Aug 26 19:33:25 PDT 2017


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

Walter Bright <bugzilla at digitalmars.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |bugzilla at digitalmars.com

--- Comment #2 from Walter Bright <bugzilla at digitalmars.com> ---
Starting with this one:

> void use0x2(scope char[]* arr)
> {
>     global = *arr; // NG - accepts invalid
> }

`scope` is not transitive. It applies to the 'head' only. `*arr` is no longer
the head, and `scope` doesn't apply to it. A casual look at the rest of the
cases shows similar.

If you would please filter out all the cases of more than one indirection, I
can look at the rest.

--


More information about the Digitalmars-d-bugs mailing list