I have a type that I defined like this:
r = m_engine->RegisterObjectType("SValueBuilder", 0, asOBJ_REF); assert(r >= 0);
Now consider the following AS code:
void Test1(SValueBuilder &in builder)
{
Test2(builder);
}
void Test2(SValueBuilder &in builder)
{
}
This actually throws this error at me which I did not expect, considering it's passed as a reference:
[WRN] [11:41:38] ERR : scripts/main.as (line 3, column 8)
[WRN] [11:41:38] : No appropriate opAssign method found in 'SValueBuilder' for value assignment
[WRN] [11:41:38] : Previous error occurred while attempting to create a temporary copy of object
Why is it trying to copy the object if it's passing it as a reference? Is this a bug, or am I overlooking something?