On Tuesday, 5 November 2024 at 19:37:32 UTC, Dennis wrote:
On Tuesday, 5 November 2024 at 17:32:00 UTC, Andy Valencia wrote:
I ended up with this, but is negating a short really this problematic, or did I miss something?

This is a relic from when integer promotion was added to unary operators to match the behavior of C compilers. You can add the `-preview=intpromote` flag to the compiler to make the deprecation warnings go away for a simple `-x`, but that flag is enabled by default since dmd version 2.099 / ldc version 1.29, so simply updating your compiler should also fix it.

I still see:

tst15.d(6): Error: cannot implicitly convert expression `-cast(int)s` of type `int` to `short`


For:

    import std.stdio : writeln;

    void
    main() {
        short s = -5;
        s = -s;
        writeln(s);
    }

This is 1.40 beta4?

Reply via email to