How to get the location (file, line) of UDA without parens?
Andrey Zherikov
andrey.zherikov at gmail.com
Sun Nov 14 13:42:35 UTC 2021
On Sunday, 14 November 2021 at 07:06:25 UTC, user1234 wrote:
> On Sunday, 14 November 2021 at 05:12:58 UTC, Andrey Zherikov
> wrote:
>> Here is my code:
>> [...]
>> `W()` (2) works as expected but is it possible to achieve the
>> same without parenthesis so `getAttributes` trait returns
>> `tuple(L("app.d", 16LU))` for (1)?
>
> No, without parens this is really the function template, as a
> symbol, that becomes the UDA.
Can this be achieved with any other type of `W`? For example I
can get the same result with struct (also changing `@W()` to
`@W!()` on line (2)):
```d
struct W(string f = __FILE__, size_t l = __LINE__)
{
auto loc = L(f,l);
}
```
More information about the Digitalmars-d-learn
mailing list