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

Nick Treleaven <nick@geany.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |nick@geany.org
           Severity|regression                  |normal

--- Comment #10 from Nick Treleaven <nick@geany.org> ---
>         enum { A = 5};

That was allowed in https://github.com/dlang/dmd/pull/15409.

> My issue is that a silent language change with no changelog entry and no spec change

Sorry.

comment #4:
> the grammar already allowed calling a parenthesized expression

I don't think (Type) is always an expression - it is when Type is an
identifier, but not when (int) or even (int*), and this now works:

    int i;
    scope p = (int*)(&i);

So unless I missed some part of the grammar, I think the spec needs updating. We can make TypeCtor optional below:

PrimaryExpression:
   TypeCtor ( Type ) ( NamedArgumentListopt )

https://dlang.org/spec/expression.html#primary_expressions

--
May 01
https://issues.dlang.org/show_bug.cgi?id=24520

--- Comment #11 from Dlang Bot <dlang-bot@dlang.rocks> ---
dlang/dlang.org pull request #3819 "[spec] Add grammar for `(Type)(args)`
expression" was merged into master:

- d9eb8e8511b08fb54b246c82ee60873f92480959 by Nick Treleaven:
  [spec] Add grammar for `(Type)(args)`

  Change introduced in https://github.com/dlang/dmd/pull/15377.

  Fixes Bugzilla 24520 - type(value) got a synonym (type)(value)

  Also combine 2 other PrimaryExpression rules with `TypeCtor?
(Type).Identifier`.

https://github.com/dlang/dlang.org/pull/3819

--
1 2
Next ›   Last »