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 74a5450c..fbcc592e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,6 +14,8 @@ Bug fixes on top of release `1.2.4`. - Taintedness of "configure" targets is now propagated correctly. - Missing atomic primitives added to the source code. - A staging conflict in the test setup was fixed. +- The expression `"disjoint_map_union"` did not verify disjointness + in all cases; this is fixed now. ## Release `1.2.4` (2023-12-19) diff --git a/src/buildtool/build_engine/expression/evaluator.cpp b/src/buildtool/build_engine/expression/evaluator.cpp index d2cee809..f75c643e 100644 --- a/src/buildtool/build_engine/expression/evaluator.cpp +++ b/src/buildtool/build_engine/expression/evaluator.cpp @@ -307,8 +307,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; } |