On 6/6/19 4:43 PM, Steven Schveighoffer wrote:
On 6/6/19 4:22 PM, Amex wrote:
FieldNameTuple!T
std.traits.Fields!T
are non-empty when T is an interface!
An interface cannot contain fields and yet these return non-zero and
screws up my code. While I can filter for interfaces it makes me
wonder what else may slip through?
Is it a bug or what is going on?
Can you provide code to demonstrate? I get no fields when I do this:
interface I
{
}
import std.traits;
pragma(msg, FieldNameTuple!I);
Oh wait! It's not empty, it has an empty string as a single member!
That's definitely a bug.
-Steve