Merge pull request #12243 from ethereum/forEachFix

Minor fix to forEach on Yul AST nodes.
This commit is contained in:
chriseth 2021-11-05 14:10:00 +01:00 committed by GitHub
commit 213ce785c3
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -111,8 +111,7 @@ template <
>
struct ForEach: Base
{
template<typename Callable>
ForEach(Callable&& _visitor): visitor(std::forward<Callable>(_visitor)) {}
ForEach(Visitor& _visitor): visitor(_visitor) {}
using Base::operator();
void operator()(Node& _node) override
@ -121,7 +120,7 @@ struct ForEach: Base
Base::operator()(_node);
}
Visitor visitor;
Visitor& visitor;
};
}
@ -130,7 +129,7 @@ struct ForEach: Base
template<typename Node, typename Entry, typename Visitor>
void forEach(Entry&& _entry, Visitor&& _visitor)
{
detail::ForEach<Node, std::decay_t<Visitor>>{std::forward<Visitor>(_visitor)}(std::forward<Entry>(_entry));
detail::ForEach<Node, Visitor&>{_visitor}(_entry);
}
}