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 :-/
This commit is contained in:
Fischlurch 2019-12-15 04:06:57 +01:00
parent d8b20ae497
commit d8e0ad179b
2 changed files with 4 additions and 2 deletions

View file

@ -128,7 +128,8 @@ namespace diff{
inline Builder<ObjectTypeHandler<MUT>> inline Builder<ObjectTypeHandler<MUT>>
filterObjectTypeAttribute (Rec::Mutator& targetTree, Builder<MUT>&& chain) filterObjectTypeAttribute (Rec::Mutator& targetTree, Builder<MUT>&& chain)
{ {
return ObjectTypeHandler<MUT> {targetTree, move(chain)}; using ObTyHa = ObjectTypeHandler<MUT>;
return Builder<ObTyHa>{ObTyHa {targetTree, move(chain)}};
} }

View file

@ -316,6 +316,7 @@ namespace diff{
struct Builder struct Builder
: PAR : PAR
{ {
explicit
Builder(PAR&& par) Builder(PAR&& par)
: PAR{forward<PAR> (par)} : PAR{forward<PAR> (par)}
{ } { }
@ -469,7 +470,7 @@ namespace diff{
inline Builder<TreeMutator> inline Builder<TreeMutator>
TreeMutator::build () TreeMutator::build ()
{ {
return TreeMutator(); return Builder<TreeMutator>{TreeMutator()};
} }