Git Product home page Git Product logo

phoenix's People

Contributors

beojan avatar danielae avatar danieljames avatar djowel avatar douggregor avatar eldiener avatar flast avatar fletchjp avatar giomasce avatar glenfe avatar grafikrobot avatar hkaiser avatar jefftrull avatar k-ballo avatar kojoley avatar marcelraad avatar mgaunard avatar ndevenish avatar pdimov avatar sdarwin avatar sithhell avatar steveire avatar teajay-fr avatar vtnerd avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

phoenix's Issues

Please merge develop to master

It have not been done in past year and half. The last commit in develop was a month ago, so it should not be a blocker.

deprecated-copy warnings with GCC 11

using boost log causes warnings inside phoenix. since everything includes the logger, everything also gets this warning when compiling.

.conan/data/boost/1.77.0/_/_/package/fb79f387bfd721655dc9bd01764e2c1fb2c4756d/include/boost/phoenix/core/actor.hpp: In instantiation of 'static boost::log::v2s_mt_posix::expressions::aux::make_output_actor<ActorT<LeftExprT>, RightT, ValueT, false>::type boost::log::v2s_mt_posix::expressions::aux::make_output_actor<ActorT<LeftExprT>, RightT, ValueT, false>::make(const ActorT<LeftExprT>&, const RightT&) [with ActorT = boost::phoenix::actor; LeftExprT = boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::phoenix::argument<2> >, 0>; RightT = boost::log::v2s_mt_posix::expressions::attribute_actor<boost::log::v2s_mt_posix::trivial::severity_level, boost::log::v2s_mt_posix::fallback_to_none, void, boost::phoenix::actor>; ValueT = boost::log::v2s_mt_posix::trivial::severity_level; boost::log::v2s_mt_posix::expressions::aux::make_output_actor<ActorT<LeftExprT>, RightT, ValueT, false>::type = boost::phoenix::actor<boost::log::v2s_mt_posix::expressions::aux::attribute_output_terminal<boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::phoenix::argument<2> >, 0> >, boost::log::v2s_mt_posix::trivial::severity_level, boost::log::v2s_mt_posix::fallback_to_none, boost::log::v2s_mt_posix::to_log_fun<void> > >]':
.conan/data/boost/1.77.0/_/_/package/fb79f387bfd721655dc9bd01764e2c1fb2c4756d/include/boost/log/detail/generate_overloads.hpp:27:1:   required from 'typename boost::log::v2s_mt_posix::expressions::aux::make_output_actor<boost::phoenix::actor<Expr>, boost::log::v2s_mt_posix::expressions::attribute_actor<T, FallbackPolicyT, TagT, boost::phoenix::actor> >::type boost::log::v2s_mt_posix::expressions::operator<<(const boost::phoenix::actor<Expr>&, boost::log::v2s_mt_posix::expressions::attribute_actor<T, FallbackPolicyT, TagT, boost::phoenix::actor>&&) [with LeftExprT = boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::phoenix::argument<2> >, 0>; T = boost::log::v2s_mt_posix::trivial::severity_level; FallbackPolicyT = boost::log::v2s_mt_posix::fallback_to_none; TagT = void; typename boost::log::v2s_mt_posix::expressions::aux::make_output_actor<boost::phoenix::actor<Expr>, boost::log::v2s_mt_posix::expressions::attribute_actor<T, FallbackPolicyT, TagT, boost::phoenix::actor> >::type = boost::phoenix::actor<boost::log::v2s_mt_posix::expressions::aux::attribute_output_terminal<boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::phoenix::argument<2> >, 0> >, boost::log::v2s_mt_posix::trivial::severity_level, boost::log::v2s_mt_posix::fallback_to_none, boost::log::v2s_mt_posix::to_log_fun<void> > >; typename boost::log::v2s_mt_posix::expressions::attribute_actor<T, FallbackPolicyT, TagT, boost::phoenix::actor>::value_type = boost::log::v2s_mt_posix::trivial::severity_level]'
.conan/data/boost/1.77.0/_/_/package/fb79f387bfd721655dc9bd01764e2c1fb2c4756d/include/boost/log/utility/setup/formatter_parser.hpp:108:51:   required from
 'boost::log::v2s_mt_posix::basic_formatter_factory<CharT, AttributeValueT>::formatter_type boost::log::v2s_mt_posix::basic_formatter_factory<CharT, AttributeValueT>::create_formatter(const boost::log::v2s_mt_posix::attribute_name&, const args_map&) [with CharT = char; AttributeValueT = boost::log::v2s_mt_posix::trivial::severity_level; boost::log::v2s_mt_posix::basic_formatter_factory<CharT, AttributeValueT>::formatter_type = boost::log::v2s_mt_posix::basic_formatter<char>; boost::log::v2s_mt_posix::basic_formatter_factory<CharT, AttributeValueT>::args_map = std::map<std::basic_string<char>, std::basic_string<char> >]'
.conan/data/boost/1.77.0/_/_/package/fb79f387bfd721655dc9bd01764e2c1fb2c4756d/include/boost/log/utility/setup/formatter_parser.hpp:106:20:   required from here
.conan/data/boost/1.77.0/_/_/package/fb79f387bfd721655dc9bd01764e2c1fb2c4756d/include/boost/phoenix/core/actor.hpp:133:12: warning: implicitly-declared 'boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::log::v2s_mt_posix::expressions::aux::attribute_output_terminal<boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::phoenix::argument<2> >, 0> >, boost::log::v2s_mt_posix::trivial::severity_level, boost::log::v2s_mt_posix::fallback_to_none, boost::log::v2s_mt_posix::to_log_fun<void> > >, 0>::expr(const boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::log::v2s_mt_posix::expressions::aux::attribute_output_terminal<boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::phoenix::argument<2> >, 0> >, boost::log::v2s_mt_posix::trivial::severity_level, boost::log::v2s_mt_posix::fallback_to_none, boost::log::v2s_mt_posix::to_log_fun<void> > >, 0>&)' is deprecated [-Wdeprecated-copy]
$ /opt/rh/devtoolset-11/root/bin/g++ -v
Using built-in specs.
COLLECT_GCC=/opt/rh/devtoolset-11/root/bin/g++
COLLECT_LTO_WRAPPER=/opt/rh/devtoolset-11/root/usr/libexec/gcc/x86_64-redhat-linux/11/lto-wrapper
Target: x86_64-redhat-linux
Configured with: ../configure --enable-bootstrap --enable-languages=c,c++,fortran,lto --prefix=/opt/rh/devtoolset-11/root/usr --mandir=/opt/rh/devtoolset-11/root/usr/share/man --infodir=/opt/rh/devtoolset-11/root/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-shared --enable-threads=posix --enable-checking=release --enable-multilib --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-linker-build-id --with-gcc-major-version-only --with-linker-hash-style=gnu --with-default-libstdcxx-abi=gcc4-compatible --enable-plugin --enable-initfini-array --with-isl=/builddir/build/BUILD/gcc-11.2.1-20220127/obj-x86_64-redhat-linux/isl-install --enable-gnu-indirect-function --with-tune=generic --with-arch_32=x86-64 --build=x86_64-redhat-linux
Thread model: posix
Supported LTO compression algorithms: zlib
gcc version 11.2.1 20220127 (Red Hat 11.2.1-9) (GCC)

Request: Adapted std::get and an unpack function

With C++11 and above, it would be nice to have an adapted version of std::get (or even better, get with argument-dependent lookup so it works on anything structured bindings work on) available as part of Phoenix. For tuples this is the same as at_c, but it:

  1. Can be called with the type instead of the index of the item
  2. Works with a lot more than just tuples
  3. Doesn't require Fusion or the Fusion adapter machinery

Working with tuples could be made even nicer by also having a (higher-order) unpack function (like boost::hof::unpack or boost::hana::fuse) which allows tuple elements to be accessed as arg1...argN.

Boost 1.81.0: error: 'arg1' is not a member of 'boost::phoenix::placeholders'; did you mean 'uarg1'?

When trying to build mapnik 3.1.0 with boost 1.81.0 having a patch from #112 and gcc 12.2.1 in Mageia Cauldron the build fails with:

c++ -o plugins/input/csv/csv_utils.o -c -std=c++14 -DU_USING_ICU_NAMESPACE=0 -O2 -g -pipe -Wformat -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fstack-protector --param=ssp-buffer-size=4 -fasynchronous-unwind-tables -fvisibility=hidden -fvisibility-inlines-hidden -Wall -pthread -ftemplate-depth-300 -Wsign-compare -Wshadow -O2 -DMAPNIK_MEMORY_MAPPED_FILE -DMAPNIK_HAS_DLCFN -DBIGINT -DBOOST_REGEX_HAS_ICU -DHAVE_JPEG -DHAVE_PNG -DHAVE_WEBP -DHAVE_TIFF -DLINUX -DMAPNIK_THREADSAFE -DBOOST_SPIRIT_NO_PREDEFINED_TERMINALS=1 -DBOOST_PHOENIX_NO_PREDEFINED_TERMINALS=1 -DBOOST_SPIRIT_USE_PHOENIX_V3=1 -DNDEBUG -Ideps -Ideps/mapbox/variant/include -Ideps/agg/include -Iinclude -I/usr/include -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/harfbuzz -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/libxml2 plugins/input/csv/csv_utils.cpp
In file included from /usr/include/boost/phoenix/stl.hpp:14,
                 from /usr/include/boost/phoenix/phoenix.hpp:19,
                 from include/mapnik/wkt/wkt_factory.hpp:26,
                 from plugins/input/csv/csv_utils.cpp:27:
/usr/include/boost/preprocessor/iteration/detail/limits/local_256.hpp:16:9: error: 'arg1' is not a member of 'boost::phoenix::placeholders'; did you mean 'uarg1'?
   16 |         BOOST_PP_LOCAL_MACRO(1)
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/include/boost/preprocessor/iteration/detail/limits/local_256.hpp:19:9: error: 'arg1' is not a member of 'boost::phoenix::placeholders'; did you mean 'uarg1'?
   19 |         BOOST_PP_LOCAL_MACRO(2)
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/include/boost/preprocessor/iteration/detail/limits/local_256.hpp:22:9: error: 'arg1' is not a member of 'boost::phoenix::placeholders'; did you mean 'uarg1'?
   22 |         BOOST_PP_LOCAL_MACRO(3)
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/include/boost/preprocessor/iteration/detail/limits/local_256.hpp:25:9: error: 'arg1' is not a member of 'boost::phoenix::placeholders'; did you mean 'uarg1'?
   25 |         BOOST_PP_LOCAL_MACRO(4)
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/include/boost/preprocessor/iteration/detail/limits/local_256.hpp:28:9: error: 'arg1' is not a member of 'boost::phoenix::placeholders'; did you mean 'uarg1'?
   28 |         BOOST_PP_LOCAL_MACRO(5)
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/include/boost/preprocessor/iteration/detail/limits/local_256.hpp:31:9: error: 'arg1' is not a member of 'boost::phoenix::placeholders'; did you mean 'uarg1'?
   31 |         BOOST_PP_LOCAL_MACRO(6)
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/include/boost/preprocessor/iteration/detail/limits/local_256.hpp:34:9: error: 'arg1' is not a member of 'boost::phoenix::placeholders'; did you mean 'uarg1'?
   34 |         BOOST_PP_LOCAL_MACRO(7)
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/include/boost/preprocessor/iteration/detail/limits/local_256.hpp:37:9: error: 'arg1' is not a member of 'boost::phoenix::placeholders'; did you mean 'uarg1'?
   37 |         BOOST_PP_LOCAL_MACRO(8)
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/include/boost/preprocessor/iteration/detail/limits/local_256.hpp:40:9: error: 'arg1' is not a member of 'boost::phoenix::placeholders'; did you mean 'uarg1'?
   40 |         BOOST_PP_LOCAL_MACRO(9)
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/include/boost/preprocessor/iteration/detail/limits/local_256.hpp:43:9: error: 'arg1' is not a member of 'boost::phoenix::placeholders'; did you mean 'uarg1'?
   43 |         BOOST_PP_LOCAL_MACRO(10)
      |         ^~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/boost/geometry/core/config.hpp:16,
                 from /usr/include/boost/geometry/strategy/cartesian/side_by_triangle.hpp:27,
                 from /usr/include/boost/geometry/strategies/strategies.hpp:137,
                 from /usr/include/boost/geometry/geometry.hpp:57,
                 from /usr/include/boost/geometry.hpp:17,
                 from include/mapnik/geometry_adapters.hpp:38,
                 from include/mapnik/geometry_correct.hpp:27,
                 from plugins/input/csv/csv_utils.cpp:26:
/usr/include/boost/spirit/include/phoenix_function.hpp:12:1: note: '#pragma message: This header is deprecated. Use <boost/phoenix/function.hpp> instead.'
   12 | BOOST_HEADER_DEPRECATED("<boost/phoenix/function.hpp>")
      | ^~~~~~~~~~~~~~~~~~~~~~~

C5240: 'maybe_unused': attribute is ignored in this syntactic position

When including the generated header files we see many 'maybe_unused' compiler warnings in Windows Visual Studio 2022 (17.8.2), e.g.:
boost/phoenix/core/detail/cpp03/preprocessed/argument_predefined_10.hpp(21): warning C5240: 'maybe_unused': attribute is ignored in this syntactic position

Could be fixed by pull request #119

VC7.1 errors when including `<boost/phoenix.hpp>`

I couldn't see any explicit mention of what compilers are supported or tested.

Errors below from boost 1.55 (I get a different set of errors in 1.72, they are at the bottom).
Problem is with the definition of the placeholders it appears.

Code is just:

#include <boost/phoenix.hpp>

Command line:
cl.exe "test.cpp" /Fo"test.obj" /GR /MD /Gy /W3 /EHsc /Gd /Gm- /arch:SSE2 /Zm200 /DWIN32 /D_WINDOWS /D_USRDLL /I"Microsoft Visual C++ Toolkit 2003/include" /I"Microsoft SDKs\Windows\v6.0/Include" /I"Microsoft SDKs\Windows\v6.0/Include/mfc" /nologo /Z7 /Od /RTC1 /D_DEBUG /c /I"boost_1_55_0"

Output:

test.cpp
boost\proto\detail\preprocessed\poly_function_funop.hpp(12) : error C2976: 'boost::proto::functional::has_env_var<Key>::impl' : too few template arguments
        with
        [
            Key=boost::proto::envns_::transforms_type
        ]
        boost\proto\transform\env.hpp(254) : see declaration of 'boost::proto::functional::has_env_var<Key>::impl'
        with
        [
            Key=boost::proto::envns_::transforms_type
        ]
        boost\utility\result_of.hpp(187) : see reference to class template instantiation 'boost::proto::detail::poly_function<Derived>::result<Sig>' being compiled
        with
        [
            Derived=boost::proto::functional::has_env_var<boost::proto::envns_::transforms_type>,
            Sig=boost::proto::functional::has_env_var<boost::proto::envns_::transforms_type> (boost::phoenix::result_of::actions<boost::phoenix::vector2<boost::mpl::true_,boost::phoenix::is_nullary>>::type )
        ]
        boost\utility\result_of.hpp(194) : see reference to class template instantiation 'boost::detail::result_of_nested_result<F,FArgs>' being compiled
        with
        [
            F=boost::remove_cv<boost::proto::functional::has_env_var<boost::proto::envns_::transforms_type>>::type,
            FArgs=boost::proto::functional::has_env_var<boost::proto::envns_::transforms_type> (boost::phoenix::result_of::actions<boost::phoenix::vector2<boost::mpl::true_,boost::phoenix::is_nullary>>::type )
        ]
        boost\utility\detail\result_of_iterate.hpp(37) : see reference to class template instantiation 'boost::detail::tr1_result_of_impl<F,FArgs,HasResultType>' being compiled
        with
        [
            F=boost::remove_cv<boost::proto::functional::has_env_var<boost::proto::envns_::transforms_type>>::type,
            FArgs=boost::remove_cv<boost::proto::functional::has_env_var<boost::proto::envns_::transforms_type>>::type (boost::phoenix::result_of::actions<boost::phoenix::vector2<boost::mpl::true_,boost::phoenix::is_nullary>>::type ),
            HasResultType=false
        ]
        boost\utility\detail\result_of_iterate.hpp(160) : see reference to class template instantiation 'boost::tr1_result_of<F>' being compiled
        with
        [
            F=boost::proto::functional::has_env_var<boost::proto::envns_::transforms_type> (boost::phoenix::result_of::actions<boost::phoenix::vector2<boost::mpl::true_,boost::phoenix::is_nullary>>::type )
        ]
        boost\proto\transform\env.hpp(367) : see reference to class template instantiation 'boost::result_of<F>' being compiled
        with
        [
            F=boost::proto::functional::has_env_var<boost::proto::envns_::transforms_type> (boost::phoenix::result_of::actions<boost::phoenix::vector2<boost::mpl::true_,boost::phoenix::is_nullary>>::type )
        ]
        boost\proto\transform\when.hpp(189) : see reference to class template instantiation 'boost::proto::result_of::has_env_var<Env,Key>' being compiled
        with
        [
            Env=boost::phoenix::result_of::actions<boost::phoenix::vector2<boost::mpl::true_,boost::phoenix::is_nullary>>::type ,
            Key=boost::proto::envns_::transforms_type
        ]
        boost\proto\matches.hpp(762) : see reference to class template instantiation 'boost::proto::when<Grammar,PrimitiveTransform>::impl<Expr,State,Data>' being compiled
        with
        [
            Grammar=boost::phoenix::rule::argument,
            PrimitiveTransform=boost::proto::external_transform,
            Expr=const boost::phoenix::actor<boost::phoenix::expression::terminal<boost::phoenix::argument<1>>::base_type>::proto_base_expr &,
            State=boost::phoenix::result_of::env<boost::phoenix::vector2<boost::mpl::true_,boost::phoenix::is_nullary>>::type ,
            Data=boost::phoenix::result_of::actions<boost::phoenix::vector2<boost::mpl::true_,boost::phoenix::is_nullary>>::type 
        ]
        boost\proto\matches.hpp(836) : see reference to class template instantiation 'boost::proto::or_<G0,G1,G2>::impl<Expr,State,Data>' being compiled
        with
        [
            G0=boost::phoenix::enable_rule<boost::phoenix::rule::argument,void>,
            G1=boost::phoenix::enable_rule<boost::phoenix::rule::custom_terminal,void>,
            G2=boost::phoenix::enable_rule<boost::phoenix::rule::terminal,void>,
            Expr=const boost::phoenix::actor<boost::phoenix::expression::terminal<boost::phoenix::argument<1>>::base_type>::proto_base_expr &,
            State=boost::phoenix::result_of::env<boost::phoenix::vector2<boost::mpl::true_,boost::phoenix::is_nullary>>::type ,
            Data=boost::phoenix::result_of::actions<boost::phoenix::vector2<boost::mpl::true_,boost::phoenix::is_nullary>>::type 
        ]
        boost\phoenix\core\meta_grammar.hpp(66) : see reference to class template instantiation 'boost::proto::switch_<Cases>::impl<Expr,State,Data>' being compiled
        with
        [
            Cases=boost::phoenix::meta_grammar,
            Expr=const boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal,boost::proto::argsns_::term<boost::phoenix::argument<1>>,0> &,
            State=boost::phoenix::result_of::env<boost::phoenix::vector2<boost::mpl::true_,boost::phoenix::is_nullary>>::type,
            Data=boost::phoenix::result_of::actions<boost::phoenix::vector2<boost::mpl::true_,boost::phoenix::is_nullary>>::type
        ]
        boost\phoenix\core\is_nullary.hpp(123) : see reference to class template instantiation 'boost::phoenix::evaluator::impl<Expr,State,Data>' being compiled
        with
        [
            Expr=const boost::phoenix::actor<boost::phoenix::expression::terminal<boost::phoenix::argument<1>>::base_type>::proto_base_expr &,
            State=boost::phoenix::vector2<boost::mpl::true_,boost::phoenix::is_nullary>,
            Data=boost::proto::envns_::empty_env
        ]
        boost\phoenix\core\detail\preprocessed\actor_result_of_10.hpp(34) : see reference to class template instantiation 'boost::phoenix::result_of::is_nullary<Expr>' being compiled
        with
        [
            Expr=boost::phoenix::actor<boost::phoenix::expression::terminal<boost::phoenix::argument<1>>::base_type>::proto_base_expr
        ]
        boost\phoenix\core\actor.hpp(239) : see reference to class template instantiation 'boost::phoenix::result_of::actor<Expr>' being compiled
        with
        [
            Expr=boost::phoenix::actor<boost::phoenix::expression::terminal<boost::phoenix::argument<1>>::base_type>::proto_base_expr
        ]
        boost\phoenix\core\preprocessed\argument_predefined_10.hpp(13) : see reference to class template instantiation 'boost::phoenix::actor<Expr>' being compiled
        with
        [
            Expr=boost::phoenix::expression::terminal<boost::phoenix::argument<1>>::base_type
        ]
boost\proto\detail\preprocessed\poly_function_funop.hpp(12) : error C2955: 'boost::proto::functional::has_env_var<Key>::impl' : use of class template requires template argument list
        with
        [
            Key=boost::proto::envns_::transforms_type
        ]
        boost\proto\transform\env.hpp(254) : see declaration of 'boost::proto::functional::has_env_var<Key>::impl'
        with
        [
            Key=boost::proto::envns_::transforms_type
        ]
boost\proto\transform\env.hpp(368) : fatal error C1903: unable to recover from previous error(s); stopping compilation

Errors I get with 1.72:

test.cpp
boost\fusion\algorithm\iteration\detail\preprocessed\fold.hpp(35) : error C2975: 'boost::fusion::detail::result_of_it_fold' : invalid template argument for 'function-parameter', compile-time evaluatable constant expression expected
        boost\fusion\algorithm\iteration\detail\preprocessed\fold.hpp(27) : see declaration of 'boost::fusion::detail::result_of_it_fold'
boost\fusion\algorithm\iteration\detail\preprocessed\fold.hpp(37) : error C3855: 'boost::fusion::detail::result_of_it_fold': template parameter 'SeqSize' is incompatible with the declaration
boost\fusion\algorithm\iteration\detail\preprocessed\fold.hpp(37) : error C2976: 'boost::fusion::detail::result_of_it_fold' : too few template arguments
        boost\fusion\algorithm\iteration\detail\preprocessed\fold.hpp(37) : see declaration of 'boost::fusion::detail::result_of_it_fold'
boost\fusion\algorithm\iteration\detail\preprocessed\fold.hpp(65) : error C2976: 'boost::fusion::detail::result_of_it_fold' : too few template arguments
        boost\fusion\algorithm\iteration\detail\preprocessed\fold.hpp(65) : see declaration of 'boost::fusion::detail::result_of_it_fold'
boost\fusion\algorithm\iteration\detail\preprocessed\fold.hpp(68) : error C2955: 'boost::fusion::detail::result_of_it_fold' : use of class template requires template argument list
        boost\fusion\algorithm\iteration\detail\preprocessed\fold.hpp(65) : see declaration of 'boost::fusion::detail::result_of_it_fold'
boost\fusion\algorithm\iteration\detail\preprocessed\fold.hpp(68) : error C2039: 'type' : is not a member of 'boost::fusion::detail::result_of_it_fold'
        boost\fusion\algorithm\iteration\detail\preprocessed\fold.hpp(65) : see declaration of 'boost::fusion::detail::result_of_it_fold'
boost\fusion\algorithm\iteration\detail\preprocessed\fold.hpp(74) : error C2146: syntax error : missing ';' before identifier 'it_fold'
boost\fusion\algorithm\iteration\detail\preprocessed\fold.hpp(74) : error C2433: 'type' : 'inline' not permitted on data declarations
boost\fusion\algorithm\iteration\detail\preprocessed\fold.hpp(74) : error C2501: 'type' : missing storage-class or type specifiers
boost\fusion\algorithm\iteration\detail\preprocessed\fold.hpp(74) : error C2061: syntax error : identifier 'It'
boost\fusion\algorithm\iteration\detail\preprocessed\fold.hpp(88) : error C3203: 'result_of_it_fold' : class template invalid as template argument for template parameter 'T', expected a real type
boost\fusion\algorithm\iteration\detail\preprocessed\reverse_fold.hpp(34) : error C2975: 'boost::fusion::detail::result_of_it_reverse_fold' : invalid template argument for 'function-parameter', compile-time evaluatable constant expression expected
        boost\fusion\algorithm\iteration\detail\preprocessed\reverse_fold.hpp(26) : see declaration of 'boost::fusion::detail::result_of_it_reverse_fold'
boost\fusion\algorithm\iteration\detail\preprocessed\reverse_fold.hpp(36) : error C3855: 'boost::fusion::detail::result_of_it_reverse_fold': template parameter 'SeqSize' is incompatible with the declaration
boost\fusion\algorithm\iteration\detail\preprocessed\reverse_fold.hpp(36) : error C2976: 'boost::fusion::detail::result_of_it_reverse_fold' : too few template arguments
        boost\fusion\algorithm\iteration\detail\preprocessed\reverse_fold.hpp(36) : see declaration of 'boost::fusion::detail::result_of_it_reverse_fold'
boost\fusion\algorithm\iteration\detail\preprocessed\reverse_fold.hpp(64) : error C2976: 'boost::fusion::detail::result_of_it_reverse_fold' : too few template arguments
        boost\fusion\algorithm\iteration\detail\preprocessed\reverse_fold.hpp(64) : see declaration of 'boost::fusion::detail::result_of_it_reverse_fold'
boost\fusion\algorithm\iteration\detail\preprocessed\reverse_fold.hpp(67) : error C2955: 'boost::fusion::detail::result_of_it_reverse_fold' : use of class template requires template argument list
        boost\fusion\algorithm\iteration\detail\preprocessed\reverse_fold.hpp(64) : see declaration of 'boost::fusion::detail::result_of_it_reverse_fold'
boost\fusion\algorithm\iteration\detail\preprocessed\reverse_fold.hpp(67) : error C2039: 'type' : is not a member of 'boost::fusion::detail::result_of_it_reverse_fold'
        boost\fusion\algorithm\iteration\detail\preprocessed\reverse_fold.hpp(64) : see declaration of 'boost::fusion::detail::result_of_it_reverse_fold'
boost\fusion\algorithm\iteration\detail\preprocessed\reverse_fold.hpp(73) : error C2146: syntax error : missing ';' before identifier 'it_reverse_fold'
boost\fusion\algorithm\iteration\detail\preprocessed\reverse_fold.hpp(73) : error C2433: 'type' : 'inline' not permitted on data declarations
boost\fusion\algorithm\iteration\detail\preprocessed\reverse_fold.hpp(73) : error C2501: 'type' : missing storage-class or type specifiers
boost\fusion\algorithm\iteration\detail\preprocessed\reverse_fold.hpp(73) : error C2086: 'int boost::fusion::detail::type' : redefinition
        boost\fusion\algorithm\iteration\detail\preprocessed\fold.hpp(74) : see declaration of 'boost::fusion::detail::type'
boost\fusion\algorithm\iteration\detail\preprocessed\reverse_fold.hpp(73) : error C2061: syntax error : identifier 'It'
boost\fusion\algorithm\iteration\detail\preprocessed\reverse_fold.hpp(87) : error C3203: 'result_of_it_reverse_fold' : class template invalid as template argument for template parameter 'T', expected a real type
Microsoft Visual C++ Toolkit 2003\include\ostream(604) : fatal error C1903: unable to recover from previous error(s); stopping compilation

Namespace for Phoenix in the documentation

I can not find anywhere in the Phoenix documentation where anything about a namespace for Phoenix is mentioned. Shouldn't this be somewhere in the documentation wher it can easily be found ? I am guessing that all the Phoenix constructs are in the boost:::phoenix namespace. If this is the case should not it be mentioned anywhere ?

do_ leads to incosistency

Any unary lazy statement in boost::phoenix can be used like:

template <class I, class F>
void call_lzay_func(const I& i, const F& f)
{
    std::vector<int> vec;
    f[push_back(ref(vec), i)]();
}
int i;
f(ref(i), for_(ref(i) = 0, ref(i) < 5, ref(i)++));

The only exception is the do_ statement.

When I have a function taking a unary boost::phonenix lazy statement (like you can see in the example), I have to make a falling distinctive to handle the do_ specially.

I can't see any benefit in this. In which this simply change would solve the problem, without changing the semantic:

do_
[
    cout << arg1 << ", "
]
.while_(arg1--),

to

do_(arg1--)
[
    cout << arg1 << ", "
]

Isn't the current implementation incosistent in the manner of my example?

boost 1.8.1 beta1+gcc-12: multiple definition of `boost::phoenix::placeholders::uarg1'

Hi,

I tried to recompile freeorion v0.4.10.2 with boost 1.81.0.beta1. The linking step run into this problem (stripped duplicated (in meaning) errors):

/usr/bin/ld: CMakeFiles/freeorionparseobj.dir/parse/VisibilityValueRefParser.cpp.o:(.bss+0x12): multiple definition of `boost::phoenix::placeholders::uarg1'; CMakeFiles/freeorionparseobj.dir/parse/ArithmeticRules.cpp.o:(.bss+0x12): first defined here

It seems like the boost::phoenix::placeholders::uarg1 (and friends) is allocated in bss in all translation unit that include boost/phoenix.hpp

Is it intended?

fwiw, the same code can be linked with gcc 10 and boost 1.80

lambda_tests3a fails on VS2015/2017

http://www.boost.org/development/tests/develop/developer/output/teeks99-09-p-win2012R2-64on64-boost-bin-v2-libs-phoenix-test-lambda_tests3a-test-msvc-14-1-dbg-adrs-mdl-64-thrdp-wn32-thrd-mlt.html
http://www.boost.org/development/tests/develop/developer/output/teeks99-09-f-win2012R2-64on64-boost-bin-v2-libs-phoenix-test-lambda_tests3a-test-msvc-14-0-dbg-adrs-mdl-64-thrdp-wn32-thrd-mlt.html

This does not fix anything:

# define BOOST_NO_CXX11_VARIADIC_TEMPLATES
# define BOOST_NO_CXX11_RVALUE_REFERENCES
# define BOOST_PHOENIX_NO_VARIADIC_ACTOR
# define BOOST_PHOENIX_NO_VARIADIC_CALL
# define BOOST_PHOENIX_NO_VARIADIC_FUNCTION_EQUAL
# define BOOST_PHOENIX_NO_VARIADIC_FUNCTION_EVAL
# define BOOST_PHOENIX_NO_VARIADIC_PHX2_RESULT
# define BOOST_PHOENIX_NO_VARIADIC_EXPRESSION
# define BOOST_PHOENIX_NO_VARIADIC_BIND

