summaryrefslogtreecommitdiffstats
path: root/eval
diff options
context:
space:
mode:
authorHåvard Pettersen <havardpe@oath.com>2020-03-19 11:44:21 +0000
committerHåvard Pettersen <havardpe@oath.com>2020-03-19 11:44:21 +0000
commit09d4a41ddc7ace67a0489488a7739e3925ddb0d7 (patch)
tree84eb16f3a89e5c7f12450ecd7cd1df086e20384d /eval
parent56abaa52add9945179344c7289b896b790315388 (diff)
fix dimension list printing
Diffstat (limited to 'eval')
-rw-r--r--eval/src/tests/eval/node_types/node_types_test.cpp1
-rw-r--r--eval/src/vespa/eval/eval/node_types.cpp5
2 files changed, 5 insertions, 1 deletions
diff --git a/eval/src/tests/eval/node_types/node_types_test.cpp b/eval/src/tests/eval/node_types/node_types_test.cpp
index 900e71aa899..cabae6307eb 100644
--- a/eval/src/tests/eval/node_types/node_types_test.cpp
+++ b/eval/src/tests/eval/node_types/node_types_test.cpp
@@ -87,6 +87,7 @@ TEST("require that reduce resolves correct type") {
TEST_DO(verify("reduce(tensor(x{},y{},z{}),sum,x,z)", "tensor(y{})"));
TEST_DO(verify("reduce(tensor(x{},y{},z{}),sum,y,z,x)", "double"));
TEST_DO(verify("reduce(tensor(x{},y{},z{}),sum,w)", "error"));
+ TEST_DO(verify("reduce(tensor(x{},y{},z{}),sum,a,b,c)", "error"));
TEST_DO(verify("reduce(tensor(x{}),sum,x)", "double"));
TEST_DO(verify("reduce(tensor<float>(x{},y{},z{}),sum,x,z)", "tensor<float>(y{})"));
TEST_DO(verify("reduce(tensor<float>(x{}),sum,x)", "double"));
diff --git a/eval/src/vespa/eval/eval/node_types.cpp b/eval/src/vespa/eval/eval/node_types.cpp
index afb51b5b605..924de97c470 100644
--- a/eval/src/vespa/eval/eval/node_types.cpp
+++ b/eval/src/vespa/eval/eval/node_types.cpp
@@ -143,8 +143,11 @@ struct TypeResolver : public NodeVisitor, public NodeTraverser {
if (my_type.is_error()) {
auto str = fmt("aggr: %s, dimensions: [",
AggrNames::name_of(node.aggr())->c_str());
+ size_t i = 0;
for (const auto &dimension: node.dimensions()) {
- str += ",";
+ if (i++ > 0) {
+ str += ",";
+ }
str += dimension;
}
str += "]";