http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55655
--- Comment #4 from Matthew Woehlke <mw_triad at users dot sourceforge.net> 2012-12-11 23:34:21 UTC --- (In reply to comment #3) > Which symbols are hidden which you don't want to be? ptr<object> > What do you mean "instantiation failed"? You get a warning but it works. It fails if you haven't declared the specialization, which is necessary to get the correct visibility of ptr<object>. With the specialization declare, instantiation "succeeds" but with the wrong visibility.