It look to me like a proto bug.

Build error on windows (VS 2017) on x86 but not x64 (using boost 1.69.0)

I am using Boost 1.69.0.

I have a program which builds fine on x64 using Windows and VS 2017 but not x86. I just added #include <boost/phoenix/bind.hpp> in order to bind a function (related to filtering of log messages). The compilation worked fine before I added #include <boost/phoenix/bind.hpp>.

The build error occurs while I compile code in a file Logger.cpp. My program pulls in a number of headers from boost while building my compilation unit Logger.cpp.

// via EnumSupport.h
#include <boost/bimap.hpp>
#include <boost/optional.hpp>

// via LogLevel.h
#include <boost/log/expressions.hpp>
#include <boost/log/support/date_time.hpp>

// via AppenderConfig.h
#include <boost/log/expressions.hpp>

// via FolderConfig.h
#include <boost/filesystem/path.hpp>

// via Logger.h
#include <boost/filesystem/path.hpp>

#pragma warning (push)
#pragma warning (disable: 4714) // function marked as __forceinline is not inlined --> boost::log::v2s_mt_nt6::aux::attribute_set_reference_proxy::mapped_type(void)
#include <boost/log/core.hpp>
#include <boost/log/sinks.hpp>
#pragma warning (pop)

#include <boost/smart_ptr/shared_ptr.hpp>

// via exceptions.h
#include <boost/stacktrace.hpp>
#include <boost/exception/all.hpp>

// Logger.cpp
#include <boost/core/null_deleter.hpp>
#include <boost/date_time/posix_time/posix_time.hpp>
#include <boost/log/core.hpp>
#include <boost/log/attributes.hpp>
#include <boost/phoenix/bind.hpp>

For context, in Logger.cpp I am using boost::phoenix to bind a function like this:

//  Set up the filter
m_consoleSink->set_filter(boost::phoenix::bind(
    &AppenderConfig::filter,
    &m_loggerConfig.m_console,
    LevelKeyword.or_none(),
    CategoryKeyword.or_none()));

Where m_consoleSink is defined as:

typedef boost::log::sinks::synchronous_sink<boost::log::sinks::text_ostream_backend> BoostConsoleSink;

//  Construct the sink
m_consoleSink = boost::shared_ptr<BoostConsoleSink>(new BoostConsoleSink);

Where the function being binded is:

/// This method is used by the boost sink to filter log messages.
/// @return True if the message should be logged, false otherwise.
bool __cdecl AppenderConfig::filter(
    _In_ const boost::log::value_ref<LogLevel, tag::LevelKeyword> level,
    _In_ const boost::log::value_ref<std::string, tag::CategoryKeyword> category)

Where I have some attribute keywords defined as follows:

BOOST_LOG_ATTRIBUTE_KEYWORD(CategoryKeyword, "Category", std::string);
BOOST_LOG_ATTRIBUTE_KEYWORD(LevelKeyword, "Level", LogLevel);

Where LogLevel is an enum:

enum class LogLevel
{
    /// A catastrophic error that leads quickly to program termination.
    fatal = 0,
    /// An error has clearly occurred.
    error = 1,
    /// Something isn't right.
    warning = 2,
    /// Using a block of code which may need to be fixed or updated.
    fix = 3,
    /// Identifies logs which are often relevant.
    info = 4,
    /// Identifies logs which may be relevant for debugging.
    debug = 5,
    /// Identifies logs which may be relevant for deep debugging.
    log = 6,
    /// Identifies logs which may be relevant for extreme debugging.
    trace = 7,

    // -------------

    /// Used to log small chunks of data as memrory dumps in the log.  Displayed as hexdump with ASCII chars.
    memdump=9
};

The full build output (with error) is shown below. The error is toward the bottom.

