You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Minor enhancement suggestion
---
template BasicTypeUDA(T)
{
@T(0) int v1;
@int(0) int v2; // not accepted by the parser but this is the same as v1 attribute when `T` is an `int`.
}
alias WithInt = BasicTypeUDA!int;
---
possible by simplifying the current rule for UDA this way:
UserDefinedAttribute:
@ ( ArgumentList )
- @ Identifier
- @ Identifier ( ArgumentListopt )
- @ TemplateInstance
- @ TemplateInstance ( ArgumentListopt )
+ @ BasicType
+ @ BasicType ( ArgumentListopt )
since BasicType covers Identifier, TemplateInstance, builtin types and even more. (https://dlang.org/spec/declaration.html#BasicType)
The @ guarantees that parsing will not become ambiguous.
This would simplify a bit the language by generalizing the use of the construction syntax, although we all know that `@Type(args)` is just the short for `@(Type(args))`.
The text was updated successfully, but these errors were encountered:
basile-z reported this on 2019-12-22T17:32:13Z
Transferred from https://issues.dlang.org/show_bug.cgi?id=20464
CC List
Description
The text was updated successfully, but these errors were encountered: