summaryrefslogtreecommitdiffstats
path: root/src/boost/libs/phoenix/test/scope/bug8298.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/boost/libs/phoenix/test/scope/bug8298.cpp')
-rw-r--r--src/boost/libs/phoenix/test/scope/bug8298.cpp33
1 files changed, 33 insertions, 0 deletions
diff --git a/src/boost/libs/phoenix/test/scope/bug8298.cpp b/src/boost/libs/phoenix/test/scope/bug8298.cpp
new file mode 100644
index 00000000..42cd8ab6
--- /dev/null
+++ b/src/boost/libs/phoenix/test/scope/bug8298.cpp
@@ -0,0 +1,33 @@
+/*=============================================================================
+ Copyright (c) 2014 John Fletcher
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+==============================================================================*/
+
+#include <boost/phoenix.hpp>
+
+#include <boost/detail/lightweight_test.hpp>
+
+namespace phoenix = boost::phoenix;
+using boost::phoenix::ref;
+using namespace phoenix::local_names;
+using boost::phoenix::arg_names::_1;
+
+int main(int argc, char *argv[])
+{
+ int x = 17;
+ int y = phoenix::lambda(_a=ref(x))
+ [
+ _a = 18
+ ]()();
+ BOOST_TEST(y==18);
+
+ int z = phoenix::lambda(_a=_1)
+ [
+ _a = 18
+ ](x)();
+ std::cout << z << std::endl;
+ BOOST_TEST(y==18);
+
+ return boost::report_errors();
+}