29>Logger.cpp
29>c:\.conan\yk47mx\1\include\boost\utility\result_of.hpp(208): error C2825: 'F': must be a class or namespace when followed by '::'
29>c:\.conan\yk47mx\1\include\boost\utility\result_of.hpp(216): note: see reference to class template instantiation 'boost::detail::result_of_nested_result<F,FArgs>' being compiled
29>        with
29>        [
29>            F=bool (__cdecl panopto::base::log::AppenderConfig::* )(boost::log::v2s_mt_nt6::value_ref<panopto::base::log::LogLevel,panopto::base::log::tag::LevelKeyword>,boost::log::v2s_mt_nt6::value_ref<std::string,panopto::base::log::tag::CategoryKeyword>),
29>            FArgs=bool (__cdecl panopto::base::log::AppenderConfig::* (panopto::base::log::FolderConfig *const &,const boost::log::v2s_mt_nt6::value_ref<panopto::base::log::LogLevel,panopto::base::log::tag::LevelKeyword> &,const boost::log::v2s_mt_nt6::value_ref<std::string,panopto::base::log::tag::CategoryKeyword> &))(boost::log::v2s_mt_nt6::value_ref<panopto::base::log::LogLevel,panopto::base::log::tag::LevelKeyword>,boost::log::v2s_mt_nt6::value_ref<std::string,panopto::base::log::tag::CategoryKeyword>)
29>        ]
29>c:\.conan\yk47mx\1\include\boost\utility\detail\result_of_iterate.hpp(70): note: see reference to class template instantiation 'boost::detail::tr1_result_of_impl<bool (__cdecl panopto::base::log::AppenderConfig::* )(boost::log::v2s_mt_nt6::value_ref<panopto::base::log::LogLevel,panopto::base::log::tag::LevelKeyword>,boost::log::v2s_mt_nt6::value_ref<std::string,panopto::base::log::tag::CategoryKeyword>),bool (__cdecl panopto::base::log::AppenderConfig::* (T0,T1,T2))(boost::log::v2s_mt_nt6::value_ref<panopto::base::log::LogLevel,panopto::base::log::tag::LevelKeyword>,boost::log::v2s_mt_nt6::value_ref<std::string,panopto::base::log::tag::CategoryKeyword>),false>' being compiled
29>        with
29>        [
29>            T0=panopto::base::log::FolderConfig *const &,
29>            T1=const boost::log::v2s_mt_nt6::value_ref<panopto::base::log::LogLevel,panopto::base::log::tag::LevelKeyword> &,
29>            T2=const boost::log::v2s_mt_nt6::value_ref<std::string,panopto::base::log::tag::CategoryKeyword> &
29>        ]
29>c:\.conan\yk47mx\1\include\boost\utility\detail\result_of_iterate.hpp(43): note: see reference to class template instantiation 'boost::detail::cpp0x_result_of<F (T0,T1,T2)>' being compiled
29>        with
29>        [
29>            F=bool (__cdecl panopto::base::log::AppenderConfig::* const )(boost::log::v2s_mt_nt6::value_ref<panopto::base::log::LogLevel,panopto::base::log::tag::LevelKeyword>,boost::log::v2s_mt_nt6::value_ref<std::string,panopto::base::log::tag::CategoryKeyword>),
29>            T0=panopto::base::log::FolderConfig *const &,
29>            T1=const boost::log::v2s_mt_nt6::value_ref<panopto::base::log::LogLevel,panopto::base::log::tag::LevelKeyword> &,
29>            T2=const boost::log::v2s_mt_nt6::value_ref<std::string,panopto::base::log::tag::CategoryKeyword> &
29>        ]
29>c:\.conan\yk47mx\1\include\boost\phoenix\core\detail\function_eval.hpp(116): note: see reference to class template instantiation 'boost::result_of<bool (__cdecl panopto::base::log::AppenderConfig::* const (panopto::base::log::FolderConfig *const &,const boost::log::v2s_mt_nt6::value_ref<panopto::base::log::LogLevel,panopto::base::log::tag::LevelKeyword> &,const boost::log::v2s_mt_nt6::value_ref<std::string,panopto::base::log::tag::CategoryKeyword> &))(boost::log::v2s_mt_nt6::value_ref<panopto::base::log::LogLevel,panopto::base::log::tag::LevelKeyword>,boost::log::v2s_mt_nt6::value_ref<std::string,panopto::base::log::tag::CategoryKeyword>)>' being compiled
29>c:\.conan\yk47mx\1\include\boost\phoenix\core\detail\function_eval.hpp(89): note: see reference to class template instantiation 'boost::phoenix::detail::function_eval::result_impl<F,void (Head,const boost::log::v2s_mt_nt6::expressions::attribute_actor<panopto::base::log::LogLevel,boost::log::v2s_mt_nt6::fallback_to_none,panopto::base::log::tag::LevelKeyword,ActorT>&,const boost::log::v2s_mt_nt6::expressions::attribute_actor<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,boost::log::v2s_mt_nt6::fallback_to_none,panopto::base::log::tag::CategoryKeyword,ActorT>&),const boost::phoenix::vector2<Env,Actions> &>' being compiled
29>        with
29>        [
29>            F=const boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal,boost::proto::argsns_::term<bool (__cdecl panopto::base::log::AppenderConfig::* )(boost::log::v2s_mt_nt6::value_ref<panopto::base::log::LogLevel,panopto::base::log::tag::LevelKeyword>,boost::log::v2s_mt_nt6::value_ref<std::string,panopto::base::log::tag::CategoryKeyword>)>,0> &,
29>            Head=const boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal,boost::proto::argsns_::term<panopto::base::log::FolderConfig *>,0> &,
29>            ActorT=boost::phoenix::actor,
29>            Env=boost::phoenix::vector2<const boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::phoenix::detail::tag::function_eval,boost::proto::argsns_::list4<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal,boost::proto::argsns_::term<bool (__cdecl panopto::base::log::AppenderConfig::* )(boost::log::v2s_mt_nt6::value_ref<panopto::base::log::LogLevel,panopto::base::log::tag::LevelKeyword>,boost::log::v2s_mt_nt6::value_ref<std::string,panopto::base::log::tag::CategoryKeyword>)>,0>,boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal,boost::proto::argsns_::term<panopto::base::log::FolderConfig *>,0>,boost::log::v2s_mt_nt6::expressions::attribute_actor<panopto::base::log::LogLevel,boost::log::v2s_mt_nt6::fallback_to_none,panopto::base::log::tag::LevelKeyword,boost::phoenix::actor>,boost::log::v2s_mt_nt6::expressions::attribute_actor<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,boost::log::v2s_mt_nt6::fallback_to_none,panopto::base::log::tag::CategoryKeyword,boost::phoenix::actor>>,4>> *,const boost::log::v2s_mt_nt6::attribute_value_set &> &,
29>            Actions=const boost::phoenix::default_actions &
29>        ]
29>c:\.conan\yk47mx\1\include\boost\phoenix\core\detail\function_eval.hpp(89): note: see reference to class template instantiation 'boost::phoenix::detail::function_eval::result_impl<F,void (Head,const boost::log::v2s_mt_nt6::expressions::attribute_actor<panopto::base::log::LogLevel,boost::log::v2s_mt_nt6::fallback_to_none,panopto::base::log::tag::LevelKeyword,ActorT>&),const boost::log::v2s_mt_nt6::expressions::attribute_actor<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,boost::log::v2s_mt_nt6::fallback_to_none,panopto::base::log::tag::CategoryKeyword,ActorT> &,const boost::phoenix::vector2<Env,Actions> &>' being compiled
29>        with
29>        [
29>            F=const boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal,boost::proto::argsns_::term<bool (__cdecl panopto::base::log::AppenderConfig::* )(boost::log::v2s_mt_nt6::value_ref<panopto::base::log::LogLevel,panopto::base::log::tag::LevelKeyword>,boost::log::v2s_mt_nt6::value_ref<std::string,panopto::base::log::tag::CategoryKeyword>)>,0> &,
29>            Head=const boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal,boost::proto::argsns_::term<panopto::base::log::FolderConfig *>,0> &,
29>            ActorT=boost::phoenix::actor,
29>            Env=boost::phoenix::vector2<const boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::phoenix::detail::tag::function_eval,boost::proto::argsns_::list4<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal,boost::proto::argsns_::term<bool (__cdecl panopto::base::log::AppenderConfig::* )(boost::log::v2s_mt_nt6::value_ref<panopto::base::log::LogLevel,panopto::base::log::tag::LevelKeyword>,boost::log::v2s_mt_nt6::value_ref<std::string,panopto::base::log::tag::CategoryKeyword>)>,0>,boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal,boost::proto::argsns_::term<panopto::base::log::FolderConfig *>,0>,boost::log::v2s_mt_nt6::expressions::attribute_actor<panopto::base::log::LogLevel,boost::log::v2s_mt_nt6::fallback_to_none,panopto::base::log::tag::LevelKeyword,boost::phoenix::actor>,boost::log::v2s_mt_nt6::expressions::attribute_actor<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,boost::log::v2s_mt_nt6::fallback_to_none,panopto::base::log::tag::CategoryKeyword,boost::phoenix::actor>>,4>> *,const boost::log::v2s_mt_nt6::attribute_value_set &> &,
29>            Actions=const boost::phoenix::default_actions &
29>        ]
29>c:\.conan\yk47mx\1\include\boost\phoenix\core\detail\function_eval.hpp(89): note: see reference to class template instantiation 'boost::phoenix::detail::function_eval::result_impl<F,void (Head),const boost::log::v2s_mt_nt6::expressions::attribute_actor<panopto::base::log::LogLevel,boost::log::v2s_mt_nt6::fallback_to_none,panopto::base::log::tag::LevelKeyword,ActorT> &,const boost::log::v2s_mt_nt6::expressions::attribute_actor<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,boost::log::v2s_mt_nt6::fallback_to_none,panopto::base::log::tag::CategoryKeyword,ActorT> &,const boost::phoenix::vector2<Env,Actions> &>' being compiled
29>        with
29>        [
29>            F=const boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal,boost::proto::argsns_::term<bool (__cdecl panopto::base::log::AppenderConfig::* )(boost::log::v2s_mt_nt6::value_ref<panopto::base::log::LogLevel,panopto::base::log::tag::LevelKeyword>,boost::log::v2s_mt_nt6::value_ref<std::string,panopto::base::log::tag::CategoryKeyword>)>,0> &,
29>            Head=const boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal,boost::proto::argsns_::term<panopto::base::log::FolderConfig *>,0> &,
29>            ActorT=boost::phoenix::actor,
29>            Env=boost::phoenix::vector2<const boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::phoenix::detail::tag::function_eval,boost::proto::argsns_::list4<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal,boost::proto::argsns_::term<bool (__cdecl panopto::base::log::AppenderConfig::* )(boost::log::v2s_mt_nt6::value_ref<panopto::base::log::LogLevel,panopto::base::log::tag::LevelKeyword>,boost::log::v2s_mt_nt6::value_ref<std::string,panopto::base::log::tag::CategoryKeyword>)>,0>,boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal,boost::proto::argsns_::term<panopto::base::log::FolderConfig *>,0>,boost::log::v2s_mt_nt6::expressions::attribute_actor<panopto::base::log::LogLevel,boost::log::v2s_mt_nt6::fallback_to_none,panopto::base::log::tag::LevelKeyword,boost::phoenix::actor>,boost::log::v2s_mt_nt6::expressions::attribute_actor<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,boost::log::v2s_mt_nt6::fallback_to_none,panopto::base::log::tag::CategoryKeyword,boost::phoenix::actor>>,4>> *,const boost::log::v2s_mt_nt6::attribute_value_set &> &,
29>            Actions=const boost::phoenix::default_actions &
29>        ]
29>c:\.conan\yk47mx\1\include\boost\phoenix\core\detail\function_eval.hpp(128): note: see reference to class template instantiation 'boost::phoenix::detail::function_eval::result_impl<F,void (void),const boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal,boost::proto::argsns_::term<panopto::base::log::FolderConfig *>,0> &,const boost::log::v2s_mt_nt6::expressions::attribute_actor<panopto::base::log::LogLevel,boost::log::v2s_mt_nt6::fallback_to_none,panopto::base::log::tag::LevelKeyword,ActorT> &,const boost::log::v2s_mt_nt6::expressions::attribute_actor<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,boost::log::v2s_mt_nt6::fallback_to_none,panopto::base::log::tag::CategoryKeyword,ActorT> &,const boost::phoenix::vector2<Env,Actions> &>' being compiled
29>        with
29>        [
29>            F=const boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal,boost::proto::argsns_::term<bool (__cdecl panopto::base::log::AppenderConfig::* )(boost::log::v2s_mt_nt6::value_ref<panopto::base::log::LogLevel,panopto::base::log::tag::LevelKeyword>,boost::log::v2s_mt_nt6::value_ref<std::string,panopto::base::log::tag::CategoryKeyword>)>,0> &,
29>            ActorT=boost::phoenix::actor,
29>            Env=boost::phoenix::vector2<const boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::phoenix::detail::tag::function_eval,boost::proto::argsns_::list4<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal,boost::proto::argsns_::term<bool (__cdecl panopto::base::log::AppenderConfig::* )(boost::log::v2s_mt_nt6::value_ref<panopto::base::log::LogLevel,panopto::base::log::tag::LevelKeyword>,boost::log::v2s_mt_nt6::value_ref<std::string,panopto::base::log::tag::CategoryKeyword>)>,0>,boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal,boost::proto::argsns_::term<panopto::base::log::FolderConfig *>,0>,boost::log::v2s_mt_nt6::expressions::attribute_actor<panopto::base::log::LogLevel,boost::log::v2s_mt_nt6::fallback_to_none,panopto::base::log::tag::LevelKeyword,boost::phoenix::actor>,boost::log::v2s_mt_nt6::expressions::attribute_actor<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,boost::log::v2s_mt_nt6::fallback_to_none,panopto::base::log::tag::CategoryKeyword,boost::phoenix::actor>>,4>> *,const boost::log::v2s_mt_nt6::attribute_value_set &> &,
29>            Actions=const boost::phoenix::default_actions &
29>        ]
29>c:\.conan\yk47mx\1\include\boost\utility\detail\result_of_iterate.hpp(135): note: see reference to class template instantiation 'boost::phoenix::detail::function_eval::result<boost::phoenix::detail::function_eval (const Expr &,const boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal,boost::proto::argsns_::term<panopto::base::log::FolderConfig *>,0> &,const boost::log::v2s_mt_nt6::expressions::attribute_actor<panopto::base::log::LogLevel,boost::log::v2s_mt_nt6::fallback_to_none,panopto::base::log::tag::LevelKeyword,ActorT> &,const boost::log::v2s_mt_nt6::expressions::attribute_actor<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,boost::log::v2s_mt_nt6::fallback_to_none,panopto::base::log::tag::CategoryKeyword,ActorT> &,const boost::phoenix::vector2<Env,Actions> &)>' being compiled
29>        with
29>        [
29>            Expr=boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal,boost::proto::argsns_::term<bool (__cdecl panopto::base::log::AppenderConfig::* )(boost::log::v2s_mt_nt6::value_ref<panopto::base::log::LogLevel,panopto::base::log::tag::LevelKeyword>,boost::log::v2s_mt_nt6::value_ref<std::string,panopto::base::log::tag::CategoryKeyword>)>,0>,
29>            ActorT=boost::phoenix::actor,
29>            Env=boost::phoenix::vector2<const boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::phoenix::detail::tag::function_eval,boost::proto::argsns_::list4<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal,boost::proto::argsns_::term<bool (__cdecl panopto::base::log::AppenderConfig::* )(boost::log::v2s_mt_nt6::value_ref<panopto::base::log::LogLevel,panopto::base::log::tag::LevelKeyword>,boost::log::v2s_mt_nt6::value_ref<std::string,panopto::base::log::tag::CategoryKeyword>)>,0>,boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal,boost::proto::argsns_::term<panopto::base::log::FolderConfig *>,0>,boost::log::v2s_mt_nt6::expressions::attribute_actor<panopto::base::log::LogLevel,boost::log::v2s_mt_nt6::fallback_to_none,panopto::base::log::tag::LevelKeyword,boost::phoenix::actor>,boost::log::v2s_mt_nt6::expressions::attribute_actor<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,boost::log::v2s_mt_nt6::fallback_to_none,panopto::base::log::tag::CategoryKeyword,boost::phoenix::actor>>,4>> *,const boost::log::v2s_mt_nt6::attribute_value_set &> &,
29>            Actions=const boost::phoenix::default_actions &
29>        ]
29>c:\.conan\yk47mx\1\include\boost\utility\detail\result_of_iterate.hpp(43): note: see reference to class template instantiation 'boost::detail::cpp0x_result_of<F (T0,T1,T2,T3,T4)>' being compiled
29>        with
29>        [
29>            F=boost::phoenix::detail::function_eval,
29>            T0=const boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal,boost::proto::argsns_::term<bool (__cdecl panopto::base::log::AppenderConfig::* )(boost::log::v2s_mt_nt6::value_ref<panopto::base::log::LogLevel,panopto::base::log::tag::LevelKeyword>,boost::log::v2s_mt_nt6::value_ref<std::string,panopto::base::log::tag::CategoryKeyword>)>,0> &,
29>            T1=const boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal,boost::proto::argsns_::term<panopto::base::log::FolderConfig *>,0> &,
29>            T2=const boost::log::v2s_mt_nt6::expressions::attribute_actor<panopto::base::log::LogLevel,boost::log::v2s_mt_nt6::fallback_to_none,panopto::base::log::tag::LevelKeyword,boost::phoenix::actor> &,
29>            T3=const boost::log::v2s_mt_nt6::expressions::attribute_actor<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,boost::log::v2s_mt_nt6::fallback_to_none,panopto::base::log::tag::CategoryKeyword,boost::phoenix::actor> &,
29>            T4=boost::phoenix::vector2<boost::phoenix::vector2<const boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::phoenix::detail::tag::function_eval,boost::proto::argsns_::list4<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal,boost::proto::argsns_::term<bool (__cdecl panopto::base::log::AppenderConfig::* )(boost::log::v2s_mt_nt6::value_ref<panopto::base::log::LogLevel,panopto::base::log::tag::LevelKeyword>,boost::log::v2s_mt_nt6::value_ref<std::string,panopto::base::log::tag::CategoryKeyword>)>,0>,boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal,boost::proto::argsns_::term<panopto::base::log::FolderConfig *>,0>,boost::log::v2s_mt_nt6::expressions::attribute_actor<panopto::base::log::LogLevel,boost::log::v2s_mt_nt6::fallback_to_none,panopto::base::log::tag::LevelKeyword,boost::phoenix::actor>,boost::log::v2s_mt_nt6::expressions::attribute_actor<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,boost::log::v2s_mt_nt6::fallback_to_none,panopto::base::log::tag::CategoryKeyword,boost::phoenix::actor>>,4>> *,const boost::log::v2s_mt_nt6::attribute_value_set &> &,const boost::phoenix::default_actions &>
29>        ]
29>c:\.conan\yk47mx\1\include\boost\phoenix\core\call.hpp(86): note: see reference to class template instantiation 'boost::result_of<Fun (const boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal,boost::proto::argsns_::term<bool (__cdecl panopto::base::log::AppenderConfig::* )(boost::log::v2s_mt_nt6::value_ref<panopto::base::log::LogLevel,panopto::base::log::tag::LevelKeyword>,boost::log::v2s_mt_nt6::value_ref<std::string,panopto::base::log::tag::CategoryKeyword>)>,0> &,const boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal,boost::proto::argsns_::term<panopto::base::log::FolderConfig *>,0> &,const boost::log::v2s_mt_nt6::expressions::attribute_actor<panopto::base::log::LogLevel,boost::log::v2s_mt_nt6::fallback_to_none,panopto::base::log::tag::LevelKeyword,ActorT> &,const boost::log::v2s_mt_nt6::expressions::attribute_actor<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,boost::log::v2s_mt_nt6::fallback_to_none,panopto::base::log::tag::CategoryKeyword,ActorT> &,boost::phoenix::vector2<Env,Actions>)>' being compiled
29>        with
29>        [
29>            Fun=boost::phoenix::detail::function_eval,
29>            ActorT=boost::phoenix::actor,
29>            Env=boost::phoenix::vector2<const boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::phoenix::detail::tag::function_eval,boost::proto::argsns_::list4<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal,boost::proto::argsns_::term<bool (__cdecl panopto::base::log::AppenderConfig::* )(boost::log::v2s_mt_nt6::value_ref<panopto::base::log::LogLevel,panopto::base::log::tag::LevelKeyword>,boost::log::v2s_mt_nt6::value_ref<std::string,panopto::base::log::tag::CategoryKeyword>)>,0>,boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal,boost::proto::argsns_::term<panopto::base::log::FolderConfig *>,0>,boost::log::v2s_mt_nt6::expressions::attribute_actor<panopto::base::log::LogLevel,boost::log::v2s_mt_nt6::fallback_to_none,panopto::base::log::tag::LevelKeyword,boost::phoenix::actor>,boost::log::v2s_mt_nt6::expressions::attribute_actor<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,boost::log::v2s_mt_nt6::fallback_to_none,panopto::base::log::tag::CategoryKeyword,boost::phoenix::actor>>,4>> *,const boost::log::v2s_mt_nt6::attribute_value_set &> &,
29>            Actions=const boost::phoenix::default_actions &
29>        ]
29>c:\.conan\yk47mx\1\include\boost\phoenix\core\call.hpp(105): note: see reference to class template instantiation 'boost::phoenix::detail::call_impl_<Fun,Expr,State,Data,boost::fusion::detail::index_sequence<0,1,2,3>>' being compiled
29>        with
29>        [
29>            Fun=boost::phoenix::detail::function_eval,
29>            Expr=const boost::proto::exprns_::basic_expr<boost::phoenix::detail::tag::function_eval,boost::proto::argsns_::list4<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal,boost::proto::argsns_::term<bool (__cdecl panopto::base::log::AppenderConfig::* )(boost::log::v2s_mt_nt6::value_ref<panopto::base::log::LogLevel,panopto::base::log::tag::LevelKeyword>,boost::log::v2s_mt_nt6::value_ref<std::string,panopto::base::log::tag::CategoryKeyword>)>,0>,boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal,boost::proto::argsns_::term<panopto::base::log::FolderConfig *>,0>,boost::log::v2s_mt_nt6::expressions::attribute_actor<panopto::base::log::LogLevel,boost::log::v2s_mt_nt6::fallback_to_none,panopto::base::log::tag::LevelKeyword,boost::phoenix::actor>,boost::log::v2s_mt_nt6::expressions::attribute_actor<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,boost::log::v2s_mt_nt6::fallback_to_none,panopto::base::log::tag::CategoryKeyword,boost::phoenix::actor>>,4> &,
29>            State=boost::phoenix::vector2<const boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::phoenix::detail::tag::function_eval,boost::proto::argsns_::list4<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal,boost::proto::argsns_::term<bool (__cdecl panopto::base::log::AppenderConfig::* )(boost::log::v2s_mt_nt6::value_ref<panopto::base::log::LogLevel,panopto::base::log::tag::LevelKeyword>,boost::log::v2s_mt_nt6::value_ref<std::string,panopto::base::log::tag::CategoryKeyword>)>,0>,boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal,boost::proto::argsns_::term<panopto::base::log::FolderConfig *>,0>,boost::log::v2s_mt_nt6::expressions::attribute_actor<panopto::base::log::LogLevel,boost::log::v2s_mt_nt6::fallback_to_none,panopto::base::log::tag::LevelKeyword,boost::phoenix::actor>,boost::log::v2s_mt_nt6::expressions::attribute_actor<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,boost::log::v2s_mt_nt6::fallback_to_none,panopto::base::log::tag::CategoryKeyword,boost::phoenix::actor>>,4>> *,const boost::log::v2s_mt_nt6::attribute_value_set &> &,
29>            Data=const boost::phoenix::default_actions &
29>        ]
29>c:\.conan\yk47mx\1\include\boost\phoenix\core\call.hpp(117): note: see reference to class template instantiation 'boost::phoenix::detail::call_impl<Fun,Expr,State,Data,4>' being compiled
29>        with
29>        [
29>            Fun=boost::phoenix::detail::function_eval,
29>            Expr=const boost::proto::exprns_::basic_expr<boost::phoenix::detail::tag::function_eval,boost::proto::argsns_::list4<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal,boost::proto::argsns_::term<bool (__cdecl panopto::base::log::AppenderConfig::* )(boost::log::v2s_mt_nt6::value_ref<panopto::base::log::LogLevel,panopto::base::log::tag::LevelKeyword>,boost::log::v2s_mt_nt6::value_ref<std::string,panopto::base::log::tag::CategoryKeyword>)>,0>,boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal,boost::proto::argsns_::term<panopto::base::log::FolderConfig *>,0>,boost::log::v2s_mt_nt6::expressions::attribute_actor<panopto::base::log::LogLevel,boost::log::v2s_mt_nt6::fallback_to_none,panopto::base::log::tag::LevelKeyword,boost::phoenix::actor>,boost::log::v2s_mt_nt6::expressions::attribute_actor<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,boost::log::v2s_mt_nt6::fallback_to_none,panopto::base::log::tag::CategoryKeyword,boost::phoenix::actor>>,4> &,
29>            State=boost::phoenix::vector2<const boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::phoenix::detail::tag::function_eval,boost::proto::argsns_::list4<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal,boost::proto::argsns_::term<bool (__cdecl panopto::base::log::AppenderConfig::* )(boost::log::v2s_mt_nt6::value_ref<panopto::base::log::LogLevel,panopto::base::log::tag::LevelKeyword>,boost::log::v2s_mt_nt6::value_ref<std::string,panopto::base::log::tag::CategoryKeyword>)>,0>,boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal,boost::proto::argsns_::term<panopto::base::log::FolderConfig *>,0>,boost::log::v2s_mt_nt6::expressions::attribute_actor<panopto::base::log::LogLevel,boost::log::v2s_mt_nt6::fallback_to_none,panopto::base::log::tag::LevelKeyword,boost::phoenix::actor>,boost::log::v2s_mt_nt6::expressions::attribute_actor<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,boost::log::v2s_mt_nt6::fallback_to_none,panopto::base::log::tag::CategoryKeyword,boost::phoenix::actor>>,4>> *,const boost::log::v2s_mt_nt6::attribute_value_set &> &,
29>            Data=const boost::phoenix::default_actions &
29>        ]
29>c:\.conan\yk47mx\1\include\boost\proto\transform\when.hpp(194): note: see reference to class template instantiation 'boost::phoenix::call<boost::phoenix::detail::function_eval,void>::impl<Expr,State,Data>' being compiled
29>        with
29>        [
29>            Expr=const boost::proto::exprns_::basic_expr<boost::phoenix::detail::tag::function_eval,boost::proto::argsns_::list4<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal,boost::proto::argsns_::term<bool (__cdecl panopto::base::log::AppenderConfig::* )(boost::log::v2s_mt_nt6::value_ref<panopto::base::log::LogLevel,panopto::base::log::tag::LevelKeyword>,boost::log::v2s_mt_nt6::value_ref<std::string,panopto::base::log::tag::CategoryKeyword>)>,0>,boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal,boost::proto::argsns_::term<panopto::base::log::FolderConfig *>,0>,boost::log::v2s_mt_nt6::expressions::attribute_actor<panopto::base::log::LogLevel,boost::log::v2s_mt_nt6::fallback_to_none,panopto::base::log::tag::LevelKeyword,boost::phoenix::actor>,boost::log::v2s_mt_nt6::expressions::attribute_actor<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,boost::log::v2s_mt_nt6::fallback_to_none,panopto::base::log::tag::CategoryKeyword,boost::phoenix::actor>>,4> &,
29>            State=boost::phoenix::vector2<const boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::phoenix::detail::tag::function_eval,boost::proto::argsns_::list4<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal,boost::proto::argsns_::term<bool (__cdecl panopto::base::log::AppenderConfig::* )(boost::log::v2s_mt_nt6::value_ref<panopto::base::log::LogLevel,panopto::base::log::tag::LevelKeyword>,boost::log::v2s_mt_nt6::value_ref<std::string,panopto::base::log::tag::CategoryKeyword>)>,0>,boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal,boost::proto::argsns_::term<panopto::base::log::FolderConfig *>,0>,boost::log::v2s_mt_nt6::expressions::attribute_actor<panopto::base::log::LogLevel,boost::log::v2s_mt_nt6::fallback_to_none,panopto::base::log::tag::LevelKeyword,boost::phoenix::actor>,boost::log::v2s_mt_nt6::expressions::attribute_actor<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,boost::log::v2s_mt_nt6::fallback_to_none,panopto::base::log::tag::CategoryKeyword,boost::phoenix::actor>>,4>> *,const boost::log::v2s_mt_nt6::attribute_value_set &> &,
29>            Data=const boost::phoenix::default_actions &
29>        ]
29>c:\.conan\yk47mx\1\include\boost\proto\matches.hpp(836): note: see reference to class template instantiation 'boost::proto::when<Rule,boost::proto::external_transform>::impl<Expr &,State,Data>' being compiled
29>        with
29>        [
29>            Rule=boost::phoenix::detail::rule::function_eval,
29>            Expr=boost::proto::exprns_::basic_expr<boost::phoenix::detail::tag::function_eval,boost::proto::argsns_::list4<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal,boost::proto::argsns_::term<bool (__cdecl panopto::base::log::AppenderConfig::* )(boost::log::v2s_mt_nt6::value_ref<panopto::base::log::LogLevel,panopto::base::log::tag::LevelKeyword>,boost::log::v2s_mt_nt6::value_ref<std::string,panopto::base::log::tag::CategoryKeyword>)>,0>,boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal,boost::proto::argsns_::term<panopto::base::log::FolderConfig *>,0>,boost::log::v2s_mt_nt6::expressions::attribute_actor<panopto::base::log::LogLevel,boost::log::v2s_mt_nt6::fallback_to_none,panopto::base::log::tag::LevelKeyword,boost::phoenix::actor>,boost::log::v2s_mt_nt6::expressions::attribute_actor<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,boost::log::v2s_mt_nt6::fallback_to_none,panopto::base::log::tag::CategoryKeyword,boost::phoenix::actor>>,4>,
29>            State=boost::phoenix::vector2<const boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::phoenix::detail::tag::function_eval,boost::proto::argsns_::list4<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal,boost::proto::argsns_::term<bool (__cdecl panopto::base::log::AppenderConfig::* )(boost::log::v2s_mt_nt6::value_ref<panopto::base::log::LogLevel,panopto::base::log::tag::LevelKeyword>,boost::log::v2s_mt_nt6::value_ref<std::string,panopto::base::log::tag::CategoryKeyword>)>,0>,boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal,boost::proto::argsns_::term<panopto::base::log::FolderConfig *>,0>,boost::log::v2s_mt_nt6::expressions::attribute_actor<panopto::base::log::LogLevel,boost::log::v2s_mt_nt6::fallback_to_none,panopto::base::log::tag::LevelKeyword,boost::phoenix::actor>,boost::log::v2s_mt_nt6::expressions::attribute_actor<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,boost::log::v2s_mt_nt6::fallback_to_none,panopto::base::log::tag::CategoryKeyword,boost::phoenix::actor>>,4>> *,const boost::log::v2s_mt_nt6::attribute_value_set &> &,
29>            Data=const boost::phoenix::default_actions &
29>        ]
29>c:\.conan\yk47mx\1\include\boost\phoenix\core\meta_grammar.hpp(66): note: see reference to class template instantiation 'boost::proto::switch_<boost::phoenix::meta_grammar,boost::proto::tag_of<boost::proto::_> (void)>::impl<Expr,boost::phoenix::vector2<A0,A1> &,const boost::phoenix::default_actions &>' being compiled
29>        with
29>        [
29>            Expr=const boost::proto::exprns_::basic_expr<boost::phoenix::detail::tag::function_eval,boost::proto::argsns_::list4<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal,boost::proto::argsns_::term<bool (__cdecl panopto::base::log::AppenderConfig::* )(boost::log::v2s_mt_nt6::value_ref<panopto::base::log::LogLevel,panopto::base::log::tag::LevelKeyword>,boost::log::v2s_mt_nt6::value_ref<std::string,panopto::base::log::tag::CategoryKeyword>)>,0>,boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal,boost::proto::argsns_::term<panopto::base::log::FolderConfig *>,0>,boost::log::v2s_mt_nt6::expressions::attribute_actor<panopto::base::log::LogLevel,boost::log::v2s_mt_nt6::fallback_to_none,panopto::base::log::tag::LevelKeyword,boost::phoenix::actor>,boost::log::v2s_mt_nt6::expressions::attribute_actor<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,boost::log::v2s_mt_nt6::fallback_to_none,panopto::base::log::tag::CategoryKeyword,boost::phoenix::actor>>,4> &,
29>            A0=const boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::phoenix::detail::tag::function_eval,boost::proto::argsns_::list4<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal,boost::proto::argsns_::term<bool (__cdecl panopto::base::log::AppenderConfig::* )(boost::log::v2s_mt_nt6::value_ref<panopto::base::log::LogLevel,panopto::base::log::tag::LevelKeyword>,boost::log::v2s_mt_nt6::value_ref<std::string,panopto::base::log::tag::CategoryKeyword>)>,0>,boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal,boost::proto::argsns_::term<panopto::base::log::FolderConfig *>,0>,boost::log::v2s_mt_nt6::expressions::attribute_actor<panopto::base::log::LogLevel,boost::log::v2s_mt_nt6::fallback_to_none,panopto::base::log::tag::LevelKeyword,boost::phoenix::actor>,boost::log::v2s_mt_nt6::expressions::attribute_actor<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,boost::log::v2s_mt_nt6::fallback_to_none,panopto::base::log::tag::CategoryKeyword,boost::phoenix::actor>>,4>> *,
29>            A1=const boost::log::v2s_mt_nt6::attribute_value_set &
29>        ]
29>c:\.conan\yk47mx\1\include\boost\phoenix\core\actor.hpp(98): note: see reference to class template instantiation 'boost::phoenix::evaluator::impl<const Expr &,const boost::phoenix::vector2<boost::phoenix::vector2<A0,A1> &,boost::phoenix::default_actions> &,boost::proto::envns_::empty_env>' being compiled
29>        with
29>        [
29>            Expr=boost::proto::exprns_::basic_expr<boost::phoenix::detail::tag::function_eval,boost::proto::argsns_::list4<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal,boost::proto::argsns_::term<bool (__cdecl panopto::base::log::AppenderConfig::* )(boost::log::v2s_mt_nt6::value_ref<panopto::base::log::LogLevel,panopto::base::log::tag::LevelKeyword>,boost::log::v2s_mt_nt6::value_ref<std::string,panopto::base::log::tag::CategoryKeyword>)>,0>,boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal,boost::proto::argsns_::term<panopto::base::log::FolderConfig *>,0>,boost::log::v2s_mt_nt6::expressions::attribute_actor<panopto::base::log::LogLevel,boost::log::v2s_mt_nt6::fallback_to_none,panopto::base::log::tag::LevelKeyword,boost::phoenix::actor>,boost::log::v2s_mt_nt6::expressions::attribute_actor<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,boost::log::v2s_mt_nt6::fallback_to_none,panopto::base::log::tag::CategoryKeyword,boost::phoenix::actor>>,4>,
29>            A0=const boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::phoenix::detail::tag::function_eval,boost::proto::argsns_::list4<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal,boost::proto::argsns_::term<bool (__cdecl panopto::base::log::AppenderConfig::* )(boost::log::v2s_mt_nt6::value_ref<panopto::base::log::LogLevel,panopto::base::log::tag::LevelKeyword>,boost::log::v2s_mt_nt6::value_ref<std::string,panopto::base::log::tag::CategoryKeyword>)>,0>,boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal,boost::proto::argsns_::term<panopto::base::log::FolderConfig *>,0>,boost::log::v2s_mt_nt6::expressions::attribute_actor<panopto::base::log::LogLevel,boost::log::v2s_mt_nt6::fallback_to_none,panopto::base::log::tag::LevelKeyword,boost::phoenix::actor>,boost::log::v2s_mt_nt6::expressions::attribute_actor<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,boost::log::v2s_mt_nt6::fallback_to_none,panopto::base::log::tag::CategoryKeyword,boost::phoenix::actor>>,4>> *,
29>            A1=const boost::log::v2s_mt_nt6::attribute_value_set &
29>        ]
29>c:\.conan\yk47mx\1\include\boost\phoenix\core\actor.hpp(103): note: see reference to class template instantiation 'boost::phoenix::result_of::actor_impl<Expr,const boost::log::v2s_mt_nt6::attribute_value_set &>' being compiled
29>        with
29>        [
29>            Expr=boost::proto::exprns_::basic_expr<boost::phoenix::detail::tag::function_eval,boost::proto::argsns_::list4<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal,boost::proto::argsns_::term<bool (__cdecl panopto::base::log::AppenderConfig::* )(boost::log::v2s_mt_nt6::value_ref<panopto::base::log::LogLevel,panopto::base::log::tag::LevelKeyword>,boost::log::v2s_mt_nt6::value_ref<std::string,panopto::base::log::tag::CategoryKeyword>)>,0>,boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal,boost::proto::argsns_::term<panopto::base::log::FolderConfig *>,0>,boost::log::v2s_mt_nt6::expressions::attribute_actor<panopto::base::log::LogLevel,boost::log::v2s_mt_nt6::fallback_to_none,panopto::base::log::tag::LevelKeyword,boost::phoenix::actor>,boost::log::v2s_mt_nt6::expressions::attribute_actor<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,boost::log::v2s_mt_nt6::fallback_to_none,panopto::base::log::tag::CategoryKeyword,boost::phoenix::actor>>,4>
29>        ]
29>c:\.conan\yk47mx\1\include\boost\phoenix\core\actor.hpp(195): note: see reference to class template instantiation 'boost::phoenix::result_of::actor<boost::proto::exprns_::basic_expr<Tag,Args,4>,const boost::log::v2s_mt_nt6::attribute_value_set &>' being compiled
29>        with
29>        [
29>            Tag=boost::phoenix::detail::tag::function_eval,
29>            Args=boost::proto::argsns_::list4<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal,boost::proto::argsns_::term<bool (__cdecl panopto::base::log::AppenderConfig::* )(boost::log::v2s_mt_nt6::value_ref<panopto::base::log::LogLevel,panopto::base::log::tag::LevelKeyword>,boost::log::v2s_mt_nt6::value_ref<std::string,panopto::base::log::tag::CategoryKeyword>)>,0>,boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal,boost::proto::argsns_::term<panopto::base::log::FolderConfig *>,0>,boost::log::v2s_mt_nt6::expressions::attribute_actor<panopto::base::log::LogLevel,boost::log::v2s_mt_nt6::fallback_to_none,panopto::base::log::tag::LevelKeyword,boost::phoenix::actor>,boost::log::v2s_mt_nt6::expressions::attribute_actor<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,boost::log::v2s_mt_nt6::fallback_to_none,panopto::base::log::tag::CategoryKeyword,boost::phoenix::actor>>
29>        ]
29>c:\.conan\yk47mx\1\include\boost\log\detail\light_function.hpp(155): note: see reference to class template instantiation 'boost::phoenix::actor<boost::proto::exprns_::basic_expr<Tag,Args,4>>::result<boost::phoenix::actor<boost::proto::exprns_::basic_expr<Tag,Args,4>> (const boost::log::v2s_mt_nt6::attribute_value_set &)>' being compiled
29>        with
29>        [
29>            Tag=boost::phoenix::detail::tag::function_eval,
29>            Args=boost::proto::argsns_::list4<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal,boost::proto::argsns_::term<bool (__cdecl panopto::base::log::AppenderConfig::* )(boost::log::v2s_mt_nt6::value_ref<panopto::base::log::LogLevel,panopto::base::log::tag::LevelKeyword>,boost::log::v2s_mt_nt6::value_ref<std::string,panopto::base::log::tag::CategoryKeyword>)>,0>,boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal,boost::proto::argsns_::term<panopto::base::log::FolderConfig *>,0>,boost::log::v2s_mt_nt6::expressions::attribute_actor<panopto::base::log::LogLevel,boost::log::v2s_mt_nt6::fallback_to_none,panopto::base::log::tag::LevelKeyword,boost::phoenix::actor>,boost::log::v2s_mt_nt6::expressions::attribute_actor<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,boost::log::v2s_mt_nt6::fallback_to_none,panopto::base::log::tag::CategoryKeyword,boost::phoenix::actor>>
29>        ]
29>c:\.conan\yk47mx\1\include\boost\log\detail\light_function.hpp(154): note: while compiling class template member function 'bool boost::log::v2s_mt_nt6::aux::light_function<bool (const boost::log::v2s_mt_nt6::attribute_value_set &)>::impl<boost::phoenix::actor<boost::proto::exprns_::basic_expr<Tag,Args,4>>>::invoke_impl(void *,const boost::log::v2s_mt_nt6::attribute_value_set &)'
29>        with
29>        [
29>            Tag=boost::phoenix::detail::tag::function_eval,
29>            Args=boost::proto::argsns_::list4<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal,boost::proto::argsns_::term<bool (__cdecl panopto::base::log::AppenderConfig::* )(boost::log::v2s_mt_nt6::value_ref<panopto::base::log::LogLevel,panopto::base::log::tag::LevelKeyword>,boost::log::v2s_mt_nt6::value_ref<std::string,panopto::base::log::tag::CategoryKeyword>)>,0>,boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal,boost::proto::argsns_::term<panopto::base::log::FolderConfig *>,0>,boost::log::v2s_mt_nt6::expressions::attribute_actor<panopto::base::log::LogLevel,boost::log::v2s_mt_nt6::fallback_to_none,panopto::base::log::tag::LevelKeyword,boost::phoenix::actor>,boost::log::v2s_mt_nt6::expressions::attribute_actor<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,boost::log::v2s_mt_nt6::fallback_to_none,panopto::base::log::tag::CategoryKeyword,boost::phoenix::actor>>
29>        ]
29>c:\.conan\yk47mx\1\include\boost\log\detail\light_function.hpp(132): note: see reference to function template instantiation 'bool boost::log::v2s_mt_nt6::aux::light_function<bool (const boost::log::v2s_mt_nt6::attribute_value_set &)>::impl<boost::phoenix::actor<boost::proto::exprns_::basic_expr<Tag,Args,4>>>::invoke_impl(void *,const boost::log::v2s_mt_nt6::attribute_value_set &)' being compiled
29>        with
29>        [
29>            Tag=boost::phoenix::detail::tag::function_eval,
29>            Args=boost::proto::argsns_::list4<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal,boost::proto::argsns_::term<bool (__cdecl panopto::base::log::AppenderConfig::* )(boost::log::v2s_mt_nt6::value_ref<panopto::base::log::LogLevel,panopto::base::log::tag::LevelKeyword>,boost::log::v2s_mt_nt6::value_ref<std::string,panopto::base::log::tag::CategoryKeyword>)>,0>,boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal,boost::proto::argsns_::term<panopto::base::log::FolderConfig *>,0>,boost::log::v2s_mt_nt6::expressions::attribute_actor<panopto::base::log::LogLevel,boost::log::v2s_mt_nt6::fallback_to_none,panopto::base::log::tag::LevelKeyword,boost::phoenix::actor>,boost::log::v2s_mt_nt6::expressions::attribute_actor<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,boost::log::v2s_mt_nt6::fallback_to_none,panopto::base::log::tag::CategoryKeyword,boost::phoenix::actor>>
29>        ]
29>c:\.conan\yk47mx\1\include\boost\log\detail\light_function.hpp(193): note: see reference to class template instantiation 'boost::log::v2s_mt_nt6::aux::light_function<bool (const boost::log::v2s_mt_nt6::attribute_value_set &)>::impl<boost::phoenix::actor<boost::proto::exprns_::basic_expr<Tag,Args,4>>>' being compiled
29>        with
29>        [
29>            Tag=boost::phoenix::detail::tag::function_eval,
29>            Args=boost::proto::argsns_::list4<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal,boost::proto::argsns_::term<bool (__cdecl panopto::base::log::AppenderConfig::* )(boost::log::v2s_mt_nt6::value_ref<panopto::base::log::LogLevel,panopto::base::log::tag::LevelKeyword>,boost::log::v2s_mt_nt6::value_ref<std::string,panopto::base::log::tag::CategoryKeyword>)>,0>,boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal,boost::proto::argsns_::term<panopto::base::log::FolderConfig *>,0>,boost::log::v2s_mt_nt6::expressions::attribute_actor<panopto::base::log::LogLevel,boost::log::v2s_mt_nt6::fallback_to_none,panopto::base::log::tag::LevelKeyword,boost::phoenix::actor>,boost::log::v2s_mt_nt6::expressions::attribute_actor<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,boost::log::v2s_mt_nt6::fallback_to_none,panopto::base::log::tag::CategoryKeyword,boost::phoenix::actor>>
29>        ]
29>c:\.conan\yk47mx\1\include\boost\log\expressions\filter.hpp(90): note: see reference to function template instantiation 'boost::log::v2s_mt_nt6::aux::light_function<bool (const boost::log::v2s_mt_nt6::attribute_value_set &)>::light_function<const FunT&>(const boost::phoenix::actor<boost::proto::exprns_::basic_expr<Tag,Args,4>>&)' being compiled
29>        with
29>        [
29>            FunT=boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::phoenix::detail::tag::function_eval,boost::proto::argsns_::list4<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal,boost::proto::argsns_::term<bool (__cdecl panopto::base::log::AppenderConfig::* )(boost::log::v2s_mt_nt6::value_ref<panopto::base::log::LogLevel,panopto::base::log::tag::LevelKeyword>,boost::log::v2s_mt_nt6::value_ref<std::string,panopto::base::log::tag::CategoryKeyword>)>,0>,boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal,boost::proto::argsns_::term<panopto::base::log::FolderConfig *>,0>,boost::log::v2s_mt_nt6::expressions::attribute_actor<panopto::base::log::LogLevel,boost::log::v2s_mt_nt6::fallback_to_none,panopto::base::log::tag::LevelKeyword,boost::phoenix::actor>,boost::log::v2s_mt_nt6::expressions::attribute_actor<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,boost::log::v2s_mt_nt6::fallback_to_none,panopto::base::log::tag::CategoryKeyword,boost::phoenix::actor>>,4>>,
29>            Tag=boost::phoenix::detail::tag::function_eval,
29>            Args=boost::proto::argsns_::list4<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal,boost::proto::argsns_::term<bool (__cdecl panopto::base::log::AppenderConfig::* )(boost::log::v2s_mt_nt6::value_ref<panopto::base::log::LogLevel,panopto::base::log::tag::LevelKeyword>,boost::log::v2s_mt_nt6::value_ref<std::string,panopto::base::log::tag::CategoryKeyword>)>,0>,boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal,boost::proto::argsns_::term<panopto::base::log::FolderConfig *>,0>,boost::log::v2s_mt_nt6::expressions::attribute_actor<panopto::base::log::LogLevel,boost::log::v2s_mt_nt6::fallback_to_none,panopto::base::log::tag::LevelKeyword,boost::phoenix::actor>,boost::log::v2s_mt_nt6::expressions::attribute_actor<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,boost::log::v2s_mt_nt6::fallback_to_none,panopto::base::log::tag::CategoryKeyword,boost::phoenix::actor>>
29>        ]
29>c:\.conan\yk47mx\1\include\boost\log\expressions\filter.hpp(89): note: see reference to function template instantiation 'boost::log::v2s_mt_nt6::aux::light_function<bool (const boost::log::v2s_mt_nt6::attribute_value_set &)>::light_function<const FunT&>(const boost::phoenix::actor<boost::proto::exprns_::basic_expr<Tag,Args,4>>&)' being compiled
29>        with
29>        [
29>            FunT=boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::phoenix::detail::tag::function_eval,boost::proto::argsns_::list4<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal,boost::proto::argsns_::term<bool (__cdecl panopto::base::log::AppenderConfig::* )(boost::log::v2s_mt_nt6::value_ref<panopto::base::log::LogLevel,panopto::base::log::tag::LevelKeyword>,boost::log::v2s_mt_nt6::value_ref<std::string,panopto::base::log::tag::CategoryKeyword>)>,0>,boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal,boost::proto::argsns_::term<panopto::base::log::FolderConfig *>,0>,boost::log::v2s_mt_nt6::expressions::attribute_actor<panopto::base::log::LogLevel,boost::log::v2s_mt_nt6::fallback_to_none,panopto::base::log::tag::LevelKeyword,boost::phoenix::actor>,boost::log::v2s_mt_nt6::expressions::attribute_actor<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,boost::log::v2s_mt_nt6::fallback_to_none,panopto::base::log::tag::CategoryKeyword,boost::phoenix::actor>>,4>>,
29>            Tag=boost::phoenix::detail::tag::function_eval,
29>            Args=boost::proto::argsns_::list4<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal,boost::proto::argsns_::term<bool (__cdecl panopto::base::log::AppenderConfig::* )(boost::log::v2s_mt_nt6::value_ref<panopto::base::log::LogLevel,panopto::base::log::tag::LevelKeyword>,boost::log::v2s_mt_nt6::value_ref<std::string,panopto::base::log::tag::CategoryKeyword>)>,0>,boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal,boost::proto::argsns_::term<panopto::base::log::FolderConfig *>,0>,boost::log::v2s_mt_nt6::expressions::attribute_actor<panopto::base::log::LogLevel,boost::log::v2s_mt_nt6::fallback_to_none,panopto::base::log::tag::LevelKeyword,boost::phoenix::actor>,boost::log::v2s_mt_nt6::expressions::attribute_actor<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,boost::log::v2s_mt_nt6::fallback_to_none,panopto::base::log::tag::CategoryKeyword,boost::phoenix::actor>>
29>        ]
29>c:\.conan\yk47mx\1\include\boost\log\expressions\filter.hpp(144): note: see reference to function template instantiation 'boost::log::v2s_mt_nt6::filter::filter<const FunT&>(const boost::phoenix::actor<boost::proto::exprns_::basic_expr<Tag,Args,4>>&)' being compiled
29>        with
29>        [
29>            FunT=boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::phoenix::detail::tag::function_eval,boost::proto::argsns_::list4<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal,boost::proto::argsns_::term<bool (__cdecl panopto::base::log::AppenderConfig::* )(boost::log::v2s_mt_nt6::value_ref<panopto::base::log::LogLevel,panopto::base::log::tag::LevelKeyword>,boost::log::v2s_mt_nt6::value_ref<std::string,panopto::base::log::tag::CategoryKeyword>)>,0>,boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal,boost::proto::argsns_::term<panopto::base::log::FolderConfig *>,0>,boost::log::v2s_mt_nt6::expressions::attribute_actor<panopto::base::log::LogLevel,boost::log::v2s_mt_nt6::fallback_to_none,panopto::base::log::tag::LevelKeyword,boost::phoenix::actor>,boost::log::v2s_mt_nt6::expressions::attribute_actor<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,boost::log::v2s_mt_nt6::fallback_to_none,panopto::base::log::tag::CategoryKeyword,boost::phoenix::actor>>,4>>,
29>            Tag=boost::phoenix::detail::tag::function_eval,
29>            Args=boost::proto::argsns_::list4<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal,boost::proto::argsns_::term<bool (__cdecl panopto::base::log::AppenderConfig::* )(boost::log::v2s_mt_nt6::value_ref<panopto::base::log::LogLevel,panopto::base::log::tag::LevelKeyword>,boost::log::v2s_mt_nt6::value_ref<std::string,panopto::base::log::tag::CategoryKeyword>)>,0>,boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal,boost::proto::argsns_::term<panopto::base::log::FolderConfig *>,0>,boost::log::v2s_mt_nt6::expressions::attribute_actor<panopto::base::log::LogLevel,boost::log::v2s_mt_nt6::fallback_to_none,panopto::base::log::tag::LevelKeyword,boost::phoenix::actor>,boost::log::v2s_mt_nt6::expressions::attribute_actor<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,boost::log::v2s_mt_nt6::fallback_to_none,panopto::base::log::tag::CategoryKeyword,boost::phoenix::actor>>
29>        ]
29>c:\.conan\yk47mx\1\include\boost\log\sinks\basic_sink_frontend.hpp(90): note: see reference to function template instantiation 'boost::log::v2s_mt_nt6::filter &boost::log::v2s_mt_nt6::filter::operator =<FunT>(const FunT &)' being compiled
29>        with
29>        [
29>            FunT=boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::phoenix::detail::tag::function_eval,boost::proto::argsns_::list4<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal,boost::proto::argsns_::term<bool (__cdecl panopto::base::log::AppenderConfig::* )(boost::log::v2s_mt_nt6::value_ref<panopto::base::log::LogLevel,panopto::base::log::tag::LevelKeyword>,boost::log::v2s_mt_nt6::value_ref<std::string,panopto::base::log::tag::CategoryKeyword>)>,0>,boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal,boost::proto::argsns_::term<panopto::base::log::FolderConfig *>,0>,boost::log::v2s_mt_nt6::expressions::attribute_actor<panopto::base::log::LogLevel,boost::log::v2s_mt_nt6::fallback_to_none,panopto::base::log::tag::LevelKeyword,boost::phoenix::actor>,boost::log::v2s_mt_nt6::expressions::attribute_actor<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,boost::log::v2s_mt_nt6::fallback_to_none,panopto::base::log::tag::CategoryKeyword,boost::phoenix::actor>>,4>>
29>        ]
29>c:\dev\github\panopto\panopto-core\panopto\media\native\panopto.native.base.lib\src\panopto\base\log\logger.cpp(277): note: see reference to function template instantiation 'void boost::log::v2s_mt_nt6::sinks::basic_sink_frontend::set_filter<boost::phoenix::actor<boost::proto::exprns_::basic_expr<Tag,Args,4>>>(const FunT &)' being compiled
29>        with
29>        [
29>            Tag=boost::phoenix::detail::tag::function_eval,
29>            Args=boost::proto::argsns_::list4<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal,boost::proto::argsns_::term<bool (__cdecl panopto::base::log::AppenderConfig::* )(boost::log::v2s_mt_nt6::value_ref<panopto::base::log::LogLevel,panopto::base::log::tag::LevelKeyword>,boost::log::v2s_mt_nt6::value_ref<std::string,panopto::base::log::tag::CategoryKeyword>)>,0>,boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal,boost::proto::argsns_::term<panopto::base::log::FolderConfig *>,0>,boost::log::v2s_mt_nt6::expressions::attribute_actor<panopto::base::log::LogLevel,boost::log::v2s_mt_nt6::fallback_to_none,panopto::base::log::tag::LevelKeyword,boost::phoenix::actor>,boost::log::v2s_mt_nt6::expressions::attribute_actor<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,boost::log::v2s_mt_nt6::fallback_to_none,panopto::base::log::tag::CategoryKeyword,boost::phoenix::actor>>,
29>            FunT=boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::phoenix::detail::tag::function_eval,boost::proto::argsns_::list4<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal,boost::proto::argsns_::term<bool (__cdecl panopto::base::log::AppenderConfig::* )(boost::log::v2s_mt_nt6::value_ref<panopto::base::log::LogLevel,panopto::base::log::tag::LevelKeyword>,boost::log::v2s_mt_nt6::value_ref<std::string,panopto::base::log::tag::CategoryKeyword>)>,0>,boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal,boost::proto::argsns_::term<panopto::base::log::FolderConfig *>,0>,boost::log::v2s_mt_nt6::expressions::attribute_actor<panopto::base::log::LogLevel,boost::log::v2s_mt_nt6::fallback_to_none,panopto::base::log::tag::LevelKeyword,boost::phoenix::actor>,boost::log::v2s_mt_nt6::expressions::attribute_actor<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,boost::log::v2s_mt_nt6::fallback_to_none,panopto::base::log::tag::CategoryKeyword,boost::phoenix::actor>>,4>>
29>        ]
29>c:\.conan\yk47mx\1\include\boost\bind\placeholders.hpp(54): note: see reference to class template instantiation 'boost::arg<9>' being compiled
29>c:\.conan\yk47mx\1\include\boost\bind\placeholders.hpp(53): note: see reference to class template instantiation 'boost::arg<8>' being compiled
29>c:\.conan\yk47mx\1\include\boost\bind\placeholders.hpp(52): note: see reference to class template instantiation 'boost::arg<7>' being compiled
29>c:\.conan\yk47mx\1\include\boost\bind\placeholders.hpp(51): note: see reference to class template instantiation 'boost::arg<6>' being compiled
29>c:\.conan\yk47mx\1\include\boost\bind\placeholders.hpp(50): note: see reference to class template instantiation 'boost::arg<5>' being compiled
29>c:\.conan\yk47mx\1\include\boost\bind\placeholders.hpp(49): note: see reference to class template instantiation 'boost::arg<4>' being compiled
29>c:\.conan\yk47mx\1\include\boost\bind\placeholders.hpp(48): note: see reference to class template instantiation 'boost::arg<3>' being compiled
29>c:\.conan\yk47mx\1\include\boost\bind\placeholders.hpp(47): note: see reference to class template instantiation 'boost::arg<2>' being compiled
29>c:\.conan\yk47mx\1\include\boost\bind\placeholders.hpp(46): note: see reference to class template instantiation 'boost::arg<1>' being compiled
29>c:\.conan\yk47mx\1\include\boost\utility\result_of.hpp(208): error C2903: 'result': symbol is neither a class template nor a function template
29>c:\.conan\yk47mx\1\include\boost\utility\result_of.hpp(208): error C2510: 'F': left of '::' must be a class/struct/union
29>c:\.conan\yk47mx\1\include\boost\utility\result_of.hpp(208): error C2504: 'result': base class undefined
29>c:\.conan\yk47mx\1\include\boost\utility\result_of.hpp(208): error C2143: syntax error: missing ',' before '<'
29>c:\.conan\yk47mx\1\include\boost\phoenix\core\detail\function_eval.hpp(116): error C2039: 'type': is not a member of 'boost::result_of<bool (__cdecl panopto::base::log::AppenderConfig::* const (panopto::base::log::FolderConfig *const &,const boost::log::v2s_mt_nt6::value_ref<panopto::base::log::LogLevel,panopto::base::log::tag::LevelKeyword> &,const boost::log::v2s_mt_nt6::value_ref<std::string,panopto::base::log::tag::CategoryKeyword> &))(boost::log::v2s_mt_nt6::value_ref<panopto::base::log::LogLevel,panopto::base::log::tag::LevelKeyword>,boost::log::v2s_mt_nt6::value_ref<std::string,panopto::base::log::tag::CategoryKeyword>)>'
29>c:\.conan\yk47mx\1\include\boost\phoenix\core\detail\function_eval.hpp(114): note: see declaration of 'boost::result_of<bool (__cdecl panopto::base::log::AppenderConfig::* const (panopto::base::log::FolderConfig *const &,const boost::log::v2s_mt_nt6::value_ref<panopto::base::log::LogLevel,panopto::base::log::tag::LevelKeyword> &,const boost::log::v2s_mt_nt6::value_ref<std::string,panopto::base::log::tag::CategoryKeyword> &))(boost::log::v2s_mt_nt6::value_ref<panopto::base::log::LogLevel,panopto::base::log::tag::LevelKeyword>,boost::log::v2s_mt_nt6::value_ref<std::string,panopto::base::log::tag::CategoryKeyword>)>'
29>c:\.conan\yk47mx\1\include\boost\phoenix\core\call.hpp(86): error C2039: 'type': is not a member of 'boost::result_of<Fun (const boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal,boost::proto::argsns_::term<bool (__cdecl panopto::base::log::AppenderConfig::* )(boost::log::v2s_mt_nt6::value_ref<panopto::base::log::LogLevel,panopto::base::log::tag::LevelKeyword>,boost::log::v2s_mt_nt6::value_ref<std::string,panopto::base::log::tag::CategoryKeyword>)>,0> &,const boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal,boost::proto::argsns_::term<panopto::base::log::FolderConfig *>,0> &,const boost::log::v2s_mt_nt6::expressions::attribute_actor<panopto::base::log::LogLevel,boost::log::v2s_mt_nt6::fallback_to_none,panopto::base::log::tag::LevelKeyword,ActorT> &,const boost::log::v2s_mt_nt6::expressions::attribute_actor<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,boost::log::v2s_mt_nt6::fallback_to_none,panopto::base::log::tag::CategoryKeyword,ActorT> &,boost::phoenix::vector2<Env,Actions>)>'
29>        with
29>        [
29>            Fun=boost::phoenix::detail::function_eval,
29>            ActorT=boost::phoenix::actor,
29>            Env=boost::phoenix::vector2<const boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::phoenix::detail::tag::function_eval,boost::proto::argsns_::list4<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal,boost::proto::argsns_::term<bool (__cdecl panopto::base::log::AppenderConfig::* )(boost::log::v2s_mt_nt6::value_ref<panopto::base::log::LogLevel,panopto::base::log::tag::LevelKeyword>,boost::log::v2s_mt_nt6::value_ref<std::string,panopto::base::log::tag::CategoryKeyword>)>,0>,boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal,boost::proto::argsns_::term<panopto::base::log::FolderConfig *>,0>,boost::log::v2s_mt_nt6::expressions::attribute_actor<panopto::base::log::LogLevel,boost::log::v2s_mt_nt6::fallback_to_none,panopto::base::log::tag::LevelKeyword,boost::phoenix::actor>,boost::log::v2s_mt_nt6::expressions::attribute_actor<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,boost::log::v2s_mt_nt6::fallback_to_none,panopto::base::log::tag::CategoryKeyword,boost::phoenix::actor>>,4>> *,const boost::log::v2s_mt_nt6::attribute_value_set &> &,
29>            Actions=const boost::phoenix::default_actions &
29>        ]
29>c:\.conan\yk47mx\1\include\boost\phoenix\core\call.hpp(81): note: see declaration of 'boost::result_of<Fun (const boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal,boost::proto::argsns_::term<bool (__cdecl panopto::base::log::AppenderConfig::* )(boost::log::v2s_mt_nt6::value_ref<panopto::base::log::LogLevel,panopto::base::log::tag::LevelKeyword>,boost::log::v2s_mt_nt6::value_ref<std::string,panopto::base::log::tag::CategoryKeyword>)>,0> &,const boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal,boost::proto::argsns_::term<panopto::base::log::FolderConfig *>,0> &,const boost::log::v2s_mt_nt6::expressions::attribute_actor<panopto::base::log::LogLevel,boost::log::v2s_mt_nt6::fallback_to_none,panopto::base::log::tag::LevelKeyword,ActorT> &,const boost::log::v2s_mt_nt6::expressions::attribute_actor<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,boost::log::v2s_mt_nt6::fallback_to_none,panopto::base::log::tag::CategoryKeyword,ActorT> &,boost::phoenix::vector2<Env,Actions>)>'
29>        with
29>        [
29>            Fun=boost::phoenix::detail::function_eval,
29>            ActorT=boost::phoenix::actor,
29>            Env=boost::phoenix::vector2<const boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::phoenix::detail::tag::function_eval,boost::proto::argsns_::list4<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal,boost::proto::argsns_::term<bool (__cdecl panopto::base::log::AppenderConfig::* )(boost::log::v2s_mt_nt6::value_ref<panopto::base::log::LogLevel,panopto::base::log::tag::LevelKeyword>,boost::log::v2s_mt_nt6::value_ref<std::string,panopto::base::log::tag::CategoryKeyword>)>,0>,boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal,boost::proto::argsns_::term<panopto::base::log::FolderConfig *>,0>,boost::log::v2s_mt_nt6::expressions::attribute_actor<panopto::base::log::LogLevel,boost::log::v2s_mt_nt6::fallback_to_none,panopto::base::log::tag::LevelKeyword,boost::phoenix::actor>,boost::log::v2s_mt_nt6::expressions::attribute_actor<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,boost::log::v2s_mt_nt6::fallback_to_none,panopto::base::log::tag::CategoryKeyword,boost::phoenix::actor>>,4>> *,const boost::log::v2s_mt_nt6::attribute_value_set &> &,
29>            Actions=const boost::phoenix::default_actions &
29>        ]
29>c:\.conan\yk47mx\1\include\boost\log\detail\light_function.hpp(155): error C2440: 'return': cannot convert from 'boost::type' to 'bool'
29>c:\.conan\yk47mx\1\include\boost\log\detail\light_function.hpp(155): note: No user-defined-conversion operator available that can perform this conversion, or the operator cannot be called
29>Done building project "Panopto.Native.Base.Lib.vcxproj" -- FAILED.

