diff options
author | Jon Bratseth <bratseth@gmail.com> | 2023-03-07 15:23:45 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-03-07 15:23:45 +0100 |
commit | 56057c40b54fc5b031ab9c2bfea9450e0ee77993 (patch) | |
tree | 956656920d38c4f508a19bfa5cd222c263ae9123 /searchlib | |
parent | 0d569d1ba3661484b3d30c94dadae9d0444ffe98 (diff) | |
parent | 1197f63fe1a32b3e17493c9387527ac1c4e40cff (diff) |
Merge pull request #26338 from vespa-engine/arnej/declare-more-function-return-types
Arnej/declare more function return types
Diffstat (limited to 'searchlib')
-rw-r--r-- | searchlib/src/main/java/com/yahoo/searchlib/rankingexpression/rule/SerializationContext.java | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/searchlib/src/main/java/com/yahoo/searchlib/rankingexpression/rule/SerializationContext.java b/searchlib/src/main/java/com/yahoo/searchlib/rankingexpression/rule/SerializationContext.java index e2fffd824b9..c157f44be31 100644 --- a/searchlib/src/main/java/com/yahoo/searchlib/rankingexpression/rule/SerializationContext.java +++ b/searchlib/src/main/java/com/yahoo/searchlib/rankingexpression/rule/SerializationContext.java @@ -104,7 +104,11 @@ public class SerializationContext extends FunctionReferenceContext { /** Adds the serialization of the return type of a function */ public void addFunctionTypeSerialization(String functionName, TensorType type) { if (type.rank() == 0) return; // no explicit type implies scalar (aka rank 0 tensor) - serializedFunctions.put(wrapInRankingExpression(functionName) + ".type", type.toString()); + String key = wrapInRankingExpression(functionName) + ".type"; + var old = serializedFunctions.put(key, type.toString()); + if (old != null && !old.equals(type.toString())) { + throw new IllegalArgumentException("conflicting values for " + key + ": " + old + " != " + type.toString()); + } } @Override |