Problem with generating and compiling dictionary for templat


I have a problem with generating and compiling dictionary.

Here is my header file (simplified enough to represent a problem):

//file: UserEventVariable.hpp

template<class T>
class Collection {
       typedef T value_type;

       ClassDef(Collection, 0);

template <class T>
class UserEventVariable {};


and my LinkDef file:

//file: UserEventVariable_linkdef.h
#pragma link C++ class UserEventVariable<Bool_t>;
#pragma link C++ class Collection< UserEventVariable<Bool_t> >;

I generated dictionary with a command:

rootcint -f UserEventVariable_dict.cpp -c UserEventVariable.hpp

Then I tried to compile him:

c++ root-config --cflags -c UserEventVariable_dict.cpp

and I got this error:

UserEventVariable_dict.cpp:40: error: template argument 1 is invalid

Really, line 40 in generating dictionary looks a bit strange:

//file: UserEventVariable_dict.cpp
typedef ::UserEventVariable< ::bool> value_type;

I do not have such problem with other template implementations (Int_t,
Float_t, Double_t), only with Bool_t.

I am using ROOT 5.26/00b now, gcc 4.4.3, and I should say that with
ROOT 5.24 I do not have this problem with the same code.

Does anybody know why it happens?

Thanks in advance!

this is a bug. this is fixed in svn. see your report in savannah.