Merge to master for 1.73

A reminder to merge develop to master for 1.73 release.

I am opening an issue because for some reason creating a pull request persistently yields an error for me: Pull request creation failed. Validation failed: You can't perform that action at this time.

error: definition of implicit copy constructor for 'member_close_operation<boost::iostreams::detail::linked_streambuf<char>>' is deprecated because it has a user-declared copy assignment operator [-Werror,-Wdeprecated-copy]

Happneing on mac m1

In file included from tools/common/ToolsCommon.cpp:15:
In file included from /opt/homebrew/include/boost/iostreams/filtering_stream.hpp:22:
In file included from /opt/homebrew/include/boost/iostreams/filtering_streambuf.hpp:17:
In file included from /opt/homebrew/include/boost/iostreams/chain.hpp:34:
In file included from /opt/homebrew/include/boost/iostreams/stream_buffer.hpp:21:
In file included from /opt/homebrew/include/boost/iostreams/detail/streambuf/direct_streambuf.hpp:24:
/opt/homebrew/include/boost/iostreams/detail/functional.hpp:118:52: error: definition of implicit copy constructor for 'member_close_operation<boost::iostreams::detail::linked_streambuf>' is deprecated because it has a user-declared copy assignment operator [-Werror,-Wdeprecated-copy]
BOOST_DELETED_FUNCTION(member_close_operation& operator=(const member_close_operation&))
^
/opt/homebrew/include/boost/preprocessor/iteration/detail/limits/local_256.hpp:22:9: note: in implicit copy constructor for 'boost::iostreams::detail::member_close_operation<boost::iostreams::detail::linked_streambuf>' first required here
BOOST_PP_LOCAL_MACRO(3)
^
/opt/homebrew/include/boost/iostreams/detail/execute.hpp:97:20: note: expanded from macro 'BOOST_PP_LOCAL_MACRO'
op BOOST_PP_COMMA_IF(BOOST_PP_DEC(n))
^
/opt/homebrew/include/boost/iostreams/detail/streambuf/indirect_streambuf.hpp:202:13: note: in instantiation of function template specialization 'boost::iostreams::detail::execute_all<boost::iostreams::detail::member_close_operation<boost::iostreams::detail::linked_streambuf>, boost::iostreams::detail::member_close_operation<boost::iostreams::detail::linked_streambuf>, boost::iostreams::detail::reset_operation<boost::iostreams::detail::optional<boost::iostreams::detail::concept_adapter<boost::iostreams::basic_null_device<char, boost::iostreams::input>>>>, boost::iostreams::detail::clear_flags_operation>' requested here
detail::execute_all(
^
/opt/homebrew/include/boost/iostreams/stream_buffer.hpp:91:23: note: in instantiation of member function 'boost::iostreams::detail::indirect_streambuf<boost::iostreams::basic_null_device<char, boost::iostreams::input>, std::char_traits, std::allocator, boost::iostreams::input>::close' requested here
this->close();
^
/opt/homebrew/include/boost/iostreams/chain.hpp:328:66: note: in instantiation of member function 'boost::iostreams::stream_buffer<boost::iostreams::basic_null_device<char, boost::iostreams::input>, std::char_traits, std::allocator, boost::iostreams::input>::~stream_buffer' requested here
stream_buffer< basic_null_device<Ch, Mode> > null;
^
/opt/homebrew/include/boost/iostreams/chain.hpp:321:23: note: in instantiation of member function 'boost::iostreams::detail::chain_base<boost::iostreams::chainboost::iostreams::input, char, std::char_traits, std::allocator, boost::iostreams::input>::chain_impl::close' requested here
try { close(); } catch (...) { }
^
/opt/homebrew/include/boost/core/checked_delete.hpp:36:5: note: (skipping 4 contexts in backtrace; use -ftemplate-backtrace-limit=0 to see all)
delete x;
^
/opt/homebrew/include/boost/iostreams/chain.hpp:131:20: note: in instantiation of function template specialization 'boost::shared_ptr<boost::iostreams::detail::chain_base<boost::iostreams::chainboost::iostreams::input, char, std::char_traits, std::allocator, boost::iostreams::input>::chain_impl>::shared_ptr<boost::iostreams::detail::chain_base<boost::iostreams::chainboost::iostreams::input, char, std::char_traits, std::allocator, boost::iostreams::input>::chain_impl>' requested here
chain_base() : pimpl_(new chain_impl) { }
^
/opt/homebrew/include/boost/iostreams/chain.hpp:431:28: note: in instantiation of member function 'boost::iostreams::detail::chain_base<boost::iostreams::chainboost::iostreams::input, char, std::char_traits, std::allocator, boost::iostreams::input>::chain_base' requested here
BOOST_IOSTREAMS_DECL_CHAIN(chain, char)
^
/opt/homebrew/include/boost/iostreams/filtering_stream.hpp:96:5: note: in instantiation of member function 'boost::iostreams::chainboost::iostreams::input::chain' requested here
filtering_stream_base() : stream_type(0) { this->set_chain(&chain_); }
^
/opt/homebrew/include/boost/iostreams/filtering_stream.hpp:169:38: note: in instantiation of member function 'boost::iostreams::detail::filtering_stream_base<boost::iostreams::chainboost::iostreams::input, boost::iostreams::public_>::filtering_stream_base' requested here
BOOST_IOSTREAMS_DEFINE_FILTER_STREAM(filtering_stream, boost::iostreams::chain, char)
^
tools/common/ToolsCommon.cpp:211:39: note: in instantiation of member function 'boost::iostreams::filtering_streamboost::iostreams::input::filtering_stream' requested here
boost::iostreams::filtering_istream inbuf;
^
In file included from tools/common/ToolsCommon.cpp:15:
In file included from /opt/homebrew/include/boost/iostreams/filtering_stream.hpp:22:
In file included from /opt/homebrew/include/boost/iostreams/filtering_streambuf.hpp:17:
In file included from /opt/homebrew/include/boost/iostreams/chain.hpp:34:
In file included from /opt/homebrew/include/boost/iostreams/stream_buffer.hpp:21:
In file included from /opt/homebrew/include/boost/iostreams/detail/streambuf/direct_streambuf.hpp:24:
/opt/homebrew/include/boost/iostreams/detail/functional.hpp:136:45: error: definition of implicit copy constructor for 'reset_operation<boost::iostreams::detail::optional<boost::iostreams::detail::concept_adapter<boost::iostreams::basic_null_device<char, boost::iostreams::input>>>>' is deprecated because it has a user-declared copy assignment operator [-Werror,-Wdeprecated-copy]
BOOST_DELETED_FUNCTION(reset_operation& operator=(const reset_operation&))
^
/opt/homebrew/include/boost/preprocessor/iteration/detail/limits/local_256.hpp:22:9: note: in implicit copy constructor for 'boost::iostreams::detail::reset_operation<boost::iostreams::detail::optional<boost::iostreams::detail::concept_adapter<boost::iostreams::basic_null_device<char, boost::iostreams::input>>>>' first required here
BOOST_PP_LOCAL_MACRO(3)
^
/opt/homebrew/include/boost/iostreams/detail/execute.hpp:98:20: note: expanded from macro 'BOOST_PP_LOCAL_MACRO'
BOOST_PP_ENUM_PARAMS(BOOST_PP_DEC(n), c)
^
/opt/homebrew/include/boost/preprocessor/repetition/enum_params.hpp:24:71: note: expanded from macro 'BOOST_PP_ENUM_PARAMS'

define BOOST_PP_ENUM_PARAMS(count, param) BOOST_PP_REPEAT(count, BOOST_PP_ENUM_PARAMS_M, param)

                                                                  ^

/opt/homebrew/include/boost/iostreams/detail/streambuf/indirect_streambuf.hpp:202:13: note: in instantiation of function template specialization 'boost::iostreams::detail::execute_all<boost::iostreams::detail::member_close_operation<boost::iostreams::detail::linked_streambuf>, boost::iostreams::detail::member_close_operation<boost::iostreams::detail::linked_streambuf>, boost::iostreams::detail::reset_operation<boost::iostreams::detail::optional<boost::iostreams::detail::concept_adapter<boost::iostreams::basic_null_device<char, boost::iostreams::input>>>>, boost::iostreams::detail::clear_flags_operation>' requested here
detail::execute_all(
^
/opt/homebrew/include/boost/iostreams/stream_buffer.hpp:91:23: note: in instantiation of member function 'boost::iostreams::detail::indirect_streambuf<boost::iostreams::basic_null_device<char, boost::iostreams::input>, std::char_traits, std::allocator, boost::iostreams::input>::close' requested here
this->close();
^
/opt/homebrew/include/boost/iostreams/chain.hpp:328:66: note: in instantiation of member function 'boost::iostreams::stream_buffer<boost::iostreams::basic_null_device<char, boost::iostreams::input>, std::char_traits, std::allocator, boost::iostreams::input>::~stream_buffer' requested here
stream_buffer< basic_null_device<Ch, Mode> > null;
^
/opt/homebrew/include/boost/iostreams/chain.hpp:321:23: note: in instantiation of member function 'boost::iostreams::detail::chain_base<boost::iostreams::chainboost::iostreams::input, char, std::char_traits, std::allocator, boost::iostreams::input>::chain_impl::close' requested here
try { close(); } catch (...) { }
^
/opt/homebrew/include/boost/core/checked_delete.hpp:36:5: note: (skipping 4 contexts in backtrace; use -ftemplate-backtrace-limit=0 to see all)
delete x;
^
/opt/homebrew/include/boost/iostreams/chain.hpp:131:20: note: in instantiation of function template specialization 'boost::shared_ptr<boost::iostreams::detail::chain_base<boost::iostreams::chainboost::iostreams::input, char, std::char_traits, std::allocator, boost::iostreams::input>::chain_impl>::shared_ptr<boost::iostreams::detail::chain_base<boost::iostreams::chainboost::iostreams::input, char, std::char_traits, std::allocator, boost::iostreams::input>::chain_impl>' requested here
chain_base() : pimpl_(new chain_impl) { }
^
/opt/homebrew/include/boost/iostreams/chain.hpp:431:28: note: in instantiation of member function 'boost::iostreams::detail::chain_base<boost::iostreams::chainboost::iostreams::input, char, std::char_traits, std::allocator, boost::iostreams::input>::chain_base' requested here
BOOST_IOSTREAMS_DECL_CHAIN(chain, char)
^
/opt/homebrew/include/boost/iostreams/filtering_stream.hpp:96:5: note: in instantiation of member function 'boost::iostreams::chainboost::iostreams::input::chain' requested here
filtering_stream_base() : stream_type(0) { this->set_chain(&chain_); }
^
/opt/homebrew/include/boost/iostreams/filtering_stream.hpp:169:38: note: in instantiation of member function 'boost::iostreams::detail::filtering_stream_base<boost::iostreams::chainboost::iostreams::input, boost::iostreams::public_>::filtering_stream_base' requested here
BOOST_IOSTREAMS_DEFINE_FILTER_STREAM(filtering_stream, boost::iostreams::chain, char)
^
tools/common/ToolsCommon.cpp:211:39: note: in instantiation of member function 'boost::iostreams::filtering_streamboost::iostreams::input::filtering_stream' requested here
boost::iostreams::filtering_istream inbuf;
^
In file included from tools/common/ToolsCommon.cpp:15:
In file included from /opt/homebrew/include/boost/iostreams/filtering_stream.hpp:22:
In file included from /opt/homebrew/include/boost/iostreams/filtering_streambuf.hpp:17:
In file included from /opt/homebrew/include/boost/iostreams/chain.hpp:34:
In file included from /opt/homebrew/include/boost/iostreams/stream_buffer.hpp:22:
In file included from /opt/homebrew/include/boost/iostreams/detail/streambuf/indirect_streambuf.hpp:23:
/opt/homebrew/include/boost/iostreams/detail/adapter/concept_adapter.hpp:121:45: error: definition of implicit copy constructor for 'concept_adapter<boost::iostreams::basic_null_device<char, boost::iostreams::input>>' is deprecated because it has a user-declared copy assignment operator [-Werror,-Wdeprecated-copy]
BOOST_DELETED_FUNCTION(concept_adapter& operator=(const concept_adapter&))
^
/opt/homebrew/include/boost/iostreams/detail/optional.hpp:100:25: note: in implicit copy constructor for 'boost::iostreams::detail::concept_adapter<boost::iostreams::basic_null_device<char, boost::iostreams::input>>' first required here
new (address()) T(t);
^
/opt/homebrew/include/boost/iostreams/detail/streambuf/indirect_streambuf.hpp:185:14: note: in instantiation of member function 'boost::iostreams::detail::optional<boost::iostreams::detail::concept_adapter<boost::iostreams::basic_null_device<char, boost::iostreams::input>>>::reset' requested here
storage_.reset(wrapper(t));
^
/opt/homebrew/include/boost/iostreams/stream_buffer.hpp:106:24: note: in instantiation of member function 'boost::iostreams::detail::indirect_streambuf<boost::iostreams::basic_null_device<char, boost::iostreams::input>, std::char_traits, std::allocator, boost::iostreams::input>::open' requested here
base_type::open(t BOOST_IOSTREAMS_PUSH_ARGS());
^
/opt/homebrew/include/boost/iostreams/stream_buffer.hpp:94:45: note: in instantiation of member function 'boost::iostreams::stream_buffer<boost::iostreams::basic_null_device<char, boost::iostreams::input>, std::char_traits, std::allocator, boost::iostreams::input>::open_impl' requested here
BOOST_IOSTREAMS_FORWARD( stream_buffer, open_impl, T,
^
/opt/homebrew/include/boost/iostreams/chain.hpp:330:30: note: in instantiation of member function 'boost::iostreams::stream_buffer<boost::iostreams::basic_null_device<char, boost::iostreams::input>, std::char_traits, std::allocator, boost::iostreams::input>::open' requested here
null.open(basic_null_device<Ch, Mode>());
^
/opt/homebrew/include/boost/iostreams/chain.hpp:321:23: note: (skipping 5 contexts in backtrace; use -ftemplate-backtrace-limit=0 to see all)
try { close(); } catch (...) { }
^
/opt/homebrew/include/boost/iostreams/chain.hpp:131:20: note: in instantiation of function template specialization 'boost::shared_ptr<boost::iostreams::detail::chain_base<boost::iostreams::chainboost::iostreams::input, char, std::char_traits, std::allocator, boost::iostreams::input>::chain_impl>::shared_ptr<boost::iostreams::detail::chain_base<boost::iostreams::chainboost::iostreams::input, char, std::char_traits, std::allocator, boost::iostreams::input>::chain_impl>' requested here
chain_base() : pimpl_(new chain_impl) { }
^
/opt/homebrew/include/boost/iostreams/chain.hpp:431:28: note: in instantiation of member function 'boost::iostreams::detail::chain_base<boost::iostreams::chainboost::iostreams::input, char, std::char_traits, std::allocator, boost::iostreams::input>::chain_base' requested here
BOOST_IOSTREAMS_DECL_CHAIN(chain, char)
^
/opt/homebrew/include/boost/iostreams/filtering_stream.hpp:96:5: note: in instantiation of member function 'boost::iostreams::chainboost::iostreams::input::chain' requested here
filtering_stream_base() : stream_type(0) { this->set_chain(&chain_); }
^
/opt/homebrew/include/boost/iostreams/filtering_stream.hpp:169:38: note: in instantiation of member function 'boost::iostreams::detail::filtering_stream_base<boost::iostreams::chainboost::iostreams::input, boost::iostreams::public_>::filtering_stream_base' requested here
BOOST_IOSTREAMS_DEFINE_FILTER_STREAM(filtering_stream, boost::iostreams::chain, char)
^
tools/common/ToolsCommon.cpp:211:39: note: in instantiation of member function 'boost::iostreams::filtering_streamboost::iostreams::input::filtering_stream' requested here
boost::iostreams::filtering_istream inbuf;
^
In file included from tools/common/ToolsCommon.cpp:15:
In file included from /opt/homebrew/include/boost/iostreams/filtering_stream.hpp:22:
In file included from /opt/homebrew/include/boost/iostreams/filtering_streambuf.hpp:17:
In file included from /opt/homebrew/include/boost/iostreams/chain.hpp:34:
In file included from /opt/homebrew/include/boost/iostreams/stream_buffer.hpp:22:
In file included from /opt/homebrew/include/boost/iostreams/detail/streambuf/indirect_streambuf.hpp:23:
/opt/homebrew/include/boost/iostreams/detail/adapter/concept_adapter.hpp:121:45: error: definition of implicit copy constructor for 'concept_adapter' is deprecated because it has a user-declared copy assignment operator [-Werror,-Wdeprecated-copy]
BOOST_DELETED_FUNCTION(concept_adapter& operator=(const concept_adapter&))
^
/opt/homebrew/include/boost/iostreams/detail/optional.hpp:100:25: note: in implicit copy constructor for 'boost::iostreams::detail::concept_adapter' first required here
new (address()) T(t);
^
/opt/homebrew/include/boost/iostreams/detail/streambuf/indirect_streambuf.hpp:185:14: note: in instantiation of member function 'boost::iostreams::detail::optional<boost::iostreams::detail::concept_adapter>::reset' requested here
storage_.reset(wrapper(t));
^
/opt/homebrew/include/boost/iostreams/stream_buffer.hpp:106:24: note: in instantiation of member function 'boost::iostreams::detail::indirect_streambuf<CommentFilter, std::char_traits, std::allocator, boost::iostreams::input>::open' requested here
base_type::open(t BOOST_IOSTREAMS_PUSH_ARGS());
^
/opt/homebrew/include/boost/iostreams/stream_buffer.hpp:94:45: note: in instantiation of member function 'boost::iostreams::stream_buffer<CommentFilter, std::char_traits, std::allocator, boost::iostreams::input>::open_impl' requested here
BOOST_IOSTREAMS_FORWARD( stream_buffer, open_impl, T,
^
/opt/homebrew/include/boost/iostreams/chain.hpp:254:21: note: in instantiation of member function 'boost::iostreams::stream_buffer<CommentFilter, std::char_traits, std::allocator, boost::iostreams::input>::stream_buffer' requested here
buf(new streambuf_t(t, buffer_size, pback_size));
^
/opt/homebrew/include/boost/iostreams/chain.hpp:205:56: note: in instantiation of function template specialization 'boost::iostreams::detail::chain_base<boost::iostreams::chainboost::iostreams::input, char, std::char_traits, std::allocator, boost::iostreams::input>::push_impl' requested here
BOOST_IOSTREAMS_DEFINE_PUSH(push, mode, char_type, push_impl)
^
/opt/homebrew/include/boost/iostreams/chain.hpp:496:15: note: in instantiation of function template specialization 'boost::iostreams::detail::chain_base<boost::iostreams::chainboost::iostreams::input, char, std::char_traits, std::allocator, boost::iostreams::input>::push' requested here
{ chain_->push(t BOOST_IOSTREAMS_PUSH_ARGS()); }
^
/opt/homebrew/include/boost/iostreams/chain.hpp:484:56: note: in instantiation of function template specialization 'boost::iostreams::detail::chain_client<boost::iostreams::chainboost::iostreams::input>::push_impl' requested here
BOOST_IOSTREAMS_DEFINE_PUSH(push, mode, char_type, push_impl)
^
tools/common/ToolsCommon.cpp:212:9: note: in instantiation of function template specialization 'boost::iostreams::detail::chain_client<boost::iostreams::chainboost::iostreams::input>::push' requested here
inbuf.push(CommentFilter());
^
In file included from tools/common/ToolsCommon.cpp:15:
In file included from /opt/homebrew/include/boost/iostreams/filtering_stream.hpp:22:
In file included from /opt/homebrew/include/boost/iostreams/filtering_streambuf.hpp:17:
In file included from /opt/homebrew/include/boost/iostreams/chain.hpp:34:
In file included from /opt/homebrew/include/boost/iostreams/stream_buffer.hpp:21:
In file included from /opt/homebrew/include/boost/iostreams/detail/streambuf/direct_streambuf.hpp:24:
/opt/homebrew/include/boost/iostreams/detail/functional.hpp:136:45: error: definition of implicit copy constructor for 'reset_operation<boost::iostreams::detail::optional<boost::iostreams::detail::concept_adapter>>' is deprecated because it has a user-declared copy assignment operator [-Werror,-Wdeprecated-copy]
BOOST_DELETED_FUNCTION(reset_operation& operator=(const reset_operation&))
^
/opt/homebrew/include/boost/preprocessor/iteration/detail/limits/local_256.hpp:22:9: note: in implicit copy constructor for 'boost::iostreams::detail::reset_operation<boost::iostreams::detail::optional<boost::iostreams::detail::concept_adapter>>' first required here
BOOST_PP_LOCAL_MACRO(3)
^
/opt/homebrew/include/boost/iostreams/detail/execute.hpp:98:20: note: expanded from macro 'BOOST_PP_LOCAL_MACRO'
BOOST_PP_ENUM_PARAMS(BOOST_PP_DEC(n), c)
^
/opt/homebrew/include/boost/preprocessor/repetition/enum_params.hpp:24:71: note: expanded from macro 'BOOST_PP_ENUM_PARAMS'

define BOOST_PP_ENUM_PARAMS(count, param) BOOST_PP_REPEAT(count, BOOST_PP_ENUM_PARAMS_M, param)

                                                                  ^

/opt/homebrew/include/boost/iostreams/detail/streambuf/indirect_streambuf.hpp:202:13: note: in instantiation of function template specialization 'boost::iostreams::detail::execute_all<boost::iostreams::detail::member_close_operation<boost::iostreams::detail::linked_streambuf>, boost::iostreams::detail::member_close_operation<boost::iostreams::detail::linked_streambuf>, boost::iostreams::detail::reset_operation<boost::iostreams::detail::optional<boost::iostreams::detail::concept_adapter>>, boost::iostreams::detail::clear_flags_operation>' requested here
detail::execute_all(
^
/opt/homebrew/include/boost/iostreams/stream_buffer.hpp:91:23: note: in instantiation of member function 'boost::iostreams::detail::indirect_streambuf<CommentFilter, std::char_traits, std::allocator, boost::iostreams::input>::close' requested here
this->close();
^
/opt/homebrew/include/boost/iostreams/stream_buffer.hpp:94:30: note: in instantiation of member function 'boost::iostreams::stream_buffer<CommentFilter, std::char_traits, std::allocator, boost::iostreams::input>::~stream_buffer' requested here
BOOST_IOSTREAMS_FORWARD( stream_buffer, open_impl, T,
^
/opt/homebrew/include/boost/iostreams/chain.hpp:254:21: note: in instantiation of member function 'boost::iostreams::stream_buffer<CommentFilter, std::char_traits, std::allocator, boost::iostreams::input>::stream_buffer' requested here
buf(new streambuf_t(t, buffer_size, pback_size));
^
/opt/homebrew/include/boost/iostreams/chain.hpp:205:56: note: in instantiation of function template specialization 'boost::iostreams::detail::chain_base<boost::iostreams::chainboost::iostreams::input, char, std::char_traits, std::allocator, boost::iostreams::input>::push_impl' requested here
BOOST_IOSTREAMS_DEFINE_PUSH(push, mode, char_type, push_impl)
^
/opt/homebrew/include/boost/iostreams/chain.hpp:496:15: note: in instantiation of function template specialization 'boost::iostreams::detail::chain_base<boost::iostreams::chainboost::iostreams::input, char, std::char_traits, std::allocator, boost::iostreams::input>::push' requested here
{ chain_->push(t BOOST_IOSTREAMS_PUSH_ARGS()); }
^
/opt/homebrew/include/boost/iostreams/chain.hpp:484:56: note: in instantiation of function template specialization 'boost::iostreams::detail::chain_client<boost::iostreams::chainboost::iostreams::input>::push_impl' requested here
BOOST_IOSTREAMS_DEFINE_PUSH(push, mode, char_type, push_impl)
^
tools/common/ToolsCommon.cpp:212:9: note: in instantiation of function template specialization 'boost::iostreams::detail::chain_client<boost::iostreams::chainboost::iostreams::input>::push' requested here
inbuf.push(CommentFilter());
^
In file included from tools/common/ToolsCommon.cpp:15:
In file included from /opt/homebrew/include/boost/iostreams/filtering_stream.hpp:22:
In file included from /opt/homebrew/include/boost/iostreams/filtering_streambuf.hpp:17:
In file included from /opt/homebrew/include/boost/iostreams/chain.hpp:34:
In file included from /opt/homebrew/include/boost/iostreams/stream_buffer.hpp:22:
In file included from /opt/homebrew/include/boost/iostreams/detail/streambuf/indirect_streambuf.hpp:23:
/opt/homebrew/include/boost/iostreams/detail/adapter/concept_adapter.hpp:121:45: error: definition of implicit copy constructor for 'concept_adapter<boost::iostreams::detail::mode_adapter<boost::iostreams::input, std::istream>>' is deprecated because it has a user-declared copy assignment operator [-Werror,-Wdeprecated-copy]
BOOST_DELETED_FUNCTION(concept_adapter& operator=(const concept_adapter&))
^
/opt/homebrew/include/boost/iostreams/detail/optional.hpp:100:25: note: in implicit copy constructor for 'boost::iostreams::detail::concept_adapter<boost::iostreams::detail::mode_adapter<boost::iostreams::input, std::istream>>' first required here
new (address()) T(t);
^
/opt/homebrew/include/boost/iostreams/detail/streambuf/indirect_streambuf.hpp:185:14: note: in instantiation of member function 'boost::iostreams::detail::optional<boost::iostreams::detail::concept_adapter<boost::iostreams::detail::mode_adapter<boost::iostreams::input, std::istream>>>::reset' requested here
storage_.reset(wrapper(t));
^
/opt/homebrew/include/boost/iostreams/stream_buffer.hpp:106:24: note: in instantiation of member function 'boost::iostreams::detail::indirect_streambuf<boost::iostreams::detail::mode_adapter<boost::iostreams::input, std::istream>, std::char_traits, std::allocator, boost::iostreams::input>::open' requested here
base_type::open(t BOOST_IOSTREAMS_PUSH_ARGS());
^
/opt/homebrew/include/boost/iostreams/stream_buffer.hpp:94:45: note: in instantiation of member function 'boost::iostreams::stream_buffer<boost::iostreams::detail::mode_adapter<boost::iostreams::input, std::istream>, std::char_traits, std::allocator, boost::iostreams::input>::open_impl' requested here
BOOST_IOSTREAMS_FORWARD( stream_buffer, open_impl, T,
^
/opt/homebrew/include/boost/iostreams/chain.hpp:254:21: note: in instantiation of member function 'boost::iostreams::stream_buffer<boost::iostreams::detail::mode_adapter<boost::iostreams::input, std::istream>, std::char_traits, std::allocator, boost::iostreams::input>::stream_buffer' requested here
buf(new streambuf_t(t, buffer_size, pback_size));
^
/opt/homebrew/include/boost/iostreams/chain.hpp:205:56: note: in instantiation of function template specialization 'boost::iostreams::detail::chain_base<boost::iostreams::chainboost::iostreams::input, char, std::char_traits, std::allocator, boost::iostreams::input>::push_impl<boost::iostreams::detail::mode_adapter<boost::iostreams::input, std::istream>>' requested here
BOOST_IOSTREAMS_DEFINE_PUSH(push, mode, char_type, push_impl)
^
/opt/homebrew/include/boost/iostreams/chain.hpp:496:15: note: in instantiation of function template specialization 'boost::iostreams::detail::chain_base<boost::iostreams::chainboost::iostreams::input, char, std::char_traits, std::allocator, boost::iostreams::input>::push<boost::iostreams::detail::mode_adapter<boost::iostreams::input, std::istream>>' requested here
{ chain_->push(t BOOST_IOSTREAMS_PUSH_ARGS()); }
^
/opt/homebrew/include/boost/iostreams/chain.hpp:484:56: note: in instantiation of function template specialization 'boost::iostreams::detail::chain_client<boost::iostreams::chainboost::iostreams::input>::push_impl<boost::iostreams::detail::mode_adapter<boost::iostreams::input, std::istream>>' requested here
BOOST_IOSTREAMS_DEFINE_PUSH(push, mode, char_type, push_impl)
^
tools/common/ToolsCommon.cpp:213:9: note: in instantiation of function template specialization 'boost::iostreams::detail::chain_client<boost::iostreams::chainboost::iostreams::input>::push<char, std::char_traits>' requested here
inbuf.push(config_stream);
^
In file included from tools/common/ToolsCommon.cpp:15:
In file included from /opt/homebrew/include/boost/iostreams/filtering_stream.hpp:22:
In file included from /opt/homebrew/include/boost/iostreams/filtering_streambuf.hpp:17:
In file included from /opt/homebrew/include/boost/iostreams/chain.hpp:34:
In file included from /opt/homebrew/include/boost/iostreams/stream_buffer.hpp:21:
In file included from /opt/homebrew/include/boost/iostreams/detail/streambuf/direct_streambuf.hpp:24:
/opt/homebrew/include/boost/iostreams/detail/functional.hpp:136:45: error: definition of implicit copy constructor for 'reset_operation<boost::iostreams::detail::optional<boost::iostreams::detail::concept_adapter<boost::iostreams::detail::mode_adapter<boost::iostreams::input, std::istream>>>>' is deprecated because it has a user-declared copy assignment operator [-Werror,-Wdeprecated-copy]
BOOST_DELETED_FUNCTION(reset_operation& operator=(const reset_operation&))
^
/opt/homebrew/include/boost/preprocessor/iteration/detail/limits/local_256.hpp:22:9: note: in implicit copy constructor for 'boost::iostreams::detail::reset_operation<boost::iostreams::detail::optional<boost::iostreams::detail::concept_adapter<boost::iostreams::detail::mode_adapter<boost::iostreams::input, std::istream>>>>' first required here
BOOST_PP_LOCAL_MACRO(3)
^
/opt/homebrew/include/boost/iostreams/detail/execute.hpp:98:20: note: expanded from macro 'BOOST_PP_LOCAL_MACRO'
BOOST_PP_ENUM_PARAMS(BOOST_PP_DEC(n), c)
^
/opt/homebrew/include/boost/preprocessor/repetition/enum_params.hpp:24:71: note: expanded from macro 'BOOST_PP_ENUM_PARAMS'

define BOOST_PP_ENUM_PARAMS(count, param) BOOST_PP_REPEAT(count, BOOST_PP_ENUM_PARAMS_M, param)

                                                                  ^

/opt/homebrew/include/boost/iostreams/detail/streambuf/indirect_streambuf.hpp:202:13: note: in instantiation of function template specialization 'boost::iostreams::detail::execute_all<boost::iostreams::detail::member_close_operation<boost::iostreams::detail::linked_streambuf>, boost::iostreams::detail::member_close_operation<boost::iostreams::detail::linked_streambuf>, boost::iostreams::detail::reset_operation<boost::iostreams::detail::optional<boost::iostreams::detail::concept_adapter<boost::iostreams::detail::mode_adapter<boost::iostreams::input, std::istream>>>>, boost::iostreams::detail::clear_flags_operation>' requested here
detail::execute_all(
^
/opt/homebrew/include/boost/iostreams/stream_buffer.hpp:91:23: note: in instantiation of member function 'boost::iostreams::detail::indirect_streambuf<boost::iostreams::detail::mode_adapter<boost::iostreams::input, std::istream>, std::char_traits, std::allocator, boost::iostreams::input>::close' requested here
this->close();
^
/opt/homebrew/include/boost/iostreams/stream_buffer.hpp:94:30: note: in instantiation of member function 'boost::iostreams::stream_buffer<boost::iostreams::detail::mode_adapter<boost::iostreams::input, std::istream>, std::char_traits, std::allocator, boost::iostreams::input>::~stream_buffer' requested here
BOOST_IOSTREAMS_FORWARD( stream_buffer, open_impl, T,
^
/opt/homebrew/include/boost/iostreams/chain.hpp:254:21: note: in instantiation of member function 'boost::iostreams::stream_buffer<boost::iostreams::detail::mode_adapter<boost::iostreams::input, std::istream>, std::char_traits, std::allocator, boost::iostreams::input>::stream_buffer' requested here
buf(new streambuf_t(t, buffer_size, pback_size));
^
/opt/homebrew/include/boost/iostreams/chain.hpp:205:56: note: in instantiation of function template specialization 'boost::iostreams::detail::chain_base<boost::iostreams::chainboost::iostreams::input, char, std::char_traits, std::allocator, boost::iostreams::input>::push_impl<boost::iostreams::detail::mode_adapter<boost::iostreams::input, std::istream>>' requested here
BOOST_IOSTREAMS_DEFINE_PUSH(push, mode, char_type, push_impl)
^
/opt/homebrew/include/boost/iostreams/chain.hpp:496:15: note: in instantiation of function template specialization 'boost::iostreams::detail::chain_base<boost::iostreams::chainboost::iostreams::input, char, std::char_traits, std::allocator, boost::iostreams::input>::push<boost::iostreams::detail::mode_adapter<boost::iostreams::input, std::istream>>' requested here
{ chain_->push(t BOOST_IOSTREAMS_PUSH_ARGS()); }
^
/opt/homebrew/include/boost/iostreams/chain.hpp:484:56: note: in instantiation of function template specialization 'boost::iostreams::detail::chain_client<boost::iostreams::chainboost::iostreams::input>::push_impl<boost::iostreams::detail::mode_adapter<boost::iostreams::input, std::istream>>' requested here
BOOST_IOSTREAMS_DEFINE_PUSH(push, mode, char_type, push_impl)
^
tools/common/ToolsCommon.cpp:213:9: note: in instantiation of function template specialization 'boost::iostreams::detail::chain_client<boost::iostreams::chainboost::iostreams::input>::push<char, std::char_traits>' requested here
inbuf.push(config_stream);
^
7 errors generated.
make[2]: *** [tools/common/redex_all-ToolsCommon.o] Error 1
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2

ASan detects use after scope in `member` test

https://www.boost.org/development/tests/develop/developer/Marshall-ASAN-phoenix-clang-darwin-asan-member-variants_.html

UBSAN_OPTIONS=print_stacktrace=1 ./b2 -j3 libs/phoenix/test toolset=clang-7 cxxflags=-fno-omit-frame-pointer cxxflags=-fsanitize=address cxxflags=-fno-sanitize-recover=all linkflags=-fsanitize=address

testing.capture-output bin.v2/libs/phoenix/test/member.test/clang-linux-7/debug/visibility-hidden/member.run
====== BEGIN OUTPUT ======
=================================================================
==12333==ERROR: AddressSanitizer: stack-use-after-scope on address 0x7ffd1d1c6a70 at pc 0x0000004e9375 bp 0x7ffd1d1c3b90 sp 0x7ffd1d1c3340
READ of size 8 at 0x7ffd1d1c6a70 thread T0
    #0 0x4e9374 in __asan_memcpy (boost-root/bin.v2/libs/phoenix/test/member.test/clang-linux-7/debug/visibility-hidden/member+0x4e9374)
    #1 0x54cdb0 in boost::proto::domainns_::domain<boost::proto::basic_default_generator, boost::proto::_, boost::proto::domainns_::basic_default_domain>::as_expr<boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<(anonymous namespace)::Test*>, 0l> > const, void, boost::proto::callable>::operator()(boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<(anonymous namespace)::Test*>, 0l> > const&) const boost-root/./boost/proto/domain.hpp:153:28
    #2 0x54cdb0 in boost::proto::detail::make_expr_<boost::phoenix::tag::mem_fun_ptr, boost::phoenix::phoenix_default_domain, boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<(anonymous namespace)::Test*>, 0l> > const, int ((anonymous namespace)::Test::* const)(int) const, boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<int>, 0l> > const, void, void, void, void, void, void, void, void>::operator()(boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<(anonymous namespace)::Test*>, 0l> > const&, int ((anonymous namespace)::Test::* const&)(int) const, boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<int>, 0l> > const&) const boost-root/./boost/proto/detail/preprocessed/make_expr_.hpp:108
    #3 0x54cdb0 in boost::proto::result_of::make_expr<boost::phoenix::tag::mem_fun_ptr, boost::phoenix::phoenix_default_domain, boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<(anonymous namespace)::Test*>, 0l> > const, int ((anonymous namespace)::Test::* const)(int) const, boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<int>, 0l> > const, void, void, void, void, void, void, void, void>::type const boost::proto::make_expr<boost::phoenix::tag::mem_fun_ptr, boost::phoenix::phoenix_default_domain, boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<(anonymous namespace)::Test*>, 0l> >, int ((anonymous namespace)::Test::*)(int) const, boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<int>, 0l> > >(boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<(anonymous namespace)::Test*>, 0l> > const&, int ((anonymous namespace)::Test::* const&)(int) const, boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<int>, 0l> > const&) boost-root/./boost/proto/detail/preprocessed/make_expr.hpp:74
    #4 0x54cdb0 in boost::phoenix::expr_ext<boost::phoenix::actor, boost::phoenix::tag::mem_fun_ptr, boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<(anonymous namespace)::Test*>, 0l> >, int ((anonymous namespace)::Test::*)(int) const, boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<int>, 0l> > >::make(boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<(anonymous namespace)::Test*>, 0l> > const&, int ((anonymous namespace)::Test::* const&)(int) const, boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<int>, 0l> > const&) boost-root/./boost/phoenix/core/expression.hpp:71
    #5 0x545b0a in boost::phoenix::expression::mem_fun_ptr<boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<(anonymous namespace)::Test*>, 0l> >, int ((anonymous namespace)::Test::*)(int) const, boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<int>, 0l> > >::type const boost::phoenix::detail::mem_fun_ptr_gen<boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<(anonymous namespace)::Test*>, 0l> >, int ((anonymous namespace)::Test::*)(int) const>::operator()<boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<int>, 0l> > >(boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<int>, 0l> > const&) const boost-root/./boost/phoenix/operator/detail/cpp03/preprocessed/mem_fun_ptr_gen_10.hpp:36:24
    #6 0x537699 in main boost-root/libs/phoenix/test/operator/member.cpp:55:5
    #7 0x7fb1b77262e0 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x202e0)
    #8 0x41df69 in _start (boost-root/bin.v2/libs/phoenix/test/member.test/clang-linux-7/debug/visibility-hidden/member+0x41df69)

Address 0x7ffd1d1c6a70 is located in stack of thread T0 at offset 10832 in frame
    #0 0x52e46f in main boost-root/libs/phoenix/test/operator/member.cpp:35

  This frame has 701 object(s):
    [32, 48) 'retval.i.i.i.i.i.i2268'
    [64, 80) 'retval.i.i8.i.i.i2272'
    [96, 97) 'ref.tmp.i.i.i12.i.i2277'
    [112, 113) 'ref.tmp2.i.i.i13.i.i2278'
    [128, 144) 'retval.i9.i.i.i2279'
    [160, 164) 's.i.i.i.i2282'
    [176, 177) 'd.i.i.i.i2283'
    [192, 193) 'ref.tmp.i.i16.i.i2284'
    [208, 224) 'retval.i.i.i.i.i2285'
    [240, 256) 'retval.i.i.i.i2289'
    [272, 288) 'retval.i18.i.i2291'
    [304, 305) 'ref.tmp.i20.i.i2294'
    [320, 336) 'ref.tmp2.i.i.i2295'
    [352, 353) 'ref.tmp.i.i.i.i.i2301'
    [368, 369) 'ref.tmp2.i.i.i.i.i2302'
    [384, 385) 'ref.tmp.i.i.i.i2308'
    [400, 401) 'ref.tmp2.i.i.i.i2309'
    [416, 417) 'ref.tmp4.i.i.i.i2310'
    [432, 448) 'coerce.i.i.i.i2311'
    [464, 468) 's.i.i.i2314'
    [480, 481) 'd.i.i.i2315'
    [496, 497) 'ref.tmp.i.i.i2316'
    [512, 513) 'retval.i.i.i2317'
    [528, 552) 'that.i.i2323'
    [592, 593) 'ref.tmp.i.i2324'
    [608, 609) 'ref.tmp2.i.i2326'
    [624, 625) 'ref.tmp4.i.i2327'
    [640, 641) 'ref.tmp.i2330'
    [656, 664) 'retval.i.i.i.i.i.i2172'
    [688, 696) 'retval.i.i8.i.i.i2176'
    [720, 721) 'ref.tmp.i.i.i.i.i2181'
    [736, 737) 'ref.tmp2.i.i.i.i.i2182'
    [752, 760) 'retval.i9.i.i.i2183'
    [784, 788) 's.i.i.i.i2186'
    [800, 801) 'd.i.i.i.i2187'
    [816, 817) 'ref.tmp.i.i14.i.i2188'
    [832, 840) 'retval.i.i.i15.i.i2189'
    [864, 872) 'retval.i.i17.i.i2193'
    [896, 904) 'retval.i18.i.i2195'
    [928, 929) 'ref.tmp.i20.i.i2198'
    [944, 952) 'ref.tmp2.i.i.i2199'
    [976, 992) 'retval.i.i.i.i.i2200'
    [1008, 1024) 'retval.i.i.i.i2204'
    [1040, 1041) 'ref.tmp.i.i.i.i2209'
    [1056, 1057) 'ref.tmp2.i.i.i.i2210'
    [1072, 1088) 'retval.i6.i.i2211'
    [1104, 1108) 's.i.i.i2214'
    [1120, 1121) 'd.i.i.i2215'
    [1136, 1137) 'ref.tmp.i.i.i2216'
    [1152, 1153) 'retval.i.i.i2217'
    [1168, 1184) 'retval.i.i2220'
    [1200, 1216) 'that.i.i2224'
    [1232, 1233) 'ref.tmp.i.i2225'
    [1248, 1249) 'ref.tmp2.i.i2227'
    [1264, 1265) 'ref.tmp4.i.i2228'
    [1280, 1296) 'retval.i2229'
    [1312, 1313) 'ref.tmp.i2232'
    [1328, 1344) 'retval.i.i.i.i.i.i2069'
    [1360, 1376) 'retval.i.i8.i.i.i2073'
    [1392, 1393) 'ref.tmp.i.i.i12.i.i2078'
    [1408, 1409) 'ref.tmp2.i.i.i13.i.i2079'
    [1424, 1440) 'retval.i9.i.i.i2080'
    [1456, 1460) 's.i.i.i.i2083'
    [1472, 1473) 'd.i.i.i.i2084'
    [1488, 1489) 'ref.tmp.i.i16.i.i2085'
    [1504, 1520) 'retval.i.i.i.i.i2086'
    [1536, 1552) 'retval.i.i.i.i2090'
    [1568, 1584) 'retval.i18.i.i2092'
    [1600, 1601) 'ref.tmp.i20.i.i2095'
    [1616, 1632) 'ref.tmp2.i.i.i2096'
    [1648, 1649) 'ref.tmp.i.i.i.i.i2102'
    [1664, 1665) 'ref.tmp2.i.i.i.i.i2103'
    [1680, 1681) 'ref.tmp.i.i.i.i2109'
    [1696, 1697) 'ref.tmp2.i.i.i.i2110'
    [1712, 1713) 'ref.tmp4.i.i.i.i2111'
    [1728, 1744) 'coerce.i.i.i.i2112'
    [1760, 1764) 's.i.i.i2115'
    [1776, 1777) 'd.i.i.i2116'
    [1792, 1793) 'ref.tmp.i.i.i2117'
    [1808, 1809) 'retval.i.i.i2118'
    [1824, 1848) 'that.i.i2124'
    [1888, 1889) 'ref.tmp.i.i2125'
    [1904, 1905) 'ref.tmp2.i.i2127'
    [1920, 1921) 'ref.tmp4.i.i2128'
    [1936, 1937) 'ref.tmp.i2131'
    [1952, 1960) 'retval.i.i.i.i.i.i1973'
    [1984, 1992) 'retval.i.i8.i.i.i1977'
    [2016, 2017) 'ref.tmp.i.i.i.i.i1982'
    [2032, 2033) 'ref.tmp2.i.i.i.i.i1983'
    [2048, 2056) 'retval.i9.i.i.i1984'
    [2080, 2084) 's.i.i.i.i1987'
    [2096, 2097) 'd.i.i.i.i1988'
    [2112, 2113) 'ref.tmp.i.i14.i.i1989'
    [2128, 2136) 'retval.i.i.i15.i.i1990'
    [2160, 2168) 'retval.i.i17.i.i1994'
    [2192, 2200) 'retval.i18.i.i1996'
    [2224, 2225) 'ref.tmp.i20.i.i1999'
    [2240, 2248) 'ref.tmp2.i.i.i2000'
    [2272, 2288) 'retval.i.i.i.i.i2001'
    [2304, 2320) 'retval.i.i.i.i2005'
    [2336, 2337) 'ref.tmp.i.i.i.i2010'
    [2352, 2353) 'ref.tmp2.i.i.i.i2011'
    [2368, 2384) 'retval.i6.i.i2012'
    [2400, 2404) 's.i.i.i2015'
    [2416, 2417) 'd.i.i.i2016'
    [2432, 2433) 'ref.tmp.i.i.i2017'
    [2448, 2449) 'retval.i.i.i2018'
    [2464, 2480) 'retval.i.i2021'
    [2496, 2512) 'that.i.i2025'
    [2528, 2529) 'ref.tmp.i.i2026'
    [2544, 2545) 'ref.tmp2.i.i2028'
    [2560, 2561) 'ref.tmp4.i.i2029'
    [2576, 2592) 'retval.i2030'
    [2608, 2609) 'ref.tmp.i2033'
    [2624, 2640) 'retval.i.i.i.i.i.i1870'
    [2656, 2672) 'retval.i.i8.i.i.i1874'
    [2688, 2689) 'ref.tmp.i.i.i12.i.i1879'
    [2704, 2705) 'ref.tmp2.i.i.i13.i.i1880'
    [2720, 2736) 'retval.i9.i.i.i1881'
    [2752, 2756) 's.i.i.i.i1884'
    [2768, 2769) 'd.i.i.i.i1885'
    [2784, 2785) 'ref.tmp.i.i16.i.i1886'
    [2800, 2816) 'retval.i.i.i.i.i1887'
    [2832, 2848) 'retval.i.i.i.i1891'
    [2864, 2880) 'retval.i18.i.i1893'
    [2896, 2897) 'ref.tmp.i20.i.i1896'
    [2912, 2928) 'ref.tmp2.i.i.i1897'
    [2944, 2945) 'ref.tmp.i.i.i.i.i1903'
    [2960, 2961) 'ref.tmp2.i.i.i.i.i1904'
    [2976, 2977) 'ref.tmp.i.i.i.i1910'
    [2992, 2993) 'ref.tmp2.i.i.i.i1911'
    [3008, 3009) 'ref.tmp4.i.i.i.i1912'
    [3024, 3040) 'coerce.i.i.i.i1913'
    [3056, 3060) 's.i.i.i1916'
    [3072, 3073) 'd.i.i.i1917'
    [3088, 3089) 'ref.tmp.i.i.i1918'
    [3104, 3105) 'retval.i.i.i1919'
    [3120, 3144) 'that.i.i1925'
    [3184, 3185) 'ref.tmp.i.i1926'
    [3200, 3201) 'ref.tmp2.i.i1928'
    [3216, 3217) 'ref.tmp4.i.i1929'
    [3232, 3233) 'ref.tmp.i1932'
    [3248, 3256) 'retval.i.i.i.i.i.i1774'
    [3280, 3288) 'retval.i.i8.i.i.i1778'
    [3312, 3313) 'ref.tmp.i.i.i.i.i1783'
    [3328, 3329) 'ref.tmp2.i.i.i.i.i1784'
    [3344, 3352) 'retval.i9.i.i.i1785'
    [3376, 3380) 's.i.i.i.i1788'
    [3392, 3393) 'd.i.i.i.i1789'
    [3408, 3409) 'ref.tmp.i.i14.i.i1790'
    [3424, 3432) 'retval.i.i.i15.i.i1791'
    [3456, 3464) 'retval.i.i17.i.i1795'
    [3488, 3496) 'retval.i18.i.i1797'
    [3520, 3521) 'ref.tmp.i20.i.i1800'
    [3536, 3544) 'ref.tmp2.i.i.i1801'
    [3568, 3584) 'retval.i.i.i.i.i1802'
    [3600, 3616) 'retval.i.i.i.i1806'
    [3632, 3633) 'ref.tmp.i.i.i.i1811'
    [3648, 3649) 'ref.tmp2.i.i.i.i1812'
    [3664, 3680) 'retval.i6.i.i1813'
    [3696, 3700) 's.i.i.i1816'
    [3712, 3713) 'd.i.i.i1817'
    [3728, 3729) 'ref.tmp.i.i.i1818'
    [3744, 3745) 'retval.i.i.i1819'
    [3760, 3776) 'retval.i.i1822'
    [3792, 3808) 'that.i.i1826'
    [3824, 3825) 'ref.tmp.i.i1827'
    [3840, 3841) 'ref.tmp2.i.i1829'
    [3856, 3857) 'ref.tmp4.i.i1830'
    [3872, 3888) 'retval.i1831'
    [3904, 3905) 'ref.tmp.i1834'
    [3920, 3936) 'retval.i.i.i.i.i.i1671'
    [3952, 3968) 'retval.i.i8.i.i.i1675'
    [3984, 3985) 'ref.tmp.i.i.i12.i.i1680'
    [4000, 4001) 'ref.tmp2.i.i.i13.i.i1681'
    [4016, 4032) 'retval.i9.i.i.i1682'
    [4048, 4052) 's.i.i.i.i1685'
    [4064, 4065) 'd.i.i.i.i1686'
    [4080, 4081) 'ref.tmp.i.i16.i.i1687'
    [4096, 4112) 'retval.i.i.i.i.i1688'
    [4128, 4144) 'retval.i.i.i.i1692'
    [4160, 4176) 'retval.i18.i.i1694'
    [4192, 4193) 'ref.tmp.i20.i.i1697'
    [4208, 4224) 'ref.tmp2.i.i.i1698'
    [4240, 4241) 'ref.tmp.i.i.i.i.i1704'
    [4256, 4257) 'ref.tmp2.i.i.i.i.i1705'
    [4272, 4273) 'ref.tmp.i.i.i.i1711'
    [4288, 4289) 'ref.tmp2.i.i.i.i1712'
    [4304, 4305) 'ref.tmp4.i.i.i.i1713'
    [4320, 4336) 'coerce.i.i.i.i1714'
    [4352, 4356) 's.i.i.i1717'
    [4368, 4369) 'd.i.i.i1718'
    [4384, 4385) 'ref.tmp.i.i.i1719'
    [4400, 4401) 'retval.i.i.i1720'
    [4416, 4440) 'that.i.i1726'
    [4480, 4481) 'ref.tmp.i.i1727'
    [4496, 4497) 'ref.tmp2.i.i1729'
    [4512, 4513) 'ref.tmp4.i.i1730'
    [4528, 4529) 'ref.tmp.i1733'
    [4544, 4552) 'retval.i.i.i.i.i.i1575'
    [4576, 4584) 'retval.i.i8.i.i.i1579'
    [4608, 4609) 'ref.tmp.i.i.i.i.i1584'
    [4624, 4625) 'ref.tmp2.i.i.i.i.i1585'
    [4640, 4648) 'retval.i9.i.i.i1586'
    [4672, 4676) 's.i.i.i.i1589'
    [4688, 4689) 'd.i.i.i.i1590'
    [4704, 4705) 'ref.tmp.i.i14.i.i1591'
    [4720, 4728) 'retval.i.i.i15.i.i1592'
    [4752, 4760) 'retval.i.i17.i.i1596'
    [4784, 4792) 'retval.i18.i.i1598'
    [4816, 4817) 'ref.tmp.i20.i.i1601'
    [4832, 4840) 'ref.tmp2.i.i.i1602'
    [4864, 4880) 'retval.i.i.i.i.i1603'
    [4896, 4912) 'retval.i.i.i.i1607'
    [4928, 4929) 'ref.tmp.i.i.i.i1612'
    [4944, 4945) 'ref.tmp2.i.i.i.i1613'
    [4960, 4976) 'retval.i6.i.i1614'
    [4992, 4996) 's.i.i.i1617'
    [5008, 5009) 'd.i.i.i1618'
    [5024, 5025) 'ref.tmp.i.i.i1619'
    [5040, 5041) 'retval.i.i.i1620'
    [5056, 5072) 'retval.i.i1623'
    [5088, 5104) 'that.i.i1627'
    [5120, 5121) 'ref.tmp.i.i1628'
    [5136, 5137) 'ref.tmp2.i.i1630'
    [5152, 5153) 'ref.tmp4.i.i1631'
    [5168, 5184) 'retval.i1632'
    [5200, 5201) 'ref.tmp.i1635'
    [5216, 5232) 'retval.i.i.i.i.i.i1472'
    [5248, 5264) 'retval.i.i8.i.i.i1476'
    [5280, 5281) 'ref.tmp.i.i.i12.i.i1481'
    [5296, 5297) 'ref.tmp2.i.i.i13.i.i1482'
    [5312, 5328) 'retval.i9.i.i.i1483'
    [5344, 5348) 's.i.i.i.i1486'
    [5360, 5361) 'd.i.i.i.i1487'
    [5376, 5377) 'ref.tmp.i.i16.i.i1488'
    [5392, 5408) 'retval.i.i.i.i.i1489'
    [5424, 5440) 'retval.i.i.i.i1493'
    [5456, 5472) 'retval.i18.i.i1495'
    [5488, 5489) 'ref.tmp.i20.i.i1498'
    [5504, 5520) 'ref.tmp2.i.i.i1499'
    [5536, 5537) 'ref.tmp.i.i.i.i.i1505'
    [5552, 5553) 'ref.tmp2.i.i.i.i.i1506'
    [5568, 5569) 'ref.tmp.i.i.i.i1512'
    [5584, 5585) 'ref.tmp2.i.i.i.i1513'
    [5600, 5601) 'ref.tmp4.i.i.i.i1514'
    [5616, 5632) 'coerce.i.i.i.i1515'
    [5648, 5652) 's.i.i.i1518'
    [5664, 5665) 'd.i.i.i1519'
    [5680, 5681) 'ref.tmp.i.i.i1520'
    [5696, 5697) 'retval.i.i.i1521'
    [5712, 5736) 'that.i.i1527'
    [5776, 5777) 'ref.tmp.i.i1528'
    [5792, 5793) 'ref.tmp2.i.i1530'
    [5808, 5809) 'ref.tmp4.i.i1531'
    [5824, 5825) 'ref.tmp.i1534'
    [5840, 5848) 'retval.i.i.i.i.i.i1376'
    [5872, 5880) 'retval.i.i8.i.i.i1380'
    [5904, 5905) 'ref.tmp.i.i.i.i.i1385'
    [5920, 5921) 'ref.tmp2.i.i.i.i.i1386'
    [5936, 5944) 'retval.i9.i.i.i1387'
    [5968, 5972) 's.i.i.i.i1390'
    [5984, 5985) 'd.i.i.i.i1391'
    [6000, 6001) 'ref.tmp.i.i14.i.i1392'
    [6016, 6024) 'retval.i.i.i15.i.i1393'
    [6048, 6056) 'retval.i.i17.i.i1397'
    [6080, 6088) 'retval.i18.i.i1399'
    [6112, 6113) 'ref.tmp.i20.i.i1402'
    [6128, 6136) 'ref.tmp2.i.i.i1403'
    [6160, 6176) 'retval.i.i.i.i.i1404'
    [6192, 6208) 'retval.i.i.i.i1408'
    [6224, 6225) 'ref.tmp.i.i.i.i1413'
    [6240, 6241) 'ref.tmp2.i.i.i.i1414'
    [6256, 6272) 'retval.i6.i.i1415'
    [6288, 6292) 's.i.i.i1418'
    [6304, 6305) 'd.i.i.i1419'
    [6320, 6321) 'ref.tmp.i.i.i1420'
    [6336, 6337) 'retval.i.i.i1421'
    [6352, 6368) 'retval.i.i1424'
    [6384, 6400) 'that.i.i1428'
    [6416, 6417) 'ref.tmp.i.i1429'
    [6432, 6433) 'ref.tmp2.i.i1431'
    [6448, 6449) 'ref.tmp4.i.i1432'
    [6464, 6480) 'retval.i1433'
    [6496, 6497) 'ref.tmp.i1436'
    [6512, 6528) 'retval.i.i.i.i.i.i1274'
    [6544, 6560) 'retval.i.i8.i.i.i1278'
    [6576, 6577) 'ref.tmp.i.i.i12.i.i1283'
    [6592, 6593) 'ref.tmp2.i.i.i13.i.i1284'
    [6608, 6624) 'retval.i9.i.i.i1285'
    [6640, 6644) 's.i.i.i.i1288'
    [6656, 6657) 'd.i.i.i.i1289'
    [6672, 6673) 'ref.tmp.i.i16.i.i1290'
    [6688, 6704) 'retval.i.i.i.i.i1291'
    [6720, 6736) 'retval.i.i.i.i1295'
    [6752, 6768) 'retval.i18.i.i1297'
    [6784, 6785) 'ref.tmp.i20.i.i1300'
    [6800, 6816) 'ref.tmp2.i.i.i1301'
    [6832, 6833) 'ref.tmp.i.i.i.i.i1307'
    [6848, 6849) 'ref.tmp2.i.i.i.i.i1308'
    [6864, 6865) 'ref.tmp.i.i.i.i1314'
    [6880, 6881) 'ref.tmp2.i.i.i.i1315'
    [6896, 6897) 'ref.tmp4.i.i.i.i1316'
    [6912, 6928) 'coerce.i.i.i.i1317'
    [6944, 6948) 's.i.i.i1320'
    [6960, 6961) 'd.i.i.i1321'
    [6976, 6977) 'ref.tmp.i.i.i1322'
    [6992, 6993) 'retval.i.i.i1323'
    [7008, 7032) 'that.i.i1329'
    [7072, 7073) 'ref.tmp.i.i1330'
    [7088, 7089) 'ref.tmp2.i.i1332'
    [7104, 7105) 'ref.tmp4.i.i1333'
    [7120, 7121) 'ref.tmp.i1336'
    [7136, 7144) 'retval.i.i.i.i.i.i1178'
    [7168, 7176) 'retval.i.i8.i.i.i1182'
    [7200, 7201) 'ref.tmp.i.i.i.i.i1187'
    [7216, 7217) 'ref.tmp2.i.i.i.i.i1188'
    [7232, 7240) 'retval.i9.i.i.i1189'
    [7264, 7268) 's.i.i.i.i1192'
    [7280, 7281) 'd.i.i.i.i1193'
    [7296, 7297) 'ref.tmp.i.i14.i.i1194'
    [7312, 7320) 'retval.i.i.i15.i.i1195'
    [7344, 7352) 'retval.i.i17.i.i1199'
    [7376, 7384) 'retval.i18.i.i1201'
    [7408, 7409) 'ref.tmp.i20.i.i1204'
    [7424, 7432) 'ref.tmp2.i.i.i1205'
    [7456, 7472) 'retval.i.i.i.i.i1206'
    [7488, 7504) 'retval.i.i.i.i1210'
    [7520, 7521) 'ref.tmp.i.i.i.i1215'
    [7536, 7537) 'ref.tmp2.i.i.i.i1216'
    [7552, 7568) 'retval.i6.i.i1217'
    [7584, 7588) 's.i.i.i1220'
    [7600, 7601) 'd.i.i.i1221'
    [7616, 7617) 'ref.tmp.i.i.i1222'
    [7632, 7633) 'retval.i.i.i1223'
    [7648, 7664) 'retval.i.i1226'
    [7680, 7696) 'that.i.i1230'
    [7712, 7713) 'ref.tmp.i.i1231'
    [7728, 7729) 'ref.tmp2.i.i1233'
    [7744, 7745) 'ref.tmp4.i.i1234'
    [7760, 7776) 'retval.i1235'
    [7792, 7793) 'ref.tmp.i1238'
    [7808, 7824) 'retval.i.i.i.i.i.i1079'
    [7840, 7856) 'retval.i.i8.i.i.i1083'
    [7872, 7873) 'ref.tmp.i.i.i12.i.i1088'
    [7888, 7889) 'ref.tmp2.i.i.i13.i.i1089'
    [7904, 7920) 'retval.i9.i.i.i1090'
    [7936, 7940) 's.i.i.i.i1093'
    [7952, 7953) 'd.i.i.i.i1094'
    [7968, 7969) 'ref.tmp.i.i16.i.i1095'
    [7984, 8000) 'retval.i.i.i.i.i1096'
    [8016, 8032) 'retval.i.i.i.i1100'
    [8048, 8064) 'retval.i18.i.i1102'
    [8080, 8081) 'ref.tmp.i20.i.i1105'
    [8096, 8112) 'ref.tmp2.i.i.i1106'
    [8128, 8129) 'ref.tmp.i.i.i.i.i1112'
    [8144, 8145) 'ref.tmp2.i.i.i.i.i1113'
    [8160, 8161) 'ref.tmp.i.i.i.i1119'
    [8176, 8177) 'ref.tmp2.i.i.i.i1120'
    [8192, 8193) 'ref.tmp4.i.i.i.i1121'
    [8208, 8224) 'coerce.i.i.i.i1122'
    [8240, 8244) 's.i.i.i1125'
    [8256, 8257) 'd.i.i.i1126'
    [8272, 8273) 'ref.tmp.i.i.i1127'
    [8288, 8289) 'retval.i.i.i1128'
    [8304, 8328) 'that.i.i1134'
    [8368, 8369) 'ref.tmp.i.i1135'
    [8384, 8385) 'ref.tmp2.i.i1137'
    [8400, 8401) 'ref.tmp4.i.i1138'
    [8416, 8417) 'ref.tmp.i1141'
    [8432, 8448) 'retval.i.i.i.i.i.i980'
    [8464, 8480) 'retval.i.i8.i.i.i984'
    [8496, 8497) 'ref.tmp.i.i.i12.i.i989'
    [8512, 8513) 'ref.tmp2.i.i.i13.i.i990'
    [8528, 8544) 'retval.i9.i.i.i991'
    [8560, 8564) 's.i.i.i.i994'
    [8576, 8577) 'd.i.i.i.i995'
    [8592, 8593) 'ref.tmp.i.i16.i.i996'
    [8608, 8624) 'retval.i.i.i.i.i997'
    [8640, 8656) 'retval.i.i.i.i1001'
    [8672, 8688) 'retval.i18.i.i1003'
    [8704, 8705) 'ref.tmp.i20.i.i1006'
    [8720, 8736) 'ref.tmp2.i.i.i1007'
    [8752, 8753) 'ref.tmp.i.i.i.i.i1013'
    [8768, 8769) 'ref.tmp2.i.i.i.i.i1014'
    [8784, 8785) 'ref.tmp.i.i.i.i1020'
    [8800, 8801) 'ref.tmp2.i.i.i.i1021'
    [8816, 8817) 'ref.tmp4.i.i.i.i1022'
    [8832, 8848) 'coerce.i.i.i.i1023'
    [8864, 8868) 's.i.i.i1026'
    [8880, 8881) 'd.i.i.i1027'
    [8896, 8897) 'ref.tmp.i.i.i1028'
    [8912, 8913) 'retval.i.i.i1029'
    [8928, 8952) 'that.i.i1035'
    [8992, 8993) 'ref.tmp.i.i1036'
    [9008, 9009) 'ref.tmp2.i.i1038'
    [9024, 9025) 'ref.tmp4.i.i1039'
    [9040, 9041) 'ref.tmp.i1042'
    [9056, 9072) 'retval.i.i.i.i.i.i877'
    [9088, 9104) 'retval.i.i8.i.i.i881'
    [9120, 9121) 'ref.tmp.i.i.i15.i.i886'
    [9136, 9137) 'ref.tmp2.i.i.i16.i.i887'
    [9152, 9168) 'retval.i9.i.i.i888'
    [9184, 9188) 's.i.i.i.i891'
    [9200, 9201) 'd.i.i.i.i892'
    [9216, 9217) 'ref.tmp.i.i19.i.i893'
    [9232, 9248) 'retval.i.i.i.i.i894'
    [9264, 9280) 'retval.i.i.i.i898'
    [9296, 9312) 'retval.i21.i.i900'
    [9328, 9329) 'ref.tmp.i23.i.i903'
    [9344, 9360) 'ref.tmp2.i.i.i904'
    [9376, 9377) 'ref.tmp.i.i.i.i.i910'
    [9392, 9393) 'ref.tmp2.i.i.i.i.i911'
    [9408, 9409) 'ref.tmp.i.i.i.i917'
    [9424, 9425) 'ref.tmp2.i.i.i.i918'
    [9440, 9441) 'ref.tmp4.i.i.i.i919'
    [9456, 9472) 'coerce.i.i.i.i920'
    [9488, 9492) 's.i.i.i923'
    [9504, 9505) 'd.i.i.i924'
    [9520, 9521) 'ref.tmp.i.i.i925'
    [9536, 9544) 'retval.i.i.i926'
    [9568, 9592) 'that.i.i932'
    [9632, 9633) 'ref.tmp.i.i933'
    [9648, 9649) 'ref.tmp3.i.i934'
    [9664, 9665) 'ref.tmp7.i.i935'
    [9680, 9681) 'ref.tmp.i938'
    [9696, 9712) 'retval.i.i.i.i.i.i792'
    [9728, 9744) 'retval.i.i8.i.i.i796'
    [9760, 9761) 'ref.tmp.i.i.i12.i.i'
    [9776, 9777) 'ref.tmp2.i.i.i13.i.i'
    [9792, 9808) 'retval.i9.i.i.i797'
    [9824, 9828) 's.i.i.i.i798'
    [9840, 9841) 'd.i.i.i.i799'
    [9856, 9857) 'ref.tmp.i.i16.i.i'
    [9872, 9888) 'retval.i.i.i.i.i800'
    [9904, 9920) 'retval.i.i.i.i803'
    [9936, 9952) 'retval.i18.i.i805'
    [9968, 9969) 'ref.tmp.i20.i.i808'
    [9984, 10000) 'ref.tmp2.i.i.i809'
    [10016, 10017) 'ref.tmp.i.i.i.i.i815'
    [10032, 10033) 'ref.tmp2.i.i.i.i.i816'
    [10048, 10049) 'ref.tmp.i.i.i.i822'
    [10064, 10065) 'ref.tmp2.i.i.i.i823'
    [10080, 10081) 'ref.tmp4.i.i.i.i824'
    [10096, 10112) 'coerce.i.i.i.i825'
    [10128, 10132) 's.i.i.i826'
    [10144, 10145) 'd.i.i.i827'
    [10160, 10161) 'ref.tmp.i.i.i828'
    [10176, 10177) 'retval.i.i.i829'
    [10192, 10216) 'that.i.i835'
    [10256, 10257) 'ref.tmp.i.i836'
    [10272, 10273) 'ref.tmp2.i.i838'
    [10288, 10289) 'ref.tmp4.i.i839'
    [10304, 10305) 'ref.tmp.i842'
    [10320, 10336) 'retval.i.i.i.i.i.i714'
    [10352, 10368) 'retval.i.i8.i.i.i718'
    [10384, 10385) 'ref.tmp.i.i.i15.i.i'
    [10400, 10401) 'ref.tmp2.i.i.i16.i.i'
    [10416, 10432) 'retval.i9.i.i.i719'
    [10448, 10452) 's.i.i.i.i720'
    [10464, 10465) 'd.i.i.i.i721'
    [10480, 10481) 'ref.tmp.i.i19.i.i'
    [10496, 10512) 'retval.i.i.i.i.i722'
    [10528, 10544) 'retval.i.i.i.i725'
    [10560, 10576) 'retval.i21.i.i'
    [10592, 10593) 'ref.tmp.i23.i.i'
    [10608, 10624) 'ref.tmp2.i.i.i728'
    [10640, 10641) 'ref.tmp.i.i.i.i.i733'
    [10656, 10657) 'ref.tmp2.i.i.i.i.i734'
    [10672, 10673) 'ref.tmp.i.i.i.i740'
    [10688, 10689) 'ref.tmp2.i.i.i.i741'
    [10704, 10705) 'ref.tmp4.i.i.i.i'
    [10720, 10736) 'coerce.i.i.i.i'
    [10752, 10756) 's.i.i.i742'
    [10768, 10769) 'd.i.i.i743'
    [10784, 10785) 'ref.tmp.i.i.i744'
    [10800, 10808) 'retval.i.i.i745'
    [10832, 10856) 'that.i.i751' <== Memory access at offset 10832 is inside this variable
    [10896, 10897) 'ref.tmp.i.i752'
    [10912, 10913) 'ref.tmp3.i.i753'
    [10928, 10929) 'ref.tmp7.i.i754'
    [10944, 10945) 'ref.tmp.i757'
    [10960, 10961) 'ref.tmp.i.i.i8.i'
    [10976, 11000) 'ref.tmp2.i.i.i.i649'
    [11040, 11041) 'ref.tmp3.i.i.i.i'
    [11056, 11057) 'ref.tmp.i.i10.i'
    [11072, 11073) 'ref.tmp2.i.i11.i'
    [11088, 11092) 's.i.i'
    [11104, 11105) 'd.i.i'
    [11120, 11121) 'ref.tmp.i12.i'
    [11136, 11140) 'retval.i.i.i.i.i.i652'
    [11152, 11156) 'retval.i.i8.i.i.i656'
    [11168, 11169) 'ref.tmp.i.i.i.i.i661'
    [11184, 11185) 'ref.tmp2.i.i.i.i.i662'
    [11200, 11204) 'retval.i9.i.i.i663'
    [11216, 11220) 's.i.i.i.i666'
    [11232, 11233) 'd.i.i.i.i667'
    [11248, 11249) 'ref.tmp.i.i.i.i668'
    [11264, 11268) 'retval.i.i.i.i.i669'
    [11280, 11284) 'retval.i.i.i.i673'
    [11296, 11300) 'retval.i.i.i675'
    [11312, 11313) 'ref.tmp.i.i.i678'
    [11328, 11332) 'ref.tmp2.i.i.i679'
    [11344, 11348) 'retval.i.i680'
    [11360, 11361) 'ref.tmp.i.i681'
    [11376, 11392) 'that.i'
    [11408, 11409) 'ref.tmp.i682'
    [11424, 11432) 'retval.i.i.i.i.i.i540'
    [11456, 11464) 'retval.i.i8.i.i.i544'
    [11488, 11489) 'ref.tmp.i.i.i.i.i549'
    [11504, 11505) 'ref.tmp2.i.i.i.i.i550'
    [11520, 11528) 'retval.i9.i.i.i551'
    [11552, 11556) 's.i.i.i.i554'
    [11568, 11569) 'd.i.i.i.i555'
    [11584, 11585) 'ref.tmp.i.i21.i.i556'
    [11600, 11608) 'retval.i.i.i22.i.i557'
    [11632, 11640) 'retval.i.i24.i.i561'
    [11664, 11672) 'retval.i25.i.i563'
    [11696, 11697) 'ref.tmp.i27.i.i566'
    [11712, 11720) 'ref.tmp2.i.i.i567'
    [11744, 11760) 'retval.i.i.i.i.i568'
    [11776, 11792) 'retval.i.i.i.i572'
    [11808, 11809) 'ref.tmp.i.i.i.i577'
    [11824, 11825) 'ref.tmp2.i.i.i.i578'
    [11840, 11856) 'retval.i11.i.i579'
    [11872, 11876) 's.i.i.i582'
    [11888, 11889) 'd.i.i.i583'
    [11904, 11905) 'ref.tmp.i.i.i584'
    [11920, 11928) 'retval.i.i.i585'
    [11952, 11968) 'retval.i.i588'
    [11984, 12000) 'that.i.i592'
    [12016, 12017) 'ref.tmp.i.i593'
    [12032, 12033) 'ref.tmp3.i.i594'
    [12048, 12049) 'ref.tmp7.i.i595'
    [12064, 12080) 'retval.i596'
    [12096, 12097) 'ref.tmp.i599'
    [12112, 12120) 'retval.i.i.i.i.i.i466'
    [12144, 12152) 'retval.i.i8.i.i.i470'
    [12176, 12177) 'ref.tmp.i.i.i.i.i473'
    [12192, 12193) 'ref.tmp2.i.i.i.i.i474'
    [12208, 12216) 'retval.i9.i.i.i475'
    [12240, 12244) 's.i.i.i.i476'
    [12256, 12257) 'd.i.i.i.i477'
    [12272, 12273) 'ref.tmp.i.i14.i.i'
    [12288, 12296) 'retval.i.i.i15.i.i'
    [12320, 12328) 'retval.i.i17.i.i'
    [12352, 12360) 'retval.i18.i.i'
    [12384, 12385) 'ref.tmp.i20.i.i'
    [12400, 12408) 'ref.tmp2.i.i.i482'
    [12432, 12448) 'retval.i.i.i.i.i483'
    [12464, 12480) 'retval.i.i.i.i487'
    [12496, 12497) 'ref.tmp.i.i.i.i492'
    [12512, 12513) 'ref.tmp2.i.i.i.i493'
    [12528, 12544) 'retval.i6.i.i'
    [12560, 12564) 's.i.i.i494'
    [12576, 12577) 'd.i.i.i495'
    [12592, 12593) 'ref.tmp.i.i.i496'
    [12608, 12609) 'retval.i.i.i497'
    [12624, 12640) 'retval.i.i500'
    [12656, 12672) 'that.i.i504'
    [12688, 12689) 'ref.tmp.i.i505'
    [12704, 12705) 'ref.tmp2.i.i'
    [12720, 12721) 'ref.tmp4.i.i'
    [12736, 12752) 'retval.i506'
    [12768, 12769) 'ref.tmp.i509'
    [12784, 12792) 'retval.i.i.i.i.i.i357'
    [12816, 12824) 'retval.i.i8.i.i.i361'
    [12848, 12849) 'ref.tmp.i.i.i.i.i366'
    [12864, 12865) 'ref.tmp2.i.i.i.i.i367'
    [12880, 12888) 'retval.i9.i.i.i368'
    [12912, 12916) 's.i.i.i.i371'
    [12928, 12929) 'd.i.i.i.i372'
    [12944, 12945) 'ref.tmp.i.i21.i.i373'
    [12960, 12968) 'retval.i.i.i22.i.i374'
    [12992, 13000) 'retval.i.i24.i.i378'
    [13024, 13032) 'retval.i25.i.i380'
    [13056, 13057) 'ref.tmp.i27.i.i383'
    [13072, 13080) 'ref.tmp2.i.i.i384'
    [13104, 13120) 'retval.i.i.i.i.i385'
    [13136, 13152) 'retval.i.i.i.i389'
    [13168, 13169) 'ref.tmp.i.i.i.i394'
    [13184, 13185) 'ref.tmp2.i.i.i.i395'
    [13200, 13216) 'retval.i11.i.i396'
    [13232, 13236) 's.i.i.i399'
    [13248, 13249) 'd.i.i.i400'
    [13264, 13265) 'ref.tmp.i.i.i401'
    [13280, 13288) 'retval.i.i.i402'
    [13312, 13328) 'retval.i.i405'
    [13344, 13360) 'that.i.i409'
    [13376, 13377) 'ref.tmp.i.i410'
    [13392, 13393) 'ref.tmp3.i.i411'
    [13408, 13409) 'ref.tmp7.i.i412'
    [13424, 13440) 'retval.i413'
    [13456, 13457) 'ref.tmp.i416'
    [13472, 13480) 'retval.i.i.i.i.i.i'
    [13504, 13512) 'retval.i.i8.i.i.i'
    [13536, 13537) 'ref.tmp.i.i.i.i.i'
    [13552, 13553) 'ref.tmp2.i.i.i.i.i'
    [13568, 13576) 'retval.i9.i.i.i'
    [13600, 13604) 's.i.i.i.i'
    [13616, 13617) 'd.i.i.i.i'
    [13632, 13633) 'ref.tmp.i.i21.i.i'
    [13648, 13656) 'retval.i.i.i22.i.i'
    [13680, 13688) 'retval.i.i24.i.i'
    [13712, 13720) 'retval.i25.i.i'
    [13744, 13745) 'ref.tmp.i27.i.i'
    [13760, 13768) 'ref.tmp2.i.i.i'
    [13792, 13808) 'retval.i.i.i.i.i'
    [13824, 13840) 'retval.i.i.i.i'
    [13856, 13857) 'ref.tmp.i.i.i.i'
    [13872, 13873) 'ref.tmp2.i.i.i.i'
    [13888, 13904) 'retval.i11.i.i'
    [13920, 13924) 's.i.i.i'
    [13936, 13937) 'd.i.i.i'
    [13952, 13953) 'ref.tmp.i.i.i'
    [13968, 13976) 'retval.i.i.i'
    [14000, 14016) 'retval.i.i'
    [14032, 14048) 'that.i.i'
    [14064, 14065) 'ref.tmp.i.i'
    [14080, 14081) 'ref.tmp3.i.i'
    [14096, 14097) 'ref.tmp7.i.i'
    [14112, 14128) 'retval.i'
    [14144, 14145) 'ref.tmp.i'
    [14160, 14164) 'test' (line 43)
    [14176, 14184) 'cptr' (line 44)
    [14208, 14216) 'ptr' (line 45)
    [14240, 14256) 'ref.tmp' (line 47)
    [14272, 14280) 'ref.tmp1' (line 47)
    [14304, 14312) 'ref.tmp3' (line 47)
    [14336, 14352) 'ref.tmp8' (line 48)
    [14368, 14376) 'ref.tmp9' (line 48)
    [14400, 14408) 'ref.tmp13' (line 48)
    [14432, 14448) 'ref.tmp22' (line 49)
    [14464, 14472) 'ref.tmp23' (line 49)
    [14496, 14520) 'ref.tmp31' (line 51)
    [14560, 14564) 'ref.tmp32' (line 51)
    [14576, 14592) 'ref.tmp33' (line 51)
    [14608, 14616) 'ref.tmp34' (line 51)
    [14640, 14648) 'ref.tmp38' (line 51)
    [14672, 14704) 'ref.tmp47' (line 55)
    [14736, 14760) 'ref.tmp48' (line 55)
    [14800, 14808) 'ref.tmp49' (line 55)
    [14832, 14848) 'ref.tmp53' (line 55)
    [14864, 14868) 'ref.tmp54' (line 55)
    [14880, 14884) 'i' (line 56)
    [14896, 14928) 'ref.tmp64' (line 57)
    [14960, 14984) 'ref.tmp65' (line 57)
    [15024, 15040) 'ref.tmp66' (line 57)
    [15056, 15080) 'ref.tmp73' (line 59)
    [15120, 15144) 'ref.tmp74' (line 59)
    [15184, 15192) 'ref.tmp75' (line 59)
    [15216, 15232) 'ref.tmp79' (line 59)
    [15248, 15280) 'ref.tmp86' (line 61)
    [15312, 15336) 'ref.tmp87' (line 61)
    [15376, 15392) 'ref.tmp88' (line 61)
    [15408, 15412) 'ref.tmp89' (line 61)
    [15424, 15448) 'ref.tmp96' (line 62)
    [15488, 15512) 'ref.tmp97' (line 62)
    [15552, 15568) 'ref.tmp98' (line 62)
    [15584, 15600) 'sptr' (line 64)
    [15616, 15632) 'ref.tmp105' (line 66)
    [15648, 15656) 'ref.tmp106' (line 66)
    [15680, 15712) 'ref.tmp117' (line 67)
    [15744, 15768) 'ref.tmp118' (line 67)
    [15808, 15824) 'ref.tmp119' (line 67)
    [15840, 15844) 'ref.tmp122' (line 67)
    [15856, 15864) 'scptr' (line 69)
    [15888, 15904) 'ref.tmp139' (line 71)
    [15920, 15928) 'ref.tmp140' (line 71)
    [15952, 15984) 'ref.tmp155' (line 72)
    [16016, 16040) 'ref.tmp156' (line 72)
    [16080, 16096) 'ref.tmp157' (line 72)
    [16112, 16116) 'ref.tmp160' (line 72)
    [16128, 16144) 'csptr' (line 74)
    [16160, 16176) 'ref.tmp180' (line 76)
    [16192, 16200) 'ref.tmp181' (line 76)
    [16224, 16256) 'ref.tmp196' (line 77)
    [16288, 16312) 'ref.tmp197' (line 77)
    [16352, 16368) 'ref.tmp198' (line 77)
    [16384, 16388) 'ref.tmp201' (line 77)
    [16400, 16408) 'cscptr' (line 79)
    [16432, 16448) 'ref.tmp220' (line 81)
    [16464, 16472) 'ref.tmp221' (line 81)
    [16496, 16528) 'ref.tmp236' (line 82)
    [16560, 16584) 'ref.tmp237' (line 82)
    [16624, 16640) 'ref.tmp238' (line 82)
    [16656, 16660) 'ref.tmp241' (line 82)
    [16672, 16680) 'aptr' (line 87)
    [16704, 16720) 'ref.tmp260' (line 90)
    [16736, 16744) 'ref.tmp261' (line 90)
    [16768, 16800) 'ref.tmp276' (line 91)
    [16832, 16856) 'ref.tmp277' (line 91)
    [16896, 16912) 'ref.tmp278' (line 91)
    [16928, 16932) 'ref.tmp281' (line 91)
    [16944, 16952) 'captr' (line 96)
    [16976, 16992) 'ref.tmp300' (line 99)
    [17008, 17016) 'ref.tmp301' (line 99)
    [17040, 17072) 'ref.tmp316' (line 100)
    [17104, 17128) 'ref.tmp317' (line 100)
    [17168, 17184) 'ref.tmp318' (line 100)
    [17200, 17204) 'ref.tmp321' (line 100)
HINT: this may be a false positive if your program uses some custom stack unwind mechanism, swapcontext or vfork
      (longjmp and C++ exceptions *are* supported)
SUMMARY: AddressSanitizer: stack-use-after-scope (boost-root/bin.v2/libs/phoenix/test/member.test/clang-linux-7/debug/visibility-hidden/member+0x4e9374) in __asan_memcpy
Shadow bytes around the buggy address:
  0x100023a30cf0: f8 f2 00 00 f2 f2 f8 f2 f8 f2 f8 f2 01 f2 f8 f8
  0x100023a30d00: f8 f2 f2 f2 f2 f2 f8 f2 f8 f2 f8 f2 f8 f2 00 00
  0x100023a30d10: f2 f2 00 00 f2 f2 f8 f2 f8 f2 00 00 f2 f2 f8 f2
  0x100023a30d20: f8 f2 f8 f2 00 00 f2 f2 00 00 f2 f2 00 00 f2 f2
  0x100023a30d30: f8 f2 f8 f8 f2 f2 f8 f2 f8 f2 f8 f2 f8 f2 f8 f2
=>0x100023a30d40: 00 00 f2 f2 f8 f2 f8 f2 f8 f2 00 f2 f2 f2[f8]f8
  0x100023a30d50: f8 f2 f2 f2 f2 f2 f8 f2 f8 f2 f8 f2 f8 f2 f8 f2
  0x100023a30d60: f8 f8 f8 f2 f2 f2 f2 f2 f8 f2 f8 f2 f8 f2 f8 f2
  0x100023a30d70: f8 f2 f8 f2 04 f2 04 f2 f8 f2 f8 f2 04 f2 f8 f2
  0x100023a30d80: f8 f2 f8 f2 04 f2 04 f2 04 f2 f8 f2 f8 f2 04 f2
  0x100023a30d90: f8 f2 f8 f8 f2 f2 f8 f2 00 f2 f2 f2 00 f2 f2 f2
Shadow byte legend (one shadow byte represents 8 application bytes):
  Addressable:           00
  Partially addressable: 01 02 03 04 05 06 07 
  Heap left redzone:       fa
  Freed heap region:       fd
  Stack left redzone:      f1
  Stack mid redzone:       f2
  Stack right redzone:     f3
  Stack after return:      f5
  Stack use after scope:   f8
  Global redzone:          f9
  Global init order:       f6
  Poisoned by user:        f7
  Container overflow:      fc
  Array cookie:            ac
  Intra object redzone:    bb
  ASan internal:           fe
  Left alloca redzone:     ca
  Right alloca redzone:    cb
  Shadow gap:              cc
==12333==ABORTING

EXIT STATUS: 1
====== END OUTPUT ======

UBSAN_OPTIONS=print_stacktrace=1 ./b2 -j3 libs/phoenix/test toolset=clang-7 cxxflags=-fno-omit-frame-pointer cxxflags=-fsanitize=address cxxflags=-fno-sanitize-recover=all linkflags=-fsanitize=address cxxstd=11

testing.capture-output bin.v2/libs/phoenix/test/member.test/clang-linux-7/debug/cxxstd-11-iso/visibility-hidden/member.run
====== BEGIN OUTPUT ======
=================================================================
==15436==ERROR: AddressSanitizer: stack-use-after-scope on address 0x7ffcd59005f0 at pc 0x0000004e9375 bp 0x7ffcd58fd710 sp 0x7ffcd58fcec0
READ of size 8 at 0x7ffcd59005f0 thread T0
    #0 0x4e9374 in __asan_memcpy (boost-root/bin.v2/libs/phoenix/test/member.test/clang-linux-7/debug/cxxstd-11-iso/visibility-hidden/member+0x4e9374)
    #1 0x54cdb0 in boost::proto::domainns_::domain<boost::proto::basic_default_generator, boost::proto::_, boost::proto::domainns_::basic_default_domain>::as_expr<boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<(anonymous namespace)::Test*>, 0l> > const, void, boost::proto::callable>::operator()(boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<(anonymous namespace)::Test*>, 0l> > const&) const boost-root/./boost/proto/domain.hpp:153:28
    #2 0x54cdb0 in boost::proto::detail::make_expr_<boost::phoenix::tag::mem_fun_ptr, boost::phoenix::phoenix_default_domain, boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<(anonymous namespace)::Test*>, 0l> > const, int ((anonymous namespace)::Test::* const)(int) const, boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<int>, 0l> > const, void, void, void, void, void, void, void, void>::operator()(boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<(anonymous namespace)::Test*>, 0l> > const&, int ((anonymous namespace)::Test::* const&)(int) const, boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<int>, 0l> > const&) const boost-root/./boost/proto/detail/preprocessed/make_expr_.hpp:108
    #3 0x54cdb0 in boost::proto::result_of::make_expr<boost::phoenix::tag::mem_fun_ptr, boost::phoenix::phoenix_default_domain, boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<(anonymous namespace)::Test*>, 0l> > const, int ((anonymous namespace)::Test::* const)(int) const, boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<int>, 0l> > const, void, void, void, void, void, void, void, void>::type const boost::proto::make_expr<boost::phoenix::tag::mem_fun_ptr, boost::phoenix::phoenix_default_domain, boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<(anonymous namespace)::Test*>, 0l> >, int ((anonymous namespace)::Test::*)(int) const, boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<int>, 0l> > >(boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<(anonymous namespace)::Test*>, 0l> > const&, int ((anonymous namespace)::Test::* const&)(int) const, boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<int>, 0l> > const&) boost-root/./boost/proto/detail/preprocessed/make_expr.hpp:74
    #4 0x54cdb0 in boost::phoenix::expr_ext<boost::phoenix::actor, boost::phoenix::tag::mem_fun_ptr, boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<(anonymous namespace)::Test*>, 0l> >, int ((anonymous namespace)::Test::*)(int) const, boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<int>, 0l> > >::make(boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<(anonymous namespace)::Test*>, 0l> > const&, int ((anonymous namespace)::Test::* const&)(int) const, boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<int>, 0l> > const&) boost-root/./boost/phoenix/core/expression.hpp:71
    #5 0x545b0a in boost::phoenix::expression::mem_fun_ptr<boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<(anonymous namespace)::Test*>, 0l> >, int ((anonymous namespace)::Test::*)(int) const, boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<int>, 0l> > >::type const boost::phoenix::detail::mem_fun_ptr_gen<boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<(anonymous namespace)::Test*>, 0l> >, int ((anonymous namespace)::Test::*)(int) const>::operator()<boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<int>, 0l> > >(boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<int>, 0l> > const&) const boost-root/./boost/phoenix/operator/detail/cpp03/preprocessed/mem_fun_ptr_gen_10.hpp:36:24
    #6 0x537699 in main boost-root/libs/phoenix/test/operator/member.cpp:55:5
    #7 0x7f60834c42e0 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x202e0)
    #8 0x41df69 in _start (boost-root/bin.v2/libs/phoenix/test/member.test/clang-linux-7/debug/cxxstd-11-iso/visibility-hidden/member+0x41df69)

Address 0x7ffcd59005f0 is located in stack of thread T0 at offset 10832 in frame
    #0 0x52e46f in main boost-root/libs/phoenix/test/operator/member.cpp:35

  This frame has 701 object(s):
    [32, 48) 'retval.i.i.i.i.i.i2268'
    [64, 80) 'retval.i.i8.i.i.i2272'
    [96, 97) 'ref.tmp.i.i.i12.i.i2277'
    [112, 113) 'ref.tmp2.i.i.i13.i.i2278'
    [128, 144) 'retval.i9.i.i.i2279'
    [160, 164) 's.i.i.i.i2282'
    [176, 177) 'd.i.i.i.i2283'
    [192, 193) 'ref.tmp.i.i16.i.i2284'
    [208, 224) 'retval.i.i.i.i.i2285'
    [240, 256) 'retval.i.i.i.i2289'
    [272, 288) 'retval.i18.i.i2291'
    [304, 305) 'ref.tmp.i20.i.i2294'
    [320, 336) 'ref.tmp2.i.i.i2295'
    [352, 353) 'ref.tmp.i.i.i.i.i2301'
    [368, 369) 'ref.tmp2.i.i.i.i.i2302'
    [384, 385) 'ref.tmp.i.i.i.i2308'
    [400, 401) 'ref.tmp2.i.i.i.i2309'
    [416, 417) 'ref.tmp4.i.i.i.i2310'
    [432, 448) 'coerce.i.i.i.i2311'
    [464, 468) 's.i.i.i2314'
    [480, 481) 'd.i.i.i2315'
    [496, 497) 'ref.tmp.i.i.i2316'
    [512, 513) 'retval.i.i.i2317'
    [528, 552) 'that.i.i2323'
    [592, 593) 'ref.tmp.i.i2324'
    [608, 609) 'ref.tmp2.i.i2326'
    [624, 625) 'ref.tmp4.i.i2327'
    [640, 641) 'ref.tmp.i2330'
    [656, 664) 'retval.i.i.i.i.i.i2172'
    [688, 696) 'retval.i.i8.i.i.i2176'
    [720, 721) 'ref.tmp.i.i.i.i.i2181'
    [736, 737) 'ref.tmp2.i.i.i.i.i2182'
    [752, 760) 'retval.i9.i.i.i2183'
    [784, 788) 's.i.i.i.i2186'
    [800, 801) 'd.i.i.i.i2187'
    [816, 817) 'ref.tmp.i.i14.i.i2188'
    [832, 840) 'retval.i.i.i15.i.i2189'
    [864, 872) 'retval.i.i17.i.i2193'
    [896, 904) 'retval.i18.i.i2195'
    [928, 929) 'ref.tmp.i20.i.i2198'
    [944, 952) 'ref.tmp2.i.i.i2199'
    [976, 992) 'retval.i.i.i.i.i2200'
    [1008, 1024) 'retval.i.i.i.i2204'
    [1040, 1041) 'ref.tmp.i.i.i.i2209'
    [1056, 1057) 'ref.tmp2.i.i.i.i2210'
    [1072, 1088) 'retval.i6.i.i2211'
    [1104, 1108) 's.i.i.i2214'
    [1120, 1121) 'd.i.i.i2215'
    [1136, 1137) 'ref.tmp.i.i.i2216'
    [1152, 1153) 'retval.i.i.i2217'
    [1168, 1184) 'retval.i.i2220'
    [1200, 1216) 'that.i.i2224'
    [1232, 1233) 'ref.tmp.i.i2225'
    [1248, 1249) 'ref.tmp2.i.i2227'
    [1264, 1265) 'ref.tmp4.i.i2228'
    [1280, 1296) 'retval.i2229'
    [1312, 1313) 'ref.tmp.i2232'
    [1328, 1344) 'retval.i.i.i.i.i.i2069'
    [1360, 1376) 'retval.i.i8.i.i.i2073'
    [1392, 1393) 'ref.tmp.i.i.i12.i.i2078'
    [1408, 1409) 'ref.tmp2.i.i.i13.i.i2079'
    [1424, 1440) 'retval.i9.i.i.i2080'
    [1456, 1460) 's.i.i.i.i2083'
    [1472, 1473) 'd.i.i.i.i2084'
    [1488, 1489) 'ref.tmp.i.i16.i.i2085'
    [1504, 1520) 'retval.i.i.i.i.i2086'
    [1536, 1552) 'retval.i.i.i.i2090'
    [1568, 1584) 'retval.i18.i.i2092'
    [1600, 1601) 'ref.tmp.i20.i.i2095'
    [1616, 1632) 'ref.tmp2.i.i.i2096'
    [1648, 1649) 'ref.tmp.i.i.i.i.i2102'
    [1664, 1665) 'ref.tmp2.i.i.i.i.i2103'
    [1680, 1681) 'ref.tmp.i.i.i.i2109'
    [1696, 1697) 'ref.tmp2.i.i.i.i2110'
    [1712, 1713) 'ref.tmp4.i.i.i.i2111'
    [1728, 1744) 'coerce.i.i.i.i2112'
    [1760, 1764) 's.i.i.i2115'
    [1776, 1777) 'd.i.i.i2116'
    [1792, 1793) 'ref.tmp.i.i.i2117'
    [1808, 1809) 'retval.i.i.i2118'
    [1824, 1848) 'that.i.i2124'
    [1888, 1889) 'ref.tmp.i.i2125'
    [1904, 1905) 'ref.tmp2.i.i2127'
    [1920, 1921) 'ref.tmp4.i.i2128'
    [1936, 1937) 'ref.tmp.i2131'
    [1952, 1960) 'retval.i.i.i.i.i.i1973'
    [1984, 1992) 'retval.i.i8.i.i.i1977'
    [2016, 2017) 'ref.tmp.i.i.i.i.i1982'
    [2032, 2033) 'ref.tmp2.i.i.i.i.i1983'
    [2048, 2056) 'retval.i9.i.i.i1984'
    [2080, 2084) 's.i.i.i.i1987'
    [2096, 2097) 'd.i.i.i.i1988'
    [2112, 2113) 'ref.tmp.i.i14.i.i1989'
    [2128, 2136) 'retval.i.i.i15.i.i1990'
    [2160, 2168) 'retval.i.i17.i.i1994'
    [2192, 2200) 'retval.i18.i.i1996'
    [2224, 2225) 'ref.tmp.i20.i.i1999'
    [2240, 2248) 'ref.tmp2.i.i.i2000'
    [2272, 2288) 'retval.i.i.i.i.i2001'
    [2304, 2320) 'retval.i.i.i.i2005'
    [2336, 2337) 'ref.tmp.i.i.i.i2010'
    [2352, 2353) 'ref.tmp2.i.i.i.i2011'
    [2368, 2384) 'retval.i6.i.i2012'
    [2400, 2404) 's.i.i.i2015'
    [2416, 2417) 'd.i.i.i2016'
    [2432, 2433) 'ref.tmp.i.i.i2017'
    [2448, 2449) 'retval.i.i.i2018'
    [2464, 2480) 'retval.i.i2021'
    [2496, 2512) 'that.i.i2025'
    [2528, 2529) 'ref.tmp.i.i2026'
    [2544, 2545) 'ref.tmp2.i.i2028'
    [2560, 2561) 'ref.tmp4.i.i2029'
    [2576, 2592) 'retval.i2030'
    [2608, 2609) 'ref.tmp.i2033'
    [2624, 2640) 'retval.i.i.i.i.i.i1870'
    [2656, 2672) 'retval.i.i8.i.i.i1874'
    [2688, 2689) 'ref.tmp.i.i.i12.i.i1879'
    [2704, 2705) 'ref.tmp2.i.i.i13.i.i1880'
    [2720, 2736) 'retval.i9.i.i.i1881'
    [2752, 2756) 's.i.i.i.i1884'
    [2768, 2769) 'd.i.i.i.i1885'
    [2784, 2785) 'ref.tmp.i.i16.i.i1886'
    [2800, 2816) 'retval.i.i.i.i.i1887'
    [2832, 2848) 'retval.i.i.i.i1891'
    [2864, 2880) 'retval.i18.i.i1893'
    [2896, 2897) 'ref.tmp.i20.i.i1896'
    [2912, 2928) 'ref.tmp2.i.i.i1897'
    [2944, 2945) 'ref.tmp.i.i.i.i.i1903'
    [2960, 2961) 'ref.tmp2.i.i.i.i.i1904'
    [2976, 2977) 'ref.tmp.i.i.i.i1910'
    [2992, 2993) 'ref.tmp2.i.i.i.i1911'
    [3008, 3009) 'ref.tmp4.i.i.i.i1912'
    [3024, 3040) 'coerce.i.i.i.i1913'
    [3056, 3060) 's.i.i.i1916'
    [3072, 3073) 'd.i.i.i1917'
    [3088, 3089) 'ref.tmp.i.i.i1918'
    [3104, 3105) 'retval.i.i.i1919'
    [3120, 3144) 'that.i.i1925'
    [3184, 3185) 'ref.tmp.i.i1926'
    [3200, 3201) 'ref.tmp2.i.i1928'
    [3216, 3217) 'ref.tmp4.i.i1929'
    [3232, 3233) 'ref.tmp.i1932'
    [3248, 3256) 'retval.i.i.i.i.i.i1774'
    [3280, 3288) 'retval.i.i8.i.i.i1778'
    [3312, 3313) 'ref.tmp.i.i.i.i.i1783'
    [3328, 3329) 'ref.tmp2.i.i.i.i.i1784'
    [3344, 3352) 'retval.i9.i.i.i1785'
    [3376, 3380) 's.i.i.i.i1788'
    [3392, 3393) 'd.i.i.i.i1789'
    [3408, 3409) 'ref.tmp.i.i14.i.i1790'
    [3424, 3432) 'retval.i.i.i15.i.i1791'
    [3456, 3464) 'retval.i.i17.i.i1795'
    [3488, 3496) 'retval.i18.i.i1797'
    [3520, 3521) 'ref.tmp.i20.i.i1800'
    [3536, 3544) 'ref.tmp2.i.i.i1801'
    [3568, 3584) 'retval.i.i.i.i.i1802'
    [3600, 3616) 'retval.i.i.i.i1806'
    [3632, 3633) 'ref.tmp.i.i.i.i1811'
    [3648, 3649) 'ref.tmp2.i.i.i.i1812'
    [3664, 3680) 'retval.i6.i.i1813'
    [3696, 3700) 's.i.i.i1816'
    [3712, 3713) 'd.i.i.i1817'
    [3728, 3729) 'ref.tmp.i.i.i1818'
    [3744, 3745) 'retval.i.i.i1819'
    [3760, 3776) 'retval.i.i1822'
    [3792, 3808) 'that.i.i1826'
    [3824, 3825) 'ref.tmp.i.i1827'
    [3840, 3841) 'ref.tmp2.i.i1829'
    [3856, 3857) 'ref.tmp4.i.i1830'
    [3872, 3888) 'retval.i1831'
    [3904, 3905) 'ref.tmp.i1834'
    [3920, 3936) 'retval.i.i.i.i.i.i1671'
    [3952, 3968) 'retval.i.i8.i.i.i1675'
    [3984, 3985) 'ref.tmp.i.i.i12.i.i1680'
    [4000, 4001) 'ref.tmp2.i.i.i13.i.i1681'
    [4016, 4032) 'retval.i9.i.i.i1682'
    [4048, 4052) 's.i.i.i.i1685'
    [4064, 4065) 'd.i.i.i.i1686'
    [4080, 4081) 'ref.tmp.i.i16.i.i1687'
    [4096, 4112) 'retval.i.i.i.i.i1688'
    [4128, 4144) 'retval.i.i.i.i1692'
    [4160, 4176) 'retval.i18.i.i1694'
    [4192, 4193) 'ref.tmp.i20.i.i1697'
    [4208, 4224) 'ref.tmp2.i.i.i1698'
    [4240, 4241) 'ref.tmp.i.i.i.i.i1704'
    [4256, 4257) 'ref.tmp2.i.i.i.i.i1705'
    [4272, 4273) 'ref.tmp.i.i.i.i1711'
    [4288, 4289) 'ref.tmp2.i.i.i.i1712'
    [4304, 4305) 'ref.tmp4.i.i.i.i1713'
    [4320, 4336) 'coerce.i.i.i.i1714'
    [4352, 4356) 's.i.i.i1717'
    [4368, 4369) 'd.i.i.i1718'
    [4384, 4385) 'ref.tmp.i.i.i1719'
    [4400, 4401) 'retval.i.i.i1720'
    [4416, 4440) 'that.i.i1726'
    [4480, 4481) 'ref.tmp.i.i1727'
    [4496, 4497) 'ref.tmp2.i.i1729'
    [4512, 4513) 'ref.tmp4.i.i1730'
    [4528, 4529) 'ref.tmp.i1733'
    [4544, 4552) 'retval.i.i.i.i.i.i1575'
    [4576, 4584) 'retval.i.i8.i.i.i1579'
    [4608, 4609) 'ref.tmp.i.i.i.i.i1584'
    [4624, 4625) 'ref.tmp2.i.i.i.i.i1585'
    [4640, 4648) 'retval.i9.i.i.i1586'
    [4672, 4676) 's.i.i.i.i1589'
    [4688, 4689) 'd.i.i.i.i1590'
    [4704, 4705) 'ref.tmp.i.i14.i.i1591'
    [4720, 4728) 'retval.i.i.i15.i.i1592'
    [4752, 4760) 'retval.i.i17.i.i1596'
    [4784, 4792) 'retval.i18.i.i1598'
    [4816, 4817) 'ref.tmp.i20.i.i1601'
    [4832, 4840) 'ref.tmp2.i.i.i1602'
    [4864, 4880) 'retval.i.i.i.i.i1603'
    [4896, 4912) 'retval.i.i.i.i1607'
    [4928, 4929) 'ref.tmp.i.i.i.i1612'
    [4944, 4945) 'ref.tmp2.i.i.i.i1613'
    [4960, 4976) 'retval.i6.i.i1614'
    [4992, 4996) 's.i.i.i1617'
    [5008, 5009) 'd.i.i.i1618'
    [5024, 5025) 'ref.tmp.i.i.i1619'
    [5040, 5041) 'retval.i.i.i1620'
    [5056, 5072) 'retval.i.i1623'
    [5088, 5104) 'that.i.i1627'
    [5120, 5121) 'ref.tmp.i.i1628'
    [5136, 5137) 'ref.tmp2.i.i1630'
    [5152, 5153) 'ref.tmp4.i.i1631'
    [5168, 5184) 'retval.i1632'
    [5200, 5201) 'ref.tmp.i1635'
    [5216, 5232) 'retval.i.i.i.i.i.i1472'
    [5248, 5264) 'retval.i.i8.i.i.i1476'
    [5280, 5281) 'ref.tmp.i.i.i12.i.i1481'
    [5296, 5297) 'ref.tmp2.i.i.i13.i.i1482'
    [5312, 5328) 'retval.i9.i.i.i1483'
    [5344, 5348) 's.i.i.i.i1486'
    [5360, 5361) 'd.i.i.i.i1487'
    [5376, 5377) 'ref.tmp.i.i16.i.i1488'
    [5392, 5408) 'retval.i.i.i.i.i1489'
    [5424, 5440) 'retval.i.i.i.i1493'
    [5456, 5472) 'retval.i18.i.i1495'
    [5488, 5489) 'ref.tmp.i20.i.i1498'
    [5504, 5520) 'ref.tmp2.i.i.i1499'
    [5536, 5537) 'ref.tmp.i.i.i.i.i1505'
    [5552, 5553) 'ref.tmp2.i.i.i.i.i1506'
    [5568, 5569) 'ref.tmp.i.i.i.i1512'
    [5584, 5585) 'ref.tmp2.i.i.i.i1513'
    [5600, 5601) 'ref.tmp4.i.i.i.i1514'
    [5616, 5632) 'coerce.i.i.i.i1515'
    [5648, 5652) 's.i.i.i1518'
    [5664, 5665) 'd.i.i.i1519'
    [5680, 5681) 'ref.tmp.i.i.i1520'
    [5696, 5697) 'retval.i.i.i1521'
    [5712, 5736) 'that.i.i1527'
    [5776, 5777) 'ref.tmp.i.i1528'
    [5792, 5793) 'ref.tmp2.i.i1530'
    [5808, 5809) 'ref.tmp4.i.i1531'
    [5824, 5825) 'ref.tmp.i1534'
    [5840, 5848) 'retval.i.i.i.i.i.i1376'
    [5872, 5880) 'retval.i.i8.i.i.i1380'
    [5904, 5905) 'ref.tmp.i.i.i.i.i1385'
    [5920, 5921) 'ref.tmp2.i.i.i.i.i1386'
    [5936, 5944) 'retval.i9.i.i.i1387'
    [5968, 5972) 's.i.i.i.i1390'
    [5984, 5985) 'd.i.i.i.i1391'
    [6000, 6001) 'ref.tmp.i.i14.i.i1392'
    [6016, 6024) 'retval.i.i.i15.i.i1393'
    [6048, 6056) 'retval.i.i17.i.i1397'
    [6080, 6088) 'retval.i18.i.i1399'
    [6112, 6113) 'ref.tmp.i20.i.i1402'
    [6128, 6136) 'ref.tmp2.i.i.i1403'
    [6160, 6176) 'retval.i.i.i.i.i1404'
    [6192, 6208) 'retval.i.i.i.i1408'
    [6224, 6225) 'ref.tmp.i.i.i.i1413'
    [6240, 6241) 'ref.tmp2.i.i.i.i1414'
    [6256, 6272) 'retval.i6.i.i1415'
    [6288, 6292) 's.i.i.i1418'
    [6304, 6305) 'd.i.i.i1419'
    [6320, 6321) 'ref.tmp.i.i.i1420'
    [6336, 6337) 'retval.i.i.i1421'
    [6352, 6368) 'retval.i.i1424'
    [6384, 6400) 'that.i.i1428'
    [6416, 6417) 'ref.tmp.i.i1429'
    [6432, 6433) 'ref.tmp2.i.i1431'
    [6448, 6449) 'ref.tmp4.i.i1432'
    [6464, 6480) 'retval.i1433'
    [6496, 6497) 'ref.tmp.i1436'
    [6512, 6528) 'retval.i.i.i.i.i.i1274'
    [6544, 6560) 'retval.i.i8.i.i.i1278'
    [6576, 6577) 'ref.tmp.i.i.i12.i.i1283'
    [6592, 6593) 'ref.tmp2.i.i.i13.i.i1284'
    [6608, 6624) 'retval.i9.i.i.i1285'
    [6640, 6644) 's.i.i.i.i1288'
    [6656, 6657) 'd.i.i.i.i1289'
    [6672, 6673) 'ref.tmp.i.i16.i.i1290'
    [6688, 6704) 'retval.i.i.i.i.i1291'
    [6720, 6736) 'retval.i.i.i.i1295'
    [6752, 6768) 'retval.i18.i.i1297'
    [6784, 6785) 'ref.tmp.i20.i.i1300'
    [6800, 6816) 'ref.tmp2.i.i.i1301'
    [6832, 6833) 'ref.tmp.i.i.i.i.i1307'
    [6848, 6849) 'ref.tmp2.i.i.i.i.i1308'
    [6864, 6865) 'ref.tmp.i.i.i.i1314'
    [6880, 6881) 'ref.tmp2.i.i.i.i1315'
    [6896, 6897) 'ref.tmp4.i.i.i.i1316'
    [6912, 6928) 'coerce.i.i.i.i1317'
    [6944, 6948) 's.i.i.i1320'
    [6960, 6961) 'd.i.i.i1321'
    [6976, 6977) 'ref.tmp.i.i.i1322'
    [6992, 6993) 'retval.i.i.i1323'
    [7008, 7032) 'that.i.i1329'
    [7072, 7073) 'ref.tmp.i.i1330'
    [7088, 7089) 'ref.tmp2.i.i1332'
    [7104, 7105) 'ref.tmp4.i.i1333'
    [7120, 7121) 'ref.tmp.i1336'
    [7136, 7144) 'retval.i.i.i.i.i.i1178'
    [7168, 7176) 'retval.i.i8.i.i.i1182'
    [7200, 7201) 'ref.tmp.i.i.i.i.i1187'
    [7216, 7217) 'ref.tmp2.i.i.i.i.i1188'
    [7232, 7240) 'retval.i9.i.i.i1189'
    [7264, 7268) 's.i.i.i.i1192'
    [7280, 7281) 'd.i.i.i.i1193'
    [7296, 7297) 'ref.tmp.i.i14.i.i1194'
    [7312, 7320) 'retval.i.i.i15.i.i1195'
    [7344, 7352) 'retval.i.i17.i.i1199'
    [7376, 7384) 'retval.i18.i.i1201'
    [7408, 7409) 'ref.tmp.i20.i.i1204'
    [7424, 7432) 'ref.tmp2.i.i.i1205'
    [7456, 7472) 'retval.i.i.i.i.i1206'
    [7488, 7504) 'retval.i.i.i.i1210'
    [7520, 7521) 'ref.tmp.i.i.i.i1215'
    [7536, 7537) 'ref.tmp2.i.i.i.i1216'
    [7552, 7568) 'retval.i6.i.i1217'
    [7584, 7588) 's.i.i.i1220'
    [7600, 7601) 'd.i.i.i1221'
    [7616, 7617) 'ref.tmp.i.i.i1222'
    [7632, 7633) 'retval.i.i.i1223'
    [7648, 7664) 'retval.i.i1226'
    [7680, 7696) 'that.i.i1230'
    [7712, 7713) 'ref.tmp.i.i1231'
    [7728, 7729) 'ref.tmp2.i.i1233'
    [7744, 7745) 'ref.tmp4.i.i1234'
    [7760, 7776) 'retval.i1235'
    [7792, 7793) 'ref.tmp.i1238'
    [7808, 7824) 'retval.i.i.i.i.i.i1079'
    [7840, 7856) 'retval.i.i8.i.i.i1083'
    [7872, 7873) 'ref.tmp.i.i.i12.i.i1088'
    [7888, 7889) 'ref.tmp2.i.i.i13.i.i1089'
    [7904, 7920) 'retval.i9.i.i.i1090'
    [7936, 7940) 's.i.i.i.i1093'
    [7952, 7953) 'd.i.i.i.i1094'
    [7968, 7969) 'ref.tmp.i.i16.i.i1095'
    [7984, 8000) 'retval.i.i.i.i.i1096'
    [8016, 8032) 'retval.i.i.i.i1100'
    [8048, 8064) 'retval.i18.i.i1102'
    [8080, 8081) 'ref.tmp.i20.i.i1105'
    [8096, 8112) 'ref.tmp2.i.i.i1106'
    [8128, 8129) 'ref.tmp.i.i.i.i.i1112'
    [8144, 8145) 'ref.tmp2.i.i.i.i.i1113'
    [8160, 8161) 'ref.tmp.i.i.i.i1119'
    [8176, 8177) 'ref.tmp2.i.i.i.i1120'
    [8192, 8193) 'ref.tmp4.i.i.i.i1121'
    [8208, 8224) 'coerce.i.i.i.i1122'
    [8240, 8244) 's.i.i.i1125'
    [8256, 8257) 'd.i.i.i1126'
    [8272, 8273) 'ref.tmp.i.i.i1127'
    [8288, 8289) 'retval.i.i.i1128'
    [8304, 8328) 'that.i.i1134'
    [8368, 8369) 'ref.tmp.i.i1135'
    [8384, 8385) 'ref.tmp2.i.i1137'
    [8400, 8401) 'ref.tmp4.i.i1138'
    [8416, 8417) 'ref.tmp.i1141'
    [8432, 8448) 'retval.i.i.i.i.i.i980'
    [8464, 8480) 'retval.i.i8.i.i.i984'
    [8496, 8497) 'ref.tmp.i.i.i12.i.i989'
    [8512, 8513) 'ref.tmp2.i.i.i13.i.i990'
    [8528, 8544) 'retval.i9.i.i.i991'
    [8560, 8564) 's.i.i.i.i994'
    [8576, 8577) 'd.i.i.i.i995'
    [8592, 8593) 'ref.tmp.i.i16.i.i996'
    [8608, 8624) 'retval.i.i.i.i.i997'
    [8640, 8656) 'retval.i.i.i.i1001'
    [8672, 8688) 'retval.i18.i.i1003'
    [8704, 8705) 'ref.tmp.i20.i.i1006'
    [8720, 8736) 'ref.tmp2.i.i.i1007'
    [8752, 8753) 'ref.tmp.i.i.i.i.i1013'
    [8768, 8769) 'ref.tmp2.i.i.i.i.i1014'
    [8784, 8785) 'ref.tmp.i.i.i.i1020'
    [8800, 8801) 'ref.tmp2.i.i.i.i1021'
    [8816, 8817) 'ref.tmp4.i.i.i.i1022'
    [8832, 8848) 'coerce.i.i.i.i1023'
    [8864, 8868) 's.i.i.i1026'
    [8880, 8881) 'd.i.i.i1027'
    [8896, 8897) 'ref.tmp.i.i.i1028'
    [8912, 8913) 'retval.i.i.i1029'
    [8928, 8952) 'that.i.i1035'
    [8992, 8993) 'ref.tmp.i.i1036'
    [9008, 9009) 'ref.tmp2.i.i1038'
    [9024, 9025) 'ref.tmp4.i.i1039'
    [9040, 9041) 'ref.tmp.i1042'
    [9056, 9072) 'retval.i.i.i.i.i.i877'
    [9088, 9104) 'retval.i.i8.i.i.i881'
    [9120, 9121) 'ref.tmp.i.i.i15.i.i886'
    [9136, 9137) 'ref.tmp2.i.i.i16.i.i887'
    [9152, 9168) 'retval.i9.i.i.i888'
    [9184, 9188) 's.i.i.i.i891'
    [9200, 9201) 'd.i.i.i.i892'
    [9216, 9217) 'ref.tmp.i.i19.i.i893'
    [9232, 9248) 'retval.i.i.i.i.i894'
    [9264, 9280) 'retval.i.i.i.i898'
    [9296, 9312) 'retval.i21.i.i900'
    [9328, 9329) 'ref.tmp.i23.i.i903'
    [9344, 9360) 'ref.tmp2.i.i.i904'
    [9376, 9377) 'ref.tmp.i.i.i.i.i910'
    [9392, 9393) 'ref.tmp2.i.i.i.i.i911'
    [9408, 9409) 'ref.tmp.i.i.i.i917'
    [9424, 9425) 'ref.tmp2.i.i.i.i918'
    [9440, 9441) 'ref.tmp4.i.i.i.i919'
    [9456, 9472) 'coerce.i.i.i.i920'
    [9488, 9492) 's.i.i.i923'
    [9504, 9505) 'd.i.i.i924'
    [9520, 9521) 'ref.tmp.i.i.i925'
    [9536, 9544) 'retval.i.i.i926'
    [9568, 9592) 'that.i.i932'
    [9632, 9633) 'ref.tmp.i.i933'
    [9648, 9649) 'ref.tmp3.i.i934'
    [9664, 9665) 'ref.tmp7.i.i935'
    [9680, 9681) 'ref.tmp.i938'
    [9696, 9712) 'retval.i.i.i.i.i.i792'
    [9728, 9744) 'retval.i.i8.i.i.i796'
    [9760, 9761) 'ref.tmp.i.i.i12.i.i'
    [9776, 9777) 'ref.tmp2.i.i.i13.i.i'
    [9792, 9808) 'retval.i9.i.i.i797'
    [9824, 9828) 's.i.i.i.i798'
    [9840, 9841) 'd.i.i.i.i799'
    [9856, 9857) 'ref.tmp.i.i16.i.i'
    [9872, 9888) 'retval.i.i.i.i.i800'
    [9904, 9920) 'retval.i.i.i.i803'
    [9936, 9952) 'retval.i18.i.i805'
    [9968, 9969) 'ref.tmp.i20.i.i808'
    [9984, 10000) 'ref.tmp2.i.i.i809'
    [10016, 10017) 'ref.tmp.i.i.i.i.i815'
    [10032, 10033) 'ref.tmp2.i.i.i.i.i816'
    [10048, 10049) 'ref.tmp.i.i.i.i822'
    [10064, 10065) 'ref.tmp2.i.i.i.i823'
    [10080, 10081) 'ref.tmp4.i.i.i.i824'
    [10096, 10112) 'coerce.i.i.i.i825'
    [10128, 10132) 's.i.i.i826'
    [10144, 10145) 'd.i.i.i827'
    [10160, 10161) 'ref.tmp.i.i.i828'
    [10176, 10177) 'retval.i.i.i829'
    [10192, 10216) 'that.i.i835'
    [10256, 10257) 'ref.tmp.i.i836'
    [10272, 10273) 'ref.tmp2.i.i838'
    [10288, 10289) 'ref.tmp4.i.i839'
    [10304, 10305) 'ref.tmp.i842'
    [10320, 10336) 'retval.i.i.i.i.i.i714'
    [10352, 10368) 'retval.i.i8.i.i.i718'
    [10384, 10385) 'ref.tmp.i.i.i15.i.i'
    [10400, 10401) 'ref.tmp2.i.i.i16.i.i'
    [10416, 10432) 'retval.i9.i.i.i719'
    [10448, 10452) 's.i.i.i.i720'
    [10464, 10465) 'd.i.i.i.i721'
    [10480, 10481) 'ref.tmp.i.i19.i.i'
    [10496, 10512) 'retval.i.i.i.i.i722'
    [10528, 10544) 'retval.i.i.i.i725'
    [10560, 10576) 'retval.i21.i.i'
    [10592, 10593) 'ref.tmp.i23.i.i'
    [10608, 10624) 'ref.tmp2.i.i.i728'
    [10640, 10641) 'ref.tmp.i.i.i.i.i733'
    [10656, 10657) 'ref.tmp2.i.i.i.i.i734'
    [10672, 10673) 'ref.tmp.i.i.i.i740'
    [10688, 10689) 'ref.tmp2.i.i.i.i741'
    [10704, 10705) 'ref.tmp4.i.i.i.i'
    [10720, 10736) 'coerce.i.i.i.i'
    [10752, 10756) 's.i.i.i742'
    [10768, 10769) 'd.i.i.i743'
    [10784, 10785) 'ref.tmp.i.i.i744'
    [10800, 10808) 'retval.i.i.i745'
    [10832, 10856) 'that.i.i751' <== Memory access at offset 10832 is inside this variable
    [10896, 10897) 'ref.tmp.i.i752'
    [10912, 10913) 'ref.tmp3.i.i753'
    [10928, 10929) 'ref.tmp7.i.i754'
    [10944, 10945) 'ref.tmp.i757'
    [10960, 10961) 'ref.tmp.i.i.i8.i'
    [10976, 11000) 'ref.tmp2.i.i.i.i649'
    [11040, 11041) 'ref.tmp3.i.i.i.i'
    [11056, 11057) 'ref.tmp.i.i10.i'
    [11072, 11073) 'ref.tmp2.i.i11.i'
    [11088, 11092) 's.i.i'
    [11104, 11105) 'd.i.i'
    [11120, 11121) 'ref.tmp.i12.i'
    [11136, 11140) 'retval.i.i.i.i.i.i652'
    [11152, 11156) 'retval.i.i8.i.i.i656'
    [11168, 11169) 'ref.tmp.i.i.i.i.i661'
    [11184, 11185) 'ref.tmp2.i.i.i.i.i662'
    [11200, 11204) 'retval.i9.i.i.i663'
    [11216, 11220) 's.i.i.i.i666'
    [11232, 11233) 'd.i.i.i.i667'
    [11248, 11249) 'ref.tmp.i.i.i.i668'
    [11264, 11268) 'retval.i.i.i.i.i669'
    [11280, 11284) 'retval.i.i.i.i673'
    [11296, 11300) 'retval.i.i.i675'
    [11312, 11313) 'ref.tmp.i.i.i678'
    [11328, 11332) 'ref.tmp2.i.i.i679'
    [11344, 11348) 'retval.i.i680'
    [11360, 11361) 'ref.tmp.i.i681'
    [11376, 11392) 'that.i'
    [11408, 11409) 'ref.tmp.i682'
    [11424, 11432) 'retval.i.i.i.i.i.i540'
    [11456, 11464) 'retval.i.i8.i.i.i544'
    [11488, 11489) 'ref.tmp.i.i.i.i.i549'
    [11504, 11505) 'ref.tmp2.i.i.i.i.i550'
    [11520, 11528) 'retval.i9.i.i.i551'
    [11552, 11556) 's.i.i.i.i554'
    [11568, 11569) 'd.i.i.i.i555'
    [11584, 11585) 'ref.tmp.i.i21.i.i556'
    [11600, 11608) 'retval.i.i.i22.i.i557'
    [11632, 11640) 'retval.i.i24.i.i561'
    [11664, 11672) 'retval.i25.i.i563'
    [11696, 11697) 'ref.tmp.i27.i.i566'
    [11712, 11720) 'ref.tmp2.i.i.i567'
    [11744, 11760) 'retval.i.i.i.i.i568'
    [11776, 11792) 'retval.i.i.i.i572'
    [11808, 11809) 'ref.tmp.i.i.i.i577'
    [11824, 11825) 'ref.tmp2.i.i.i.i578'
    [11840, 11856) 'retval.i11.i.i579'
    [11872, 11876) 's.i.i.i582'
    [11888, 11889) 'd.i.i.i583'
    [11904, 11905) 'ref.tmp.i.i.i584'
    [11920, 11928) 'retval.i.i.i585'
    [11952, 11968) 'retval.i.i588'
    [11984, 12000) 'that.i.i592'
    [12016, 12017) 'ref.tmp.i.i593'
    [12032, 12033) 'ref.tmp3.i.i594'
    [12048, 12049) 'ref.tmp7.i.i595'
    [12064, 12080) 'retval.i596'
    [12096, 12097) 'ref.tmp.i599'
    [12112, 12120) 'retval.i.i.i.i.i.i466'
    [12144, 12152) 'retval.i.i8.i.i.i470'
    [12176, 12177) 'ref.tmp.i.i.i.i.i473'
    [12192, 12193) 'ref.tmp2.i.i.i.i.i474'
    [12208, 12216) 'retval.i9.i.i.i475'
    [12240, 12244) 's.i.i.i.i476'
    [12256, 12257) 'd.i.i.i.i477'
    [12272, 12273) 'ref.tmp.i.i14.i.i'
    [12288, 12296) 'retval.i.i.i15.i.i'
    [12320, 12328) 'retval.i.i17.i.i'
    [12352, 12360) 'retval.i18.i.i'
    [12384, 12385) 'ref.tmp.i20.i.i'
    [12400, 12408) 'ref.tmp2.i.i.i482'
    [12432, 12448) 'retval.i.i.i.i.i483'
    [12464, 12480) 'retval.i.i.i.i487'
    [12496, 12497) 'ref.tmp.i.i.i.i492'
    [12512, 12513) 'ref.tmp2.i.i.i.i493'
    [12528, 12544) 'retval.i6.i.i'
    [12560, 12564) 's.i.i.i494'
    [12576, 12577) 'd.i.i.i495'
    [12592, 12593) 'ref.tmp.i.i.i496'
    [12608, 12609) 'retval.i.i.i497'
    [12624, 12640) 'retval.i.i500'
    [12656, 12672) 'that.i.i504'
    [12688, 12689) 'ref.tmp.i.i505'
    [12704, 12705) 'ref.tmp2.i.i'
    [12720, 12721) 'ref.tmp4.i.i'
    [12736, 12752) 'retval.i506'
    [12768, 12769) 'ref.tmp.i509'
    [12784, 12792) 'retval.i.i.i.i.i.i357'
    [12816, 12824) 'retval.i.i8.i.i.i361'
    [12848, 12849) 'ref.tmp.i.i.i.i.i366'
    [12864, 12865) 'ref.tmp2.i.i.i.i.i367'
    [12880, 12888) 'retval.i9.i.i.i368'
    [12912, 12916) 's.i.i.i.i371'
    [12928, 12929) 'd.i.i.i.i372'
    [12944, 12945) 'ref.tmp.i.i21.i.i373'
    [12960, 12968) 'retval.i.i.i22.i.i374'
    [12992, 13000) 'retval.i.i24.i.i378'
    [13024, 13032) 'retval.i25.i.i380'
    [13056, 13057) 'ref.tmp.i27.i.i383'
    [13072, 13080) 'ref.tmp2.i.i.i384'
    [13104, 13120) 'retval.i.i.i.i.i385'
    [13136, 13152) 'retval.i.i.i.i389'
    [13168, 13169) 'ref.tmp.i.i.i.i394'
    [13184, 13185) 'ref.tmp2.i.i.i.i395'
    [13200, 13216) 'retval.i11.i.i396'
    [13232, 13236) 's.i.i.i399'
    [13248, 13249) 'd.i.i.i400'
    [13264, 13265) 'ref.tmp.i.i.i401'
    [13280, 13288) 'retval.i.i.i402'
    [13312, 13328) 'retval.i.i405'
    [13344, 13360) 'that.i.i409'
    [13376, 13377) 'ref.tmp.i.i410'
    [13392, 13393) 'ref.tmp3.i.i411'
    [13408, 13409) 'ref.tmp7.i.i412'
    [13424, 13440) 'retval.i413'
    [13456, 13457) 'ref.tmp.i416'
    [13472, 13480) 'retval.i.i.i.i.i.i'
    [13504, 13512) 'retval.i.i8.i.i.i'
    [13536, 13537) 'ref.tmp.i.i.i.i.i'
    [13552, 13553) 'ref.tmp2.i.i.i.i.i'
    [13568, 13576) 'retval.i9.i.i.i'
    [13600, 13604) 's.i.i.i.i'
    [13616, 13617) 'd.i.i.i.i'
    [13632, 13633) 'ref.tmp.i.i21.i.i'
    [13648, 13656) 'retval.i.i.i22.i.i'
    [13680, 13688) 'retval.i.i24.i.i'
    [13712, 13720) 'retval.i25.i.i'
    [13744, 13745) 'ref.tmp.i27.i.i'
    [13760, 13768) 'ref.tmp2.i.i.i'
    [13792, 13808) 'retval.i.i.i.i.i'
    [13824, 13840) 'retval.i.i.i.i'
    [13856, 13857) 'ref.tmp.i.i.i.i'
    [13872, 13873) 'ref.tmp2.i.i.i.i'
    [13888, 13904) 'retval.i11.i.i'
    [13920, 13924) 's.i.i.i'
    [13936, 13937) 'd.i.i.i'
    [13952, 13953) 'ref.tmp.i.i.i'
    [13968, 13976) 'retval.i.i.i'
    [14000, 14016) 'retval.i.i'
    [14032, 14048) 'that.i.i'
    [14064, 14065) 'ref.tmp.i.i'
    [14080, 14081) 'ref.tmp3.i.i'
    [14096, 14097) 'ref.tmp7.i.i'
    [14112, 14128) 'retval.i'
    [14144, 14145) 'ref.tmp.i'
    [14160, 14164) 'test' (line 43)
    [14176, 14184) 'cptr' (line 44)
    [14208, 14216) 'ptr' (line 45)
    [14240, 14256) 'ref.tmp' (line 47)
    [14272, 14280) 'ref.tmp1' (line 47)
    [14304, 14312) 'ref.tmp3' (line 47)
    [14336, 14352) 'ref.tmp8' (line 48)
    [14368, 14376) 'ref.tmp9' (line 48)
    [14400, 14408) 'ref.tmp13' (line 48)
    [14432, 14448) 'ref.tmp22' (line 49)
    [14464, 14472) 'ref.tmp23' (line 49)
    [14496, 14520) 'ref.tmp31' (line 51)
    [14560, 14564) 'ref.tmp32' (line 51)
    [14576, 14592) 'ref.tmp33' (line 51)
    [14608, 14616) 'ref.tmp34' (line 51)
    [14640, 14648) 'ref.tmp38' (line 51)
    [14672, 14704) 'ref.tmp47' (line 55)
    [14736, 14760) 'ref.tmp48' (line 55)
    [14800, 14808) 'ref.tmp49' (line 55)
    [14832, 14848) 'ref.tmp53' (line 55)
    [14864, 14868) 'ref.tmp54' (line 55)
    [14880, 14884) 'i' (line 56)
    [14896, 14928) 'ref.tmp64' (line 57)
    [14960, 14984) 'ref.tmp65' (line 57)
    [15024, 15040) 'ref.tmp66' (line 57)
    [15056, 15080) 'ref.tmp73' (line 59)
    [15120, 15144) 'ref.tmp74' (line 59)
    [15184, 15192) 'ref.tmp75' (line 59)
    [15216, 15232) 'ref.tmp79' (line 59)
    [15248, 15280) 'ref.tmp86' (line 61)
    [15312, 15336) 'ref.tmp87' (line 61)
    [15376, 15392) 'ref.tmp88' (line 61)
    [15408, 15412) 'ref.tmp89' (line 61)
    [15424, 15448) 'ref.tmp96' (line 62)
    [15488, 15512) 'ref.tmp97' (line 62)
    [15552, 15568) 'ref.tmp98' (line 62)
    [15584, 15600) 'sptr' (line 64)
    [15616, 15632) 'ref.tmp105' (line 66)
    [15648, 15656) 'ref.tmp106' (line 66)
    [15680, 15712) 'ref.tmp117' (line 67)
    [15744, 15768) 'ref.tmp118' (line 67)
    [15808, 15824) 'ref.tmp119' (line 67)
    [15840, 15844) 'ref.tmp122' (line 67)
    [15856, 15864) 'scptr' (line 69)
    [15888, 15904) 'ref.tmp139' (line 71)
    [15920, 15928) 'ref.tmp140' (line 71)
    [15952, 15984) 'ref.tmp155' (line 72)
    [16016, 16040) 'ref.tmp156' (line 72)
    [16080, 16096) 'ref.tmp157' (line 72)
    [16112, 16116) 'ref.tmp160' (line 72)
    [16128, 16144) 'csptr' (line 74)
    [16160, 16176) 'ref.tmp180' (line 76)
    [16192, 16200) 'ref.tmp181' (line 76)
    [16224, 16256) 'ref.tmp196' (line 77)
    [16288, 16312) 'ref.tmp197' (line 77)
    [16352, 16368) 'ref.tmp198' (line 77)
    [16384, 16388) 'ref.tmp201' (line 77)
    [16400, 16408) 'cscptr' (line 79)
    [16432, 16448) 'ref.tmp220' (line 81)
    [16464, 16472) 'ref.tmp221' (line 81)
    [16496, 16528) 'ref.tmp236' (line 82)
    [16560, 16584) 'ref.tmp237' (line 82)
    [16624, 16640) 'ref.tmp238' (line 82)
    [16656, 16660) 'ref.tmp241' (line 82)
    [16672, 16680) 'aptr' (line 87)
    [16704, 16720) 'ref.tmp260' (line 90)
    [16736, 16744) 'ref.tmp261' (line 90)
    [16768, 16800) 'ref.tmp276' (line 91)
    [16832, 16856) 'ref.tmp277' (line 91)
    [16896, 16912) 'ref.tmp278' (line 91)
    [16928, 16932) 'ref.tmp281' (line 91)
    [16944, 16952) 'captr' (line 96)
    [16976, 16992) 'ref.tmp300' (line 99)
    [17008, 17016) 'ref.tmp301' (line 99)
    [17040, 17072) 'ref.tmp316' (line 100)
    [17104, 17128) 'ref.tmp317' (line 100)
    [17168, 17184) 'ref.tmp318' (line 100)
    [17200, 17204) 'ref.tmp321' (line 100)
HINT: this may be a false positive if your program uses some custom stack unwind mechanism, swapcontext or vfork
      (longjmp and C++ exceptions *are* supported)
SUMMARY: AddressSanitizer: stack-use-after-scope (boost-root/bin.v2/libs/phoenix/test/member.test/clang-linux-7/debug/cxxstd-11-iso/visibility-hidden/member+0x4e9374) in __asan_memcpy
Shadow bytes around the buggy address:
  0x10001ab18060: f8 f2 00 00 f2 f2 f8 f2 f8 f2 f8 f2 01 f2 f8 f8
  0x10001ab18070: f8 f2 f2 f2 f2 f2 f8 f2 f8 f2 f8 f2 f8 f2 00 00
  0x10001ab18080: f2 f2 00 00 f2 f2 f8 f2 f8 f2 00 00 f2 f2 f8 f2
  0x10001ab18090: f8 f2 f8 f2 00 00 f2 f2 00 00 f2 f2 00 00 f2 f2
  0x10001ab180a0: f8 f2 f8 f8 f2 f2 f8 f2 f8 f2 f8 f2 f8 f2 f8 f2
=>0x10001ab180b0: 00 00 f2 f2 f8 f2 f8 f2 f8 f2 00 f2 f2 f2[f8]f8
  0x10001ab180c0: f8 f2 f2 f2 f2 f2 f8 f2 f8 f2 f8 f2 f8 f2 f8 f2
  0x10001ab180d0: f8 f8 f8 f2 f2 f2 f2 f2 f8 f2 f8 f2 f8 f2 f8 f2
  0x10001ab180e0: f8 f2 f8 f2 04 f2 04 f2 f8 f2 f8 f2 04 f2 f8 f2
  0x10001ab180f0: f8 f2 f8 f2 04 f2 04 f2 04 f2 f8 f2 f8 f2 04 f2
  0x10001ab18100: f8 f2 f8 f8 f2 f2 f8 f2 00 f2 f2 f2 00 f2 f2 f2
Shadow byte legend (one shadow byte represents 8 application bytes):
  Addressable:           00
  Partially addressable: 01 02 03 04 05 06 07 
  Heap left redzone:       fa
  Freed heap region:       fd
  Stack left redzone:      f1
  Stack mid redzone:       f2
  Stack right redzone:     f3
  Stack after return:      f5
  Stack use after scope:   f8
  Global redzone:          f9
  Global init order:       f6
  Poisoned by user:        f7
  Container overflow:      fc
  Array cookie:            ac
  Intra object redzone:    bb
  ASan internal:           fe
  Left alloca redzone:     ca
  Right alloca redzone:    cb
  Shadow gap:              cc
==15436==ABORTING

EXIT STATUS: 1
====== END OUTPUT ======

clang-10 warning: definition of implicit copy constructor is deprecated

In boost/phoenix/core/actor.hpp:

include/boost/phoenix/core/actor.hpp:148:9: error: definition of implicit copy constructor for 'actor<boost::log::v2s_mt_posix::expressions::aux::unary_function_terminal<boost::log::v2s_mt_posix::expressions::has_attribute<void> > >' is deprecated because it has a user-declared copy assignment operator [-Werror,-Wdeprecated-copy]
        BOOST_PROTO_EXTENDS_ASSIGN()
        ^

List of non BOOST-prefixed macros

The following macros are missing a BOOST_ prefix, which is against Boost library guidelines:

./boost/phoenix/scope/detail/local_variable.hpp:#ifndef PHOENIX_SCOPE_DETAIL_LOCAL_VARIABLE_HPP
./boost/phoenix/scope/detail/local_variable.hpp:#define PHOENIX_SCOPE_DETAIL_LOCAL_VARIABLE_HPP
./boost/phoenix/core/limits.hpp:#define PHOENIX_LIMIT BOOST_PHOENIX_LIMIT
./boost/phoenix/core/detail/cpp03/function_eval.hpp:        #define PHOENIX_GET_ARG(z, n, data)                                     \
./boost/phoenix/core/detail/cpp03/function_eval.hpp:        #define PHOENIX_EVAL_ARG(z, n, data)                                    \
./boost/phoenix/core/detail/cpp03/function_eval.hpp:        #undef PHOENIX_GET_ARG
./boost/phoenix/core/detail/cpp03/function_eval.hpp:        #undef PHOENIX_EVAL_ARG
./boost/phoenix/core/detail/cpp03/function_eval.hpp:                BOOST_PP_REPEAT(BOOST_PHOENIX_ITERATION, PHOENIX_GET_ARG, _)
./boost/phoenix/core/detail/cpp03/function_eval.hpp:                return boost::phoenix::eval(f, ctx)(BOOST_PP_ENUM(BOOST_PHOENIX_ITERATION, PHOENIX_EVAL_ARG, _));
./boost/phoenix/core/detail/cpp03/function_eval.hpp:                return boost::phoenix::eval(f, ctx)(BOOST_PP_ENUM(BOOST_PHOENIX_ITERATION, PHOENIX_EVAL_ARG, _));
./boost/phoenix/core/detail/cpp03/expression.hpp:#endif // PHOENIX_DONT_USE_PREPROCESSED_FILES
./boost/phoenix/bind/bind_member_variable.hpp:#ifndef PHOENIX_BIND_BIND_MEMBER_VARIABLE_HPP
./boost/phoenix/bind/bind_member_variable.hpp:#define PHOENIX_BIND_BIND_MEMBER_VARIABLE_HPP
./boost/phoenix/bind/bind_member_function.hpp:#ifndef PHOENIX_BIND_BIND_MEMBER_FUNCTION_HPP
./boost/phoenix/bind/bind_member_function.hpp:#define PHOENIX_BIND_BIND_MEMBER_FUNCTION_HPP
./boost/phoenix/bind/bind_function.hpp:#ifndef PHOENIX_BIND_BIND_FUNCTION_HPP
./boost/phoenix/bind/bind_function.hpp:#define PHOENIX_BIND_BIND_FUNCTION_HPP
./boost/phoenix/bind/bind_function_object.hpp:#ifndef PHOENIX_BIND_BIND_FUNCTION_OBJECT_HPP
./boost/phoenix/bind/bind_function_object.hpp:#define PHOENIX_BIND_BIND_FUNCTION_OBJECT_HPP
./boost/phoenix/function/detail/cpp03/function_operator.hpp:#endif // PHOENIX_DONT_USE_PREPROCESSED_FILES

compile fails when using phoenix construct with qi::_12 placeholder.

The following code fails the moment we have more than qi::_12,

#define BOOST_PHOENIX_LIMIT 30
#define SPIRIT_ARGUMENTS_LIMIT 30

#include <boost/spirit/include/qi.hpp>
#include <boost/spirit/include/phoenix.hpp>
#include <ctime>
#include <chrono>
#include <string>
#include <iomanip>

namespace qi = boost::spirit::qi;
namespace phi = boost::phoenix;
using namespace std::chrono_literals;
using namespace qi::labels;

using It = std::string::const_iterator;

#define PRICE_MULT 10000

class ImbalanceMsg
{

public:
    ImbalanceMsg(){}

    ImbalanceMsg(timespec ts,
                 uint8_t msgtype,
                 uint64_t seq_num,
                 std::string symbol,
                 uint64_t symbol_seqnum,
                 uint64_t ref_price,
                 uint32_t paired_qty,
                 uint32_t total_imb_qty,
                 uint32_t mkt_imb_qty,
                 uint32_t auction_time,
                 char     auction_type,
                 char     imb_side,
                 uint64_t cont_clear_price,
                 uint64_t auction_int_clear_price,
                 uint64_t ssr_filling_price,
                 uint64_t ind_match_price,
                 uint64_t upper_collar,
                 uint64_t lower_collar,
                 uint32_t auction_status,
                 uint32_t freeze_status,
                 uint32_t num_ext
    ) :

            m_ref_price{ref_price},
            m_paired_qty{paired_qty},
            m_total_imb_qty{total_imb_qty},
            m_mkt_imb_qty{mkt_imb_qty},
            m_auction_time{auction_time},
            m_auction_type{auction_type},
            m_imb_side{imb_side},
            m_cont_clear_price{cont_clear_price},
            m_auction_int_clear_price{auction_int_clear_price},
            m_ssr_filling_price{ssr_filling_price},
            m_ind_match_price{ind_match_price},
            m_upper_collar{upper_collar},
            m_lower_collar{lower_collar},
            m_auction_status{auction_status},
            m_freeze_status{freeze_status},
            m_num_ext{num_ext}
    {}

    // auto msg = parse( "105,42982201,15:00:05.553620224,AAPL,1192101,157.56,0,200,0,1600,C,S,0,0,0,157.57,159140000,155980000,0,0,0" );


    std::string m_symbol;
    uint64_t m_symbol_seqnum;
    uint64_t m_ref_price;
    uint32_t m_paired_qty;
    uint32_t m_total_imb_qty;
    uint32_t m_mkt_imb_qty;
    uint32_t m_auction_time;
    char     m_auction_type;
    char     m_imb_side;
    uint64_t m_cont_clear_price;
    uint64_t m_auction_int_clear_price;
    uint64_t m_ssr_filling_price;
    uint64_t m_ind_match_price;
    uint64_t m_upper_collar;
    uint64_t m_lower_collar;
    uint32_t  m_auction_status;
    uint32_t  m_freeze_status;
    uint32_t m_num_ext;

};




int main() {

    std::string s = "AAPL,1192101,157.56,0,200,0,1600,C,S,0,0,0,157.57,159140000,155980000,0,0,0";

    timespec ts;
    uint8_t msgtype = 105;
    uint64_t seq_num = 42982201;

    qi::uint_parser<uint32_t, 10, 1, 6> int_part;
    qi::uint_parser<uint8_t , 10, 1, 1> m_digit;

    qi::rule<std::string::iterator, uint64_t()>
        m_fixed_point = int_part[qi::_val =  qi::_1 * PRICE_MULT] >>
              -("." >> -(m_digit[qi::_val += qi::_1 * 1000])
                    >> -(m_digit[qi::_val += qi::_1 * 100])
                    >> -(m_digit[qi::_val += qi::_1 * 10])
                    >> -(m_digit[qi::_val += qi::_1 ])
              );

    qi::rule<std::string::iterator, ImbalanceMsg()>
        m_wire_msg = ( qi::as_string[*qi::alpha]   >> "," // symbol
                                                   >> qi::ulong_    >> "," // symbol seq num
                                                   >> m_fixed_point >> "," // ref price
                                                   >> qi::uint_     >> "," // paired_qty
                                                   >> qi::uint_     >> "," // total_imb_qty
                                                   >> qi::uint_     >> "," // mkt_imb_qty
                                                   >> qi::uint_     >> "," // auction_time
                                                   >> qi::char_     >> "," // auction type
                                                   >> qi::char_     >> "," // imb side
                                                   >> m_fixed_point >> "," // cont_clear_price
                                                   >> m_fixed_point >> "," // auction_int_clear_price
                                                   >> m_fixed_point >> "," // ssr_filling_price
                                                   >> m_fixed_point >> "," // ind_match_price
                                                   >> m_fixed_point >> "," // upper_collar
                                                   >> m_fixed_point >> "," // lower_collar
                                                   >> qi::ushort_   >> "," // auction status
                                                   >> qi::ushort_   >> "," // freeze status
                                                   >> qi::ushort_
         )[qi::_val = phi::construct<ImbalanceMsg>(ts, msgtype, seq_num,
                                                      qi::_1, //symbol
                                                      qi::_2, //market_id
                                                      qi::_3, //system_id
                                                      qi::_4, //exchange_code
                                                      qi::_5, //security_type
                                                      qi::_6, //lot_size
                                                      qi::_7, // prev_close_price
                                                      qi::_8, // prev_close_volume
                                                      qi::_9, // price_resolution
                                                      qi::_10, // round_lot
                                                      qi::_11, // mpv
                                                      qi::_12,
                                                      qi::_13,
                                                      qi::_14,
                                                      qi::_15,
                                                      qi::_16,
                                                      qi::_17,
                                                      qi::_18
    )];

    ImbalanceMsg m;
    bool ok = parse( s.begin(), s.end(), m_wire_msg, m );
    std::cout << "ok=" << ok << std::endl;


}

`phoenix::let` with non-placeholder value can't be modified in c++11

Following code doesn't compile in C++11, but C++03 does.

#include <boost/phoenix/core.hpp>
#include <boost/phoenix/operator/self.hpp>
#include <boost/phoenix/operator/arithmetic.hpp>
#include <boost/phoenix/scope/let.hpp>
#include <boost/phoenix/scope/local_variable.hpp>
using namespace boost::phoenix;
using namespace local_names;

int main()
{
    let(_a = 0)
    [
        --_a
    ]();
}

asan detects stack-buffer-overflow when using try/catch

catch_all_gen is holding the "try" sub-expression by reference, which of course is not valid.
Holding them by value and using base_type instead of that_type fixes the bug.

while, do/while and switch also have this bug.
Interestingly 'if' and 'for' do not.

is_actor appears to also not be consistently specialized.

clang-15 warning: definition of implicit copy constructor for 'actor<boost::log::expressions::aux::unary_function_terminal<boost::log::expressions::has_attribute<void>>>' is deprecated because it has a user-declared copy assignment operator

Hi!

In file boost/phoenix/core/actor.hpp:

boost/phoenix/core/actor.hpp:228:39: error: definition of implicit copy constructor for 'actor<boost::log::expressions::aux::unary_function_terminal<boost::log::expressions::has_attribute<void>>>' is deprecated because it has a user-declared copy assignment operator [-Werror,-Wdeprecated-copy]
        BOOST_DELETED_FUNCTION(actor& operator=(actor const&))
                                      ^
[...]
1 error generated.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.