That seems like a bug, but actually, I'd not trust typeid. typeid is actually a runtime-defined TypeInfo class, which you are calling toString on, which is not telling you exactly what the compiler thinks is the type.
I should clarify, it *could* be the same as what the compiler thinks, but this is not guaranteed. There have been bugs in TypeInfo.toString I believe in the past.
-Steve