Pop quiz, what does this do?

Simen Kjærås simen.kjaras at gmail.com
Wed Mar 3 16:41:49 UTC 2021


On Wednesday, 3 March 2021 at 16:06:48 UTC, Steven Schveighoffer 
wrote:
> The FieldNameTuple from std.traits returns a tuple of names of 
> all the fields that are present on a type instance.
>
> What about the result on things that can't have fields?
>
> import std.traits;
>
> interface I
> {
>    int foo();
> }
>
> pragma(msg, FieldNameTuple!I);
>
> Without looking up the docs, or trying it, what do you think it 
> does?

I remember seeing that a couple years back 
(https://forum.dlang.org/post/hwrsxypruzeffreqxasa@forum.dlang.org). It seems intentional, but also very, very weird.

Accordion to the PR (https://github.com/dlang/phobos/pull/2561), 
it was for consistency. Consistency with what, however, is 
unclear.

--
   Simen


More information about the Digitalmars-d mailing list