
On 18/12/2012, Nathan Ridge
I'm not sure which is the case either, but notice that a simple workaround is to define f after traitor_1 is complete (you can still *declare* f where you do now).
Yes, you are correct; my actual code is a fair bit more complicated,
but there is definitely a workaround.
Moreover, to change this to a compile-time error, I'll change the
definition of "traitor_1" to include a static assertion as follows.
struct traitor_1
{
typedef void *trait;
static_assert(has_trait