April 29 [Issue 24520] [REG] type(value) got a synonym (type)(value) | ||||
---|---|---|---|---|
| ||||
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 [Issue 24520] [REG] type(value) got a synonym (type)(value) | ||||
---|---|---|---|---|
| ||||
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 -- |
Copyright © 1999-2021 by the D Language Foundation