This is more of a question than a bug, I think, but perhaps there could be some flag to work around this.
If I registered a declaration like this:
MwArray<T> &Remove(int index)
It will be able to resolve the "T" type here if I do something like this:
asIScriptEngine* engine = gen->GetEngine();
int typeId = gen->GetObjectTypeId();
asITypeInfo* type = engine->GetTypeInfoById(typeId);
int subTypeId = type->GetSubTypeId();
asITypeInfo* subType = engine->GetTypeInfoById(subTypeId);
But if my declaration doesn't include my template type "T", it will not be resolvable (the subType's name will simply be "T"):
void Remove(int index)
Is there a way to force it to resolve the subtype correctly in the latter case without needlessly returning itself? (It's a viable workaround for me for now, but would be nice to not have to do this.)