Comment #0 by timothee.cour2 — 2018-01-26T21:40:49Z
see https://github.com/msgpack/msgpack-d/pull/99/files/728edb1d58c8e027adf5740e3fbcf425639710c4#r164228277 for context.
dmd.2_078_1/.dub/packages/msgpack-d-1.0.0-beta.6/msgpack-d/src/msgpack/unpacker.d(199,30): Deprecation: integral promotion not done for -header, use '-transition=intpromote' switch or -cast(int)(header)
* should that be -int(header) instead of -cast(int)(header) ?
* could dmd also report the type of `header` since it already knows about it?
Comment #1 by reachzach — 2018-04-15T02:48:20Z
I tested it and this works:
// change this:
// value = -(cast(T)-header);
// to this:
value = cast(T)cast(byte)header;
header is a ubyte. When changed to a byte, in this context, it becomes negative. The compiler then creates a corresponding negative int.
Comment #2 by reachzach — 2018-04-15T02:50:14Z
...or whatever negative Integral type it requires. (I did only test it with `int`, but I think it should work regardless.
Comment #3 by robert.schadek — 2024-12-13T18:56:22Z