diff options
-rw-r--r-- | CHANGELOG.md | 2 | ||||
-rw-r--r-- | src/buildtool/build_engine/expression/evaluator.cpp | 4 |
2 files changed, 4 insertions, 2 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md index b1cfdc2d..b4a97780 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -85,6 +85,8 @@ A feature release on top of `1.2.0`, backwards compatible. to be taken on upgrading or downgrading. However, some target-level cache entries will not be used leading potentially to rebuilding of some targets. +- The expression `"disjoint_map_union"` did not verify disjointness + in all cases; this is fixed now. ## Release `1.2.0` (2023-08-25) diff --git a/src/buildtool/build_engine/expression/evaluator.cpp b/src/buildtool/build_engine/expression/evaluator.cpp index 8945fe0e..34e0873b 100644 --- a/src/buildtool/build_engine/expression/evaluator.cpp +++ b/src/buildtool/build_engine/expression/evaluator.cpp @@ -344,8 +344,8 @@ auto Union(Expression::list_t const& dicts, size_t from, size_t to) return entry; } size_t mid = from + (to - from) / 2; - auto left = Union(dicts, from, mid); - auto right = Union(dicts, mid, to); + auto left = Union<kDisjoint>(dicts, from, mid); + auto right = Union<kDisjoint>(dicts, mid, to); if (left->Map().empty()) { return right; } |