|
@@ -7874,7 +7874,8 @@ void HqlCppTranslator::doBuildAssignList(BuildCtx & ctx, const CHqlBoundTarget &
|
|
|
|
|
|
//This is an assignment, a non-constant set would end up creating two temporaries.
|
|
|
unsigned numItems = expr->numChildren();
|
|
|
- if (((numItems > 0) && (numItems < 3)) || isComplexSet(expr) || !isConstantSet(expr))
|
|
|
+ ITypeInfo * elementType = type->queryChildType();
|
|
|
+ if (((numItems > 0) && (numItems < 3) && !isUnknownSize(elementType)) || isComplexSet(expr) || !isConstantSet(expr))
|
|
|
{
|
|
|
Owned<IHqlCppSetBuilder> builder = createTempSetBuilder(target.queryType()->queryChildType(), target.isAll);
|
|
|
builder->buildDeclare(ctx);
|