compilation fails on dev branch using current monero master
[ 70%] Building CXX object ext/mstch/src/CMakeFiles/mstch.dir/render_context.cpp.o
/home/monerosupport/onion-monero-blockchain-explorer/ext/mstch/src/render_context.cpp: In member function ‘const node& mstch::render_context::find_node(const string&, std::__cxx11::list<const boost::variant<boost::detail::variant::recursive_flag<std::nullptr_t>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, double, bool, long unsigned int, long int, unsigned int, mstch::internal::lambda_t<boost::recursive_variant_>, std::shared_ptr<mstch::internal::object_t<boost::recursive_variant_> >, mstch::internal::map<const std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::recursive_variant_>, std::vector<boost::recursive_variant_, std::allocator<boost::recursive_variant_> > >*>)’:
/home/monerosupport/onion-monero-blockchain-explorer/ext/mstch/src/render_context.cpp:45:52: error: no matching function for call to ‘visit(mstch::get_token, const boost::variant<boost::detail::variant::recursive_flag<std::nullptr_t>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, double, bool, long unsigned int, long int, unsigned int, mstch::internal::lambda_t<boost::recursive_variant_>, std::shared_ptr<mstch::internal::object_t<boost::recursive_variant_> >, mstch::internal::map<const std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::recursive_variant_>, std::vector<boost::recursive_variant_, std::allocator<boost::recursive_variant_> > >&)’
         return visit(get_token(token, *node), *node);
                                                    ^
In file included from /home/monerosupport/onion-monero-blockchain-explorer/ext/mstch/src/template_type.hpp:7:0,
                 from /home/monerosupport/onion-monero-blockchain-explorer/ext/mstch/src/render_context.hpp:11,
                 from /home/monerosupport/onion-monero-blockchain-explorer/ext/mstch/src/render_context.cpp:1:
/home/monerosupport/onion-monero-blockchain-explorer/ext/mstch/src/utils.hpp:17:6: note: candidate: template<class ... Args> decltype (boost::apply_visitor((forward<Args>)(mstch::visit::args)...)) mstch::visit(Args&& ...)
 auto visit(Args&&... args) -> decltype(boost::apply_visitor( 
      ^
/home/monerosupport/onion-monero-blockchain-explorer/ext/mstch/src/utils.hpp:17:6: note:   template argument deduction/substitution failed:
/home/monerosupport/onion-monero-blockchain-explorer/ext/mstch/src/utils.hpp: In substitution of ‘template<class ... Args> decltype (boost::apply_visitor((forward<Args>)(mstch::visit::args)...)) mstch::visit(Args&& ...) [with Args = {mstch::get_token, const boost::variant<boost::detail::variant::recursive_flag<std::nullptr_t>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, double, bool, long unsigned int, long int, unsigned int, mstch::internal::lambda_t<boost::recursive_variant_>, std::shared_ptr<mstch::internal::object_t<boost::recursive_variant_> >, mstch::internal::map<const std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::recursive_variant_>, std::vector<boost::recursive_variant_, std::allocator<boost::recursive_variant_> > >&}]’:
/home/monerosupport/onion-monero-blockchain-explorer/ext/mstch/src/render_context.cpp:45:52:   required from here
/home/monerosupport/onion-monero-blockchain-explorer/ext/mstch/src/utils.hpp:17:60: error: call of overloaded ‘apply_visitor(mstch::get_token, const boost::variant<boost::detail::variant::recursive_flag<std::nullptr_t>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, double, bool, long unsigned int, long int, unsigned int, mstch::internal::lambda_t<boost::recursive_variant_>, std::shared_ptr<mstch::internal::object_t<boost::recursive_variant_> >, mstch::internal::map<const std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::recursive_variant_>, std::vector<boost::recursive_variant_, std::allocator<boost::recursive_variant_> > >&)’ is ambiguous
 auto visit(Args&&... args) -> decltype(boost::apply_visitor( 
                                                            ^
In file included from /usr/include/boost/variant/apply_visitor.hpp:16:0,
                 from /usr/include/boost/variant/detail/hash_variant.hpp:23,
                 from /usr/include/boost/variant/variant.hpp:34,
                 from /usr/include/boost/variant.hpp:17,
                 from /home/monerosupport/onion-monero-blockchain-explorer/ext/mstch/include/mstch/mstch.hpp:9,
                 from /home/monerosupport/onion-monero-blockchain-explorer/ext/mstch/src/render_context.hpp:9,
                 from /home/monerosupport/onion-monero-blockchain-explorer/ext/mstch/src/render_context.cpp:1:
/usr/include/boost/variant/detail/apply_visitor_unary.hpp:82:1: note: candidate: typename Visitor::result_type boost::apply_visitor(const Visitor&, Visitable&) [with Visitor = mstch::get_token; Visitable = const boost::variant<boost::detail::variant::recursive_flag<std::nullptr_t>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, double, bool, long unsigned int, long int, unsigned int, mstch::internal::lambda_t<boost::recursive_variant_>, std::shared_ptr<mstch::internal::object_t<boost::recursive_variant_> >, mstch::internal::map<const std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::recursive_variant_>, std::vector<boost::recursive_variant_, std::allocator<boost::recursive_variant_> > >; typename Visitor::result_type = const boost::variant<boost::detail::variant::recursive_flag<std::nullptr_t>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, double, bool, long unsigned int, long int, unsigned int, mstch::internal::lambda_t<boost::recursive_variant_>, std::shared_ptr<mstch::internal::object_t<boost::recursive_variant_> >, mstch::internal::map<const std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::recursive_variant_>, std::vector<boost::recursive_variant_, std::allocator<boost::recursive_variant_> > >&]
 apply_visitor(const Visitor& visitor, Visitable& visitable)  
 ^
/usr/include/boost/variant/detail/apply_visitor_unary.hpp:160:23: note: candidate: decltype(auto) boost::apply_visitor(const Visitor&, Visitable&, typename boost::disable_if<boost::detail::variant::has_result_type<Visitor> >::type*) [with Visitor = mstch::get_token; Visitable = const boost::variant<boost::detail::variant::recursive_flag<std::nullptr_t>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, double, bool, long unsigned int, long int, unsigned int, mstch::internal::lambda_t<boost::recursive_variant_>, std::shared_ptr<mstch::internal::object_t<boost::recursive_variant_> >, mstch::internal::map<const std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::recursive_variant_>, std::vector<boost::recursive_variant_, std::allocator<boost::recursive_variant_> > >; typename boost::disable_if<boost::detail::variant::has_result_type<Visitor> >::type = void]
 inline decltype(auto) apply_visitor(const Visitor& visitor, Visitable& visitable,
                       ^
ext/mstch/src/CMakeFiles/mstch.dir/build.make:134: recipe for target 'ext/mstch/src/CMakeFiles/mstch.dir/render_context.cpp.o' failed
make[2]: *** [ext/mstch/src/CMakeFiles/mstch.dir/render_context.cpp.o] Error 1
CMakeFiles/Makefile2:199: recipe for target 'ext/mstch/src/CMakeFiles/mstch.dir/all' failed
make[1]: *** [ext/mstch/src/CMakeFiles/mstch.dir/all] Error 2 
Makefile:83: recipe for target 'all' failed
make: *** [all] Error 2


