April 22, 2014 [Issue 12619] New: Invalid warning for unused return value of debug memcpy | ||||
---|---|---|---|---|
| ||||
https://issues.dlang.org/show_bug.cgi?id=12619 Issue ID: 12619 Summary: Invalid warning for unused return value of debug memcpy Product: D Version: D2 Hardware: x86 OS: Windows Status: NEW Keywords: diagnostic, rejects-valid Severity: regression Priority: P1 Component: DMD Assignee: nobody@puremagic.com Reporter: bearophile_hugs@eml.cc Technically this is a regression, but it's a minor one. Issue found by CyberShadow: void main() pure { import core.stdc.string: memcpy; ubyte[10] a, b; debug memcpy(a.ptr, b.ptr, 5); } DMD 2.066alpha gives: test2.d(4,17): Warning: Call to function core.stdc.string.memcpy without side effects discards return value of type void*, prepend a cast(void) if intentional memcpy is weakly pure, so I think you should not get that warning, that I think should be only for strongly pure functions. -- |
Copyright © 1999-2021 by the D Language Foundation