> >> class ITests { > >> IList(ITest) a; > >> }; > >What exactly does this declaration mean? > > It's expanded in: > > IList_Test a; > > MSVC handles all mentioned cases fine. I'm sure it does. The thing is that I will not do macro expansion for several versions yet. It's just too complicated.