Run "etags" of emacs 23.1 on the attached "Foo.H" file .

 

The resulting TAGS file indicates "Foo.H" is empty.

 

Seems to me it should show two definitions for the 2 specializations of `Worker`.

 

----------- TAGS --------------
^L

Foo.H,0

----------------------------------

 

----------- Foo.H ----------------

template<

  class _A,

  class _B = Select<_A>::Result

  >

class Worker;

 

 

template<class _A>

class Worker<_A,int>

{

};

 

template<class _A>

class Worker<_A,double>

{

};

---------------------------------------