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