digitalmars.D.learn - .tupleof.stringof
- Christopher Wright (5/5) Jan 21 2009 Check this out!
- Christopher Wright (5/11) Jan 21 2009 Oops, no. mangleof does report the mangled name of the input string.
- Christopher Wright (2/13) Jan 21 2009 No, I'm wrong again. mangleof reports the mangled version of the type.
- Christopher Wright (8/14) Jan 21 2009 Okay, no, this example is a shorter version of something else that
Check this out! class Foo { int someField; } pragma (msg, Foo.tupleof[0].stringof); // int pragma (msg, Foo.tupleof[0].mangleof); // someField Why is this? It's counterintuitive.
Jan 21 2009
Christopher Wright wrote:Check this out! class Foo { int someField; } pragma (msg, Foo.tupleof[0].stringof); // int pragma (msg, Foo.tupleof[0].mangleof); // someField Why is this? It's counterintuitive.Oops, no. mangleof does report the mangled name of the input string. It's just that mangleof(i) == i, so my testing incorrectly reported the right result. Now I need to find a CTFE-able demangle. I think ddl has one.
Jan 21 2009
Christopher Wright wrote:Christopher Wright wrote:No, I'm wrong again. mangleof reports the mangled version of the type.Check this out! class Foo { int someField; } pragma (msg, Foo.tupleof[0].stringof); // int pragma (msg, Foo.tupleof[0].mangleof); // someField Why is this? It's counterintuitive.Oops, no. mangleof does report the mangled name of the input string. It's just that mangleof(i) == i, so my testing incorrectly reported the right result.
Jan 21 2009
Christopher Wright wrote:Check this out! class Foo { int someField; } pragma (msg, Foo.tupleof[0].stringof); // int pragma (msg, Foo.tupleof[0].mangleof); // someField Why is this? It's counterintuitive.Okay, no, this example is a shorter version of something else that exemplified this behavior: foreach (i, field; Foo.init.tupleof) pragma (msg, field.stringof); This has the results I described. However, the following has the expected result: pragma (msg, Foo.init.tupleof[0].stringof);
Jan 21 2009