Problem with generating and compiling dictionary for templat

Hello,

I have a problem with generating and compiling dictionary.

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

//file: UserEventVariable.hpp
#ifndef USEREVENTVARIABLE_HPP_
#define USEREVENTVARIABLE_HPP_

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

   public:
       ClassDef(Collection, 0);
};

template <class T>
class UserEventVariable {};

#endif

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
UserEventVariable_linkdef.h

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.

Cheers,
Philippe