Bug 17196 – [Reg 2.074] isUnsigned!bool now true

Status
RESOLVED
Resolution
FIXED
Severity
regression
Priority
P1
Component
phobos
Product
D
Version
D2
Platform
All
OS
All
Creation time
2017-02-18T14:16:00Z
Last change time
2017-03-22T12:22:14Z
Assigned to
nobody
Creator
code

Comments

Comment #0 by code — 2017-02-18T14:16:32Z
cat > bug.d << CODE import std.traits : isUnsigned; void pack(T)(in T value) if (is(T == bool)) { } void pack(T)(in T value) if (isUnsigned!T) { } void test() { pack(true); } CODE dmd -c -o- bug.d ---- bug.d(13): Error: bug.pack called with argument types (bool) matches both: bug.d(3): bug.pack!bool.pack(const(bool) value) and: bug.d(7): bug.pack!bool.pack(const(bool) value) ---- Caused by https://github.com/dlang/phobos/pull/5038, this breaks the msgpack-d-0.9.6.
Comment #1 by code — 2017-02-18T14:21:35Z
I'd opt for a temporary phobos fix and a dmd deprecation/transition of __traits(isUnsigned, bool).
Comment #2 by greeenify — 2017-02-21T05:24:27Z
Comment #3 by github-bugzilla — 2017-02-21T11:02:24Z
Commits pushed to master at https://github.com/dlang/phobos https://github.com/dlang/phobos/commit/58c91e1a2cbe0658a114bac87ebaed05fd630f88 Issue 17196 - [Reg 2.074] isUnsigned!bool now true https://github.com/dlang/phobos/commit/166ae7dde3b0c4f38be9957943f3f63175803988 Merge pull request #5170 from wilzbach/fix-17196 Issue 17196 - [Reg 2.074] isUnsigned!bool now true merged-on-behalf-of: Jack Stouffer <[email protected]>
Comment #4 by code — 2017-02-24T17:58:12Z
Opened issue 17221 for the compiler change.
Comment #5 by github-bugzilla — 2017-02-24T18:15:56Z
Commits pushed to newCTFE at https://github.com/dlang/phobos https://github.com/dlang/phobos/commit/58c91e1a2cbe0658a114bac87ebaed05fd630f88 Issue 17196 - [Reg 2.074] isUnsigned!bool now true https://github.com/dlang/phobos/commit/166ae7dde3b0c4f38be9957943f3f63175803988 Merge pull request #5170 from wilzbach/fix-17196
Comment #6 by github-bugzilla — 2017-03-22T12:22:14Z
Commits pushed to stable at https://github.com/dlang/phobos https://github.com/dlang/phobos/commit/58c91e1a2cbe0658a114bac87ebaed05fd630f88 Issue 17196 - [Reg 2.074] isUnsigned!bool now true https://github.com/dlang/phobos/commit/166ae7dde3b0c4f38be9957943f3f63175803988 Merge pull request #5170 from wilzbach/fix-17196