← Back to index
|
Original Bugzilla link
Bug 7858 – __traits(getOverloads) returns incorrect symbol
Status
RESOLVED
Resolution
FIXED
Severity
regression
Priority
P2
Component
dmd
Product
D
Version
D2
Platform
All
OS
All
Creation time
2012-04-08T09:59:00Z
Last change time
2012-04-08T11:34:11Z
Keywords
pull, wrong-code
Assigned to
nobody
Creator
k.hara.pg
Comments
Comment #0
by k.hara.pg — 2012-04-08T09:59:24Z
Following test should compile. ---- class C { final void ffunc(){} final void ffunc(int){} void vfunc(){} void vfunc(int){} abstract void afunc(); abstract void afunc(int); static void sfunc(){} static void sfunc(int){} } static assert( __traits(isFinalFunction, C.ffunc) == __traits(isFinalFunction, __traits(getOverloads, C, "ffunc")[0])); // NG static assert( __traits(isVirtualFunction, C.vfunc) == __traits(isVirtualFunction, __traits(getOverloads, C, "vfunc")[0])); // NG static assert( __traits(isVirtualMethod, C.vfunc) == __traits(isVirtualMethod, __traits(getOverloads, C, "vfunc")[0])); // NG static assert( __traits(isAbstractFunction, C.afunc) == __traits(isAbstractFunction, __traits(getOverloads, C, "afunc")[0])); // OK static assert( __traits(isStaticFunction, C.sfunc) == __traits(isStaticFunction, __traits(getOverloads, C, "sfunc")[0])); // OK static assert(__traits(isSame, C.ffunc, __traits(getOverloads, C, "ffunc")[0])); // NG static assert(__traits(isSame, C.vfunc, __traits(getOverloads, C, "vfunc")[0])); // NG static assert(__traits(isSame, C.afunc, __traits(getOverloads, C, "afunc")[0])); // NG static assert(__traits(isSame, C.sfunc, __traits(getOverloads, C, "sfunc")[0])); // NG ---- This issue was caused by fixing bug 7552.
Comment #1
by k.hara.pg — 2012-04-08T10:03:45Z
https://github.com/D-Programming-Language/dmd/pull/869
Comment #2
by github-bugzilla — 2012-04-08T10:13:12Z
Commits pushed to master at
https://github.com/D-Programming-Language/dmd
https://github.com/D-Programming-Language/dmd/commit/68dc8133e44ad6cecf414c53e3210aacbd87526f
fix Issue 7858 - __traits(getOverloads) returns incorrect symbol
https://github.com/D-Programming-Language/dmd/commit/f248047ae80d922d9093cddc5a5717624e7043ef
Merge pull request #869 from 9rnsr/fix7858 Issue 7858 - __traits(getOverloads) returns incorrect symbol