https://issues.dlang.org/show_bug.cgi?id=16997
--- Comment #3 from Ketmar Dark <[email protected]> --- as for the question: promotion rules are what they are currently to allow this: byte n; n = -n; if unary minus will promote `n`, you will need to add `cast` there. and negate never ever drop bits from integer (even byte.min is essentially unchanged, so no info is lost), so it is -- relatively -- safe to not promote here. --
