summaryrefslogtreecommitdiffstats
path: root/eval
diff options
context:
space:
mode:
authorArne Juul <arnej@verizonmedia.com>2020-11-03 14:52:59 +0000
committerArne Juul <arnej@verizonmedia.com>2020-11-03 15:59:06 +0000
commit1bb61817d751db52c6781ec7737dd083c9e9efad (patch)
tree54c10415821e9d4b61b96e9788a97f0b82de5195 /eval
parent225935b5b222542270661f2ba8cca97dc20b90b6 (diff)
export nodes belonging to inner lambdas
Diffstat (limited to 'eval')
-rw-r--r--eval/src/vespa/eval/eval/node_types.cpp8
1 files changed, 7 insertions, 1 deletions
diff --git a/eval/src/vespa/eval/eval/node_types.cpp b/eval/src/vespa/eval/eval/node_types.cpp
index cbc96e719e0..6c50280741c 100644
--- a/eval/src/vespa/eval/eval/node_types.cpp
+++ b/eval/src/vespa/eval/eval/node_types.cpp
@@ -307,7 +307,13 @@ struct TypeExporter : public NodeTraverser {
: parent_type_map(parent_type_map_in),
exported_type_map(exported_type_map_out),
missing_cnt(0) {}
- bool open(const Node &) override { return true; }
+ bool open(const Node &node) override {
+ if (auto lambda = dynamic_cast<const TensorLambda *>(&node)) {
+ lambda->lambda().root().traverse(*this);
+ return false;
+ }
+ return true;
+ }
void close(const Node &node) override {
auto pos = parent_type_map.find(&node);
if (pos != parent_type_map.end()) {