From d8e0ad179bc5203f97a31a466de5085467b97d44 Mon Sep 17 00:00:00 2001 From: Ichthyostega Date: Sun, 15 Dec 2019 04:06:57 +0100 Subject: [PATCH] TreeMutator: better invoke the Builder-ctor explicitly ...by relying on an implicit conversion, the code does not become simpler, just shorter, and even more confusing :-/ --- src/lib/diff/tree-mutator-gen-node-binding.hpp | 3 ++- src/lib/diff/tree-mutator.hpp | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/lib/diff/tree-mutator-gen-node-binding.hpp b/src/lib/diff/tree-mutator-gen-node-binding.hpp index 95f063edf..275b73bbf 100644 --- a/src/lib/diff/tree-mutator-gen-node-binding.hpp +++ b/src/lib/diff/tree-mutator-gen-node-binding.hpp @@ -128,7 +128,8 @@ namespace diff{ inline Builder> filterObjectTypeAttribute (Rec::Mutator& targetTree, Builder&& chain) { - return ObjectTypeHandler {targetTree, move(chain)}; + using ObTyHa = ObjectTypeHandler; + return Builder{ObTyHa {targetTree, move(chain)}}; } diff --git a/src/lib/diff/tree-mutator.hpp b/src/lib/diff/tree-mutator.hpp index c09c04cc5..7d50a5cd0 100644 --- a/src/lib/diff/tree-mutator.hpp +++ b/src/lib/diff/tree-mutator.hpp @@ -316,6 +316,7 @@ namespace diff{ struct Builder : PAR { + explicit Builder(PAR&& par) : PAR{forward (par)} { } @@ -469,7 +470,7 @@ namespace diff{ inline Builder TreeMutator::build () { - return TreeMutator(); + return Builder{TreeMutator()}; }