// Trac ticket // https://cforall.uwaterloo.ca/trac/ticket/196 forall(dtype T) struct link; forall(dtype T) struct link { link(T) * next; }; // ----- forall(dtype T) struct foo; forall(dtype U) struct bar { foo(U) * data; }; forall(dtype T) struct foo {}; // ----- int main(int argc, char * argv[]) { return 0; }