[Issue 2627] New: std.traits.hasAliasing reports true for static arrays
d-bugmail at puremagic.com
d-bugmail at puremagic.com
Tue Jan 27 20:15:01 PST 2009
http://d.puremagic.com/issues/show_bug.cgi?id=2627
Summary: std.traits.hasAliasing reports true for static arrays
Product: D
Version: 2.023
Platform: PC
OS/Version: Windows
Status: NEW
Severity: normal
Priority: P2
Component: Phobos
AssignedTo: bugzilla at digitalmars.com
ReportedBy: wbaxter at gmail.com
"hasAliasing" reports true even for static arrays.
struct X { float[3] vals; }
pragma(msg, hasAliasing!(X)?"true":"false"); --> true
---
One fix would be to change this (around line 342):
else static if (is(T[0] foo : U[], U))
enum hasRawAliasing = !is(U == invariant);
To this:
else static if (is(T[0] foo : U[], U))
enum hasRawAliasing = !is(U == invariant) && (!isStaticArray!(T[0])
|| hasRawPointerImpl!(U).result);
--
More information about the Digitalmars-d-bugs
mailing list