diff --git a/src/ExprNode.cc b/src/ExprNode.cc index 09f40905..81ba65f4 100644 --- a/src/ExprNode.cc +++ b/src/ExprNode.cc @@ -6758,11 +6758,15 @@ AbstractExternalFunctionNode::prepareForDerivation() non_null_derivatives = arguments.at(0)->non_null_derivatives; for (int i = 1; i < static_cast(arguments.size()); i++) - set_union(non_null_derivatives.begin(), - non_null_derivatives.end(), - arguments.at(i)->non_null_derivatives.begin(), - arguments.at(i)->non_null_derivatives.end(), - inserter(non_null_derivatives, non_null_derivatives.begin())); + { + set non_null_derivatives_tmp; + set_union(non_null_derivatives.begin(), + non_null_derivatives.end(), + arguments.at(i)->non_null_derivatives.begin(), + arguments.at(i)->non_null_derivatives.end(), + inserter(non_null_derivatives_tmp, non_null_derivatives_tmp.begin())); + non_null_derivatives = move(non_null_derivatives_tmp); + } preparedForDerivation = true; }