October 05, 2023 [Issue 24175] New: DIP1000 fails to determine proper lifetime for struct | ||||
---|---|---|---|---|
| ||||
https://issues.dlang.org/show_bug.cgi?id=24175 Issue ID: 24175 Summary: DIP1000 fails to determine proper lifetime for struct Product: D Version: D2 Hardware: All OS: All Status: NEW Severity: enhancement Priority: P1 Component: dmd Assignee: nobody@puremagic.com Reporter: grimmaple95@gmail.com Consider the code below: ``` struct A { this(int[] data) @safe { a = data; } int[] a; } void main() @safe { int[3] test = [1, 2, 3]; A a = A(test); } ``` It fails to compile with dip1000, saying: Error: reference to local variable `test` assigned to non-scope parameter `data` calling `this` However, both `a` and `test` should have same lifetime and therefore this code should be allowed -- |
Copyright © 1999-2021 by the D Language Foundation