digitalmars.D.bugs - [Issue 18283] New: -dip1000 doesn't catch invalid local reference
- d-bugmail puremagic.com (34/34) Jan 22 2018 https://issues.dlang.org/show_bug.cgi?id=18283
https://issues.dlang.org/show_bug.cgi?id=18283 Issue ID: 18283 Summary: -dip1000 doesn't catch invalid local reference Product: D Version: D2 Hardware: All OS: All Status: NEW Severity: normal Priority: P1 Component: dmd Assignee: nobody puremagic.com Reporter: slavo5150 yahoo.com import std.stdio; void main() safe { string foo = "foo"; string* ls0; string* p1, p2; ls0 = &foo; p1 = ls0; ls0.destroy(); p2 = ls0; writeln(p2.length); } Compile with `-dip1000` Error: program killed by signal 11 https://run.dlang.io/is/6L6zcH ======================================== Compiling the same example without `-dip1000`, I get: onlineapp.d(9): Error: cannot take address of local foo in safe function main https://run.dlang.io/is/rHpuf1 Though this could be an issue with `destroy()`. Not sure. --
Jan 22 2018