April 24
https://issues.dlang.org/show_bug.cgi?id=24520

          Issue ID: 24520
           Summary: [REG] C-style casts are now accepted (sometimes)
           Product: D
           Version: D2
          Hardware: x86
                OS: Windows
            Status: NEW
          Severity: enhancement
          Priority: P1
         Component: dmd
          Assignee: nobody@puremagic.com
          Reporter: aliloko@gmail.com

# How to repro

Please consider the following file:


    void main(string[] args)
    {
        // 1st change: the ending ';' starts being
        // accepted in LDC 1.35, before was an error
        // If that changed silently, then new code breaks in
        // older compilers, creating disruption.
        enum { A = 5};

        // 2nd change:
        // This C-style cast starts being accepted in LDC 1.35+
        long c;
        int i = (int) (c % 8);

        // Note that this cast is always rejected whatever the
        // compiler version
        //int j = (int)4;
    }

Some parses that were invalid in LDC 1.34 (DMDFE v2.104.2) became accepted in
LDC 1.35 (DMDFE v2.105.2)

If new compilers accept invalid code without complaints, it _might_ be intentional and a language change, but please hear me, this is a problem of quality of life in practice for the ecosystem, because then people build with older compiler the code that was produced with new compilers, and it simply breaks there for a lot of people that depend on it.

And it's documented nowhere! It's also silent, so would bypass any Edition I
guess and break code regardless.
https://dlang.org/changelog/2.105.0.html

--