On Wednesday, 6 November 2024 at 16:38:40 UTC, Salih Dincer wrote:
In response to Andy and Matheus, I think implementing your own type might be a solution:
Oh, am I too hasty? There was already an s in the test environment, so I thought 2 overloads were unnecessary. I don't have a programmer or anything, my brother :)
In fact, it would be nice if there was an option to correct the threads we wrote on our forum. At least for a certain period of time. Here is the latest code that works:
```d void main() { Short foo = { 21 }; foo *= -1; foo = foo * -2; assert(foo.s == 42); } struct Short { short s; auto opBinary(string op: "*")(int rhs) { auto result = s * rhs; return Short(cast(short)result); } void opOpAssign(string op: "*")(int rhs) { s *= rhs; } } SDB@79