digitalmars.D.bugs - [Issue 23191] New: [dip1000] scope parameter can be returned in
- d-bugmail puremagic.com (34/34) Jun 16 2022 https://issues.dlang.org/show_bug.cgi?id=23191
https://issues.dlang.org/show_bug.cgi?id=23191 Issue ID: 23191 Summary: [dip1000] scope parameter can be returned in system code Product: D Version: D2 Hardware: All OS: All Status: NEW Severity: enhancement Priority: P1 Component: dmd Assignee: nobody puremagic.com Reporter: dkorpel live.nl `scope` checks are only enabled in safe code because they might have false positives, and we don't want to break valid system code, where we trust the programmer to get it right. However, blatantly returning a `scope` parameter could still be made an error. This is useful since system is still the default and `scope` may be hidden behind `in`. ``` int* f(scope int* x) { return x; } const(int)* f(in int* x) // with -preview=in, it means `const scope` { return x; // may look innocuous } ``` This came up in the news group: https://forum.dlang.org/post/t7rfdm$1jjc$1 digitalmars.com https://forum.dlang.org/post/t88iuv$mbb$1 digitalmars.com --
Jun 16 2022