Identifier hierarchy
Luís Marques
luis at luismarques.eu
Mon Jun 11 13:47:41 UTC 2018
On Monday, 11 June 2018 at 13:39:22 UTC, Basile B. wrote:
> the FQN is working here but i find the first message a bit
> confuse. Not sure if this small runnable represents the issue ?
>
>
> ---
> module runnable;
>
> import std.stdio, std.traits;
>
> struct foo { struct bar { static int baz;} }
>
> template Test(alias arg)
> {
> pragma(msg, fullyQualifiedName!arg);
> }
>
> void main()
> {
> alias t = Test!(foo.bar.baz); // runnable.foo.bar.baz
> }
That gets the types foo, bar, baz. I wanted the identifiers.
Something like this:
struct Parent
{
Son son;
}
struct Son
{
int value;
}
void main()
{
Parent parent;
alias t = Magic!(parent.son); // t is now parent (not Parent)
}
More information about the Digitalmars-d
mailing list