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?
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.
...or whatever negative Integral type it requires. (I did only test it with `int`, but I think it should work regardless.
THIS ISSUE HAS BEEN MOVED TO GITHUB https://github.com/dlang/dmd/issues/17834 DO NOT COMMENT HERE ANYMORE, NOBODY WILL SEE IT, THIS ISSUE HAS BEEN MOVED TO GITHUB