Skip to content

Commit acab5c3

Browse files
committed
Parenthesize interpolated non-raw string literals, closes #828
1 parent 9d88deb commit acab5c3

28 files changed

+192
-181
lines changed

regression-tests/test-results/mixed-as-for-variant-20-types.cpp

+60-60
Original file line numberDiff line numberDiff line change
@@ -28,70 +28,70 @@ struct X { operator int() const { return I; } };
2828
X<0>()};
2929

3030
// lvalue reference
31-
v = X<0>(); std::cout << "v as X< 0> = " + cpp2::to_string(int(cpp2::as_<X<0>>(v))) << std::endl;
32-
v = X<1>(); std::cout << "v as X< 1> = " + cpp2::to_string(int(cpp2::as_<X<1>>(v))) << std::endl;
33-
v = X<2>(); std::cout << "v as X< 2> = " + cpp2::to_string(int(cpp2::as_<X<2>>(v))) << std::endl;
34-
v = X<3>(); std::cout << "v as X< 3> = " + cpp2::to_string(int(cpp2::as_<X<3>>(v))) << std::endl;
35-
v = X<4>(); std::cout << "v as X< 4> = " + cpp2::to_string(int(cpp2::as_<X<4>>(v))) << std::endl;
36-
v = X<5>(); std::cout << "v as X< 5> = " + cpp2::to_string(int(cpp2::as_<X<5>>(v))) << std::endl;
37-
v = X<6>(); std::cout << "v as X< 6> = " + cpp2::to_string(int(cpp2::as_<X<6>>(v))) << std::endl;
38-
v = X<7>(); std::cout << "v as X< 7> = " + cpp2::to_string(int(cpp2::as_<X<7>>(v))) << std::endl;
39-
v = X<8>(); std::cout << "v as X< 8> = " + cpp2::to_string(int(cpp2::as_<X<8>>(v))) << std::endl;
40-
v = X<9>(); std::cout << "v as X< 9> = " + cpp2::to_string(int(cpp2::as_<X<9>>(v))) << std::endl;
41-
v = X<10>(); std::cout << "v as X<10> = " + cpp2::to_string(int(cpp2::as_<X<10>>(v))) << std::endl;
42-
v = X<11>(); std::cout << "v as X<11> = " + cpp2::to_string(int(cpp2::as_<X<11>>(v))) << std::endl;
43-
v = X<12>(); std::cout << "v as X<12> = " + cpp2::to_string(int(cpp2::as_<X<12>>(v))) << std::endl;
44-
v = X<13>(); std::cout << "v as X<13> = " + cpp2::to_string(int(cpp2::as_<X<13>>(v))) << std::endl;
45-
v = X<14>(); std::cout << "v as X<14> = " + cpp2::to_string(int(cpp2::as_<X<14>>(v))) << std::endl;
46-
v = X<15>(); std::cout << "v as X<15> = " + cpp2::to_string(int(cpp2::as_<X<15>>(v))) << std::endl;
47-
v = X<16>(); std::cout << "v as X<16> = " + cpp2::to_string(int(cpp2::as_<X<16>>(v))) << std::endl;
48-
v = X<17>(); std::cout << "v as X<17> = " + cpp2::to_string(int(cpp2::as_<X<17>>(v))) << std::endl;
49-
v = X<18>(); std::cout << "v as X<18> = " + cpp2::to_string(int(cpp2::as_<X<18>>(v))) << std::endl;
50-
v = X<19>(); std::cout << "v as X<19> = " + cpp2::to_string(int(cpp2::as_<X<19>>(v))) << std::endl;
31+
v = X<0>(); std::cout << ("v as X< 0> = " + cpp2::to_string(int(cpp2::as_<X<0>>(v)))) << std::endl;
32+
v = X<1>(); std::cout << ("v as X< 1> = " + cpp2::to_string(int(cpp2::as_<X<1>>(v)))) << std::endl;
33+
v = X<2>(); std::cout << ("v as X< 2> = " + cpp2::to_string(int(cpp2::as_<X<2>>(v)))) << std::endl;
34+
v = X<3>(); std::cout << ("v as X< 3> = " + cpp2::to_string(int(cpp2::as_<X<3>>(v)))) << std::endl;
35+
v = X<4>(); std::cout << ("v as X< 4> = " + cpp2::to_string(int(cpp2::as_<X<4>>(v)))) << std::endl;
36+
v = X<5>(); std::cout << ("v as X< 5> = " + cpp2::to_string(int(cpp2::as_<X<5>>(v)))) << std::endl;
37+
v = X<6>(); std::cout << ("v as X< 6> = " + cpp2::to_string(int(cpp2::as_<X<6>>(v)))) << std::endl;
38+
v = X<7>(); std::cout << ("v as X< 7> = " + cpp2::to_string(int(cpp2::as_<X<7>>(v)))) << std::endl;
39+
v = X<8>(); std::cout << ("v as X< 8> = " + cpp2::to_string(int(cpp2::as_<X<8>>(v)))) << std::endl;
40+
v = X<9>(); std::cout << ("v as X< 9> = " + cpp2::to_string(int(cpp2::as_<X<9>>(v)))) << std::endl;
41+
v = X<10>(); std::cout << ("v as X<10> = " + cpp2::to_string(int(cpp2::as_<X<10>>(v)))) << std::endl;
42+
v = X<11>(); std::cout << ("v as X<11> = " + cpp2::to_string(int(cpp2::as_<X<11>>(v)))) << std::endl;
43+
v = X<12>(); std::cout << ("v as X<12> = " + cpp2::to_string(int(cpp2::as_<X<12>>(v)))) << std::endl;
44+
v = X<13>(); std::cout << ("v as X<13> = " + cpp2::to_string(int(cpp2::as_<X<13>>(v)))) << std::endl;
45+
v = X<14>(); std::cout << ("v as X<14> = " + cpp2::to_string(int(cpp2::as_<X<14>>(v)))) << std::endl;
46+
v = X<15>(); std::cout << ("v as X<15> = " + cpp2::to_string(int(cpp2::as_<X<15>>(v)))) << std::endl;
47+
v = X<16>(); std::cout << ("v as X<16> = " + cpp2::to_string(int(cpp2::as_<X<16>>(v)))) << std::endl;
48+
v = X<17>(); std::cout << ("v as X<17> = " + cpp2::to_string(int(cpp2::as_<X<17>>(v)))) << std::endl;
49+
v = X<18>(); std::cout << ("v as X<18> = " + cpp2::to_string(int(cpp2::as_<X<18>>(v)))) << std::endl;
50+
v = X<19>(); std::cout << ("v as X<19> = " + cpp2::to_string(int(cpp2::as_<X<19>>(v)))) << std::endl;
5151

5252
// const lvalue reference
53-
v = X<0>(); std::cout << "as_const(v) as X< 0> = " + cpp2::to_string(int(cpp2::as_<X<0>>(std::as_const(v)))) << std::endl;
54-
v = X<1>(); std::cout << "as_const(v) as X< 1> = " + cpp2::to_string(int(cpp2::as_<X<1>>(std::as_const(v)))) << std::endl;
55-
v = X<2>(); std::cout << "as_const(v) as X< 2> = " + cpp2::to_string(int(cpp2::as_<X<2>>(std::as_const(v)))) << std::endl;
56-
v = X<3>(); std::cout << "as_const(v) as X< 3> = " + cpp2::to_string(int(cpp2::as_<X<3>>(std::as_const(v)))) << std::endl;
57-
v = X<4>(); std::cout << "as_const(v) as X< 4> = " + cpp2::to_string(int(cpp2::as_<X<4>>(std::as_const(v)))) << std::endl;
58-
v = X<5>(); std::cout << "as_const(v) as X< 5> = " + cpp2::to_string(int(cpp2::as_<X<5>>(std::as_const(v)))) << std::endl;
59-
v = X<6>(); std::cout << "as_const(v) as X< 6> = " + cpp2::to_string(int(cpp2::as_<X<6>>(std::as_const(v)))) << std::endl;
60-
v = X<7>(); std::cout << "as_const(v) as X< 7> = " + cpp2::to_string(int(cpp2::as_<X<7>>(std::as_const(v)))) << std::endl;
61-
v = X<8>(); std::cout << "as_const(v) as X< 8> = " + cpp2::to_string(int(cpp2::as_<X<8>>(std::as_const(v)))) << std::endl;
62-
v = X<9>(); std::cout << "as_const(v) as X< 9> = " + cpp2::to_string(int(cpp2::as_<X<9>>(std::as_const(v)))) << std::endl;
63-
v = X<10>(); std::cout << "as_const(v) as X<10> = " + cpp2::to_string(int(cpp2::as_<X<10>>(std::as_const(v)))) << std::endl;
64-
v = X<11>(); std::cout << "as_const(v) as X<11> = " + cpp2::to_string(int(cpp2::as_<X<11>>(std::as_const(v)))) << std::endl;
65-
v = X<12>(); std::cout << "as_const(v) as X<12> = " + cpp2::to_string(int(cpp2::as_<X<12>>(std::as_const(v)))) << std::endl;
66-
v = X<13>(); std::cout << "as_const(v) as X<13> = " + cpp2::to_string(int(cpp2::as_<X<13>>(std::as_const(v)))) << std::endl;
67-
v = X<14>(); std::cout << "as_const(v) as X<14> = " + cpp2::to_string(int(cpp2::as_<X<14>>(std::as_const(v)))) << std::endl;
68-
v = X<15>(); std::cout << "as_const(v) as X<15> = " + cpp2::to_string(int(cpp2::as_<X<15>>(std::as_const(v)))) << std::endl;
69-
v = X<16>(); std::cout << "as_const(v) as X<16> = " + cpp2::to_string(int(cpp2::as_<X<16>>(std::as_const(v)))) << std::endl;
70-
v = X<17>(); std::cout << "as_const(v) as X<17> = " + cpp2::to_string(int(cpp2::as_<X<17>>(std::as_const(v)))) << std::endl;
71-
v = X<18>(); std::cout << "as_const(v) as X<18> = " + cpp2::to_string(int(cpp2::as_<X<18>>(std::as_const(v)))) << std::endl;
72-
v = X<19>(); std::cout << "as_const(v) as X<19> = " + cpp2::to_string(int(cpp2::as_<X<19>>(std::as_const(v)))) << std::endl;
53+
v = X<0>(); std::cout << ("as_const(v) as X< 0> = " + cpp2::to_string(int(cpp2::as_<X<0>>(std::as_const(v))))) << std::endl;
54+
v = X<1>(); std::cout << ("as_const(v) as X< 1> = " + cpp2::to_string(int(cpp2::as_<X<1>>(std::as_const(v))))) << std::endl;
55+
v = X<2>(); std::cout << ("as_const(v) as X< 2> = " + cpp2::to_string(int(cpp2::as_<X<2>>(std::as_const(v))))) << std::endl;
56+
v = X<3>(); std::cout << ("as_const(v) as X< 3> = " + cpp2::to_string(int(cpp2::as_<X<3>>(std::as_const(v))))) << std::endl;
57+
v = X<4>(); std::cout << ("as_const(v) as X< 4> = " + cpp2::to_string(int(cpp2::as_<X<4>>(std::as_const(v))))) << std::endl;
58+
v = X<5>(); std::cout << ("as_const(v) as X< 5> = " + cpp2::to_string(int(cpp2::as_<X<5>>(std::as_const(v))))) << std::endl;
59+
v = X<6>(); std::cout << ("as_const(v) as X< 6> = " + cpp2::to_string(int(cpp2::as_<X<6>>(std::as_const(v))))) << std::endl;
60+
v = X<7>(); std::cout << ("as_const(v) as X< 7> = " + cpp2::to_string(int(cpp2::as_<X<7>>(std::as_const(v))))) << std::endl;
61+
v = X<8>(); std::cout << ("as_const(v) as X< 8> = " + cpp2::to_string(int(cpp2::as_<X<8>>(std::as_const(v))))) << std::endl;
62+
v = X<9>(); std::cout << ("as_const(v) as X< 9> = " + cpp2::to_string(int(cpp2::as_<X<9>>(std::as_const(v))))) << std::endl;
63+
v = X<10>(); std::cout << ("as_const(v) as X<10> = " + cpp2::to_string(int(cpp2::as_<X<10>>(std::as_const(v))))) << std::endl;
64+
v = X<11>(); std::cout << ("as_const(v) as X<11> = " + cpp2::to_string(int(cpp2::as_<X<11>>(std::as_const(v))))) << std::endl;
65+
v = X<12>(); std::cout << ("as_const(v) as X<12> = " + cpp2::to_string(int(cpp2::as_<X<12>>(std::as_const(v))))) << std::endl;
66+
v = X<13>(); std::cout << ("as_const(v) as X<13> = " + cpp2::to_string(int(cpp2::as_<X<13>>(std::as_const(v))))) << std::endl;
67+
v = X<14>(); std::cout << ("as_const(v) as X<14> = " + cpp2::to_string(int(cpp2::as_<X<14>>(std::as_const(v))))) << std::endl;
68+
v = X<15>(); std::cout << ("as_const(v) as X<15> = " + cpp2::to_string(int(cpp2::as_<X<15>>(std::as_const(v))))) << std::endl;
69+
v = X<16>(); std::cout << ("as_const(v) as X<16> = " + cpp2::to_string(int(cpp2::as_<X<16>>(std::as_const(v))))) << std::endl;
70+
v = X<17>(); std::cout << ("as_const(v) as X<17> = " + cpp2::to_string(int(cpp2::as_<X<17>>(std::as_const(v))))) << std::endl;
71+
v = X<18>(); std::cout << ("as_const(v) as X<18> = " + cpp2::to_string(int(cpp2::as_<X<18>>(std::as_const(v))))) << std::endl;
72+
v = X<19>(); std::cout << ("as_const(v) as X<19> = " + cpp2::to_string(int(cpp2::as_<X<19>>(std::as_const(v))))) << std::endl;
7373

7474
// rvalue reference
75-
v = X<0>(); std::cout << "move(v) as X< 0> = " + cpp2::to_string(int(cpp2::as_<X<0>>((std::move(v))))) << std::endl;
76-
v = X<1>(); std::cout << "move(v) as X< 1> = " + cpp2::to_string(int(cpp2::as_<X<1>>((std::move(v))))) << std::endl;
77-
v = X<2>(); std::cout << "move(v) as X< 2> = " + cpp2::to_string(int(cpp2::as_<X<2>>((std::move(v))))) << std::endl;
78-
v = X<3>(); std::cout << "move(v) as X< 3> = " + cpp2::to_string(int(cpp2::as_<X<3>>((std::move(v))))) << std::endl;
79-
v = X<4>(); std::cout << "move(v) as X< 4> = " + cpp2::to_string(int(cpp2::as_<X<4>>((std::move(v))))) << std::endl;
80-
v = X<5>(); std::cout << "move(v) as X< 5> = " + cpp2::to_string(int(cpp2::as_<X<5>>((std::move(v))))) << std::endl;
81-
v = X<6>(); std::cout << "move(v) as X< 6> = " + cpp2::to_string(int(cpp2::as_<X<6>>((std::move(v))))) << std::endl;
82-
v = X<7>(); std::cout << "move(v) as X< 7> = " + cpp2::to_string(int(cpp2::as_<X<7>>((std::move(v))))) << std::endl;
83-
v = X<8>(); std::cout << "move(v) as X< 8> = " + cpp2::to_string(int(cpp2::as_<X<8>>((std::move(v))))) << std::endl;
84-
v = X<9>(); std::cout << "move(v) as X< 9> = " + cpp2::to_string(int(cpp2::as_<X<9>>((std::move(v))))) << std::endl;
85-
v = X<10>(); std::cout << "move(v) as X<10> = " + cpp2::to_string(int(cpp2::as_<X<10>>((std::move(v))))) << std::endl;
86-
v = X<11>(); std::cout << "move(v) as X<11> = " + cpp2::to_string(int(cpp2::as_<X<11>>((std::move(v))))) << std::endl;
87-
v = X<12>(); std::cout << "move(v) as X<12> = " + cpp2::to_string(int(cpp2::as_<X<12>>((std::move(v))))) << std::endl;
88-
v = X<13>(); std::cout << "move(v) as X<13> = " + cpp2::to_string(int(cpp2::as_<X<13>>((std::move(v))))) << std::endl;
89-
v = X<14>(); std::cout << "move(v) as X<14> = " + cpp2::to_string(int(cpp2::as_<X<14>>((std::move(v))))) << std::endl;
90-
v = X<15>(); std::cout << "move(v) as X<15> = " + cpp2::to_string(int(cpp2::as_<X<15>>((std::move(v))))) << std::endl;
91-
v = X<16>(); std::cout << "move(v) as X<16> = " + cpp2::to_string(int(cpp2::as_<X<16>>((std::move(v))))) << std::endl;
92-
v = X<17>(); std::cout << "move(v) as X<17> = " + cpp2::to_string(int(cpp2::as_<X<17>>((std::move(v))))) << std::endl;
93-
v = X<18>(); std::cout << "move(v) as X<18> = " + cpp2::to_string(int(cpp2::as_<X<18>>((std::move(v))))) << std::endl;
94-
v = X<19>(); std::cout << "move(v) as X<19> = " + cpp2::to_string(int(cpp2::as_<X<19>>((std::move(std::move(v)))))) << std::endl;
75+
v = X<0>(); std::cout << ("move(v) as X< 0> = " + cpp2::to_string(int(cpp2::as_<X<0>>((std::move(v)))))) << std::endl;
76+
v = X<1>(); std::cout << ("move(v) as X< 1> = " + cpp2::to_string(int(cpp2::as_<X<1>>((std::move(v)))))) << std::endl;
77+
v = X<2>(); std::cout << ("move(v) as X< 2> = " + cpp2::to_string(int(cpp2::as_<X<2>>((std::move(v)))))) << std::endl;
78+
v = X<3>(); std::cout << ("move(v) as X< 3> = " + cpp2::to_string(int(cpp2::as_<X<3>>((std::move(v)))))) << std::endl;
79+
v = X<4>(); std::cout << ("move(v) as X< 4> = " + cpp2::to_string(int(cpp2::as_<X<4>>((std::move(v)))))) << std::endl;
80+
v = X<5>(); std::cout << ("move(v) as X< 5> = " + cpp2::to_string(int(cpp2::as_<X<5>>((std::move(v)))))) << std::endl;
81+
v = X<6>(); std::cout << ("move(v) as X< 6> = " + cpp2::to_string(int(cpp2::as_<X<6>>((std::move(v)))))) << std::endl;
82+
v = X<7>(); std::cout << ("move(v) as X< 7> = " + cpp2::to_string(int(cpp2::as_<X<7>>((std::move(v)))))) << std::endl;
83+
v = X<8>(); std::cout << ("move(v) as X< 8> = " + cpp2::to_string(int(cpp2::as_<X<8>>((std::move(v)))))) << std::endl;
84+
v = X<9>(); std::cout << ("move(v) as X< 9> = " + cpp2::to_string(int(cpp2::as_<X<9>>((std::move(v)))))) << std::endl;
85+
v = X<10>(); std::cout << ("move(v) as X<10> = " + cpp2::to_string(int(cpp2::as_<X<10>>((std::move(v)))))) << std::endl;
86+
v = X<11>(); std::cout << ("move(v) as X<11> = " + cpp2::to_string(int(cpp2::as_<X<11>>((std::move(v)))))) << std::endl;
87+
v = X<12>(); std::cout << ("move(v) as X<12> = " + cpp2::to_string(int(cpp2::as_<X<12>>((std::move(v)))))) << std::endl;
88+
v = X<13>(); std::cout << ("move(v) as X<13> = " + cpp2::to_string(int(cpp2::as_<X<13>>((std::move(v)))))) << std::endl;
89+
v = X<14>(); std::cout << ("move(v) as X<14> = " + cpp2::to_string(int(cpp2::as_<X<14>>((std::move(v)))))) << std::endl;
90+
v = X<15>(); std::cout << ("move(v) as X<15> = " + cpp2::to_string(int(cpp2::as_<X<15>>((std::move(v)))))) << std::endl;
91+
v = X<16>(); std::cout << ("move(v) as X<16> = " + cpp2::to_string(int(cpp2::as_<X<16>>((std::move(v)))))) << std::endl;
92+
v = X<17>(); std::cout << ("move(v) as X<17> = " + cpp2::to_string(int(cpp2::as_<X<17>>((std::move(v)))))) << std::endl;
93+
v = X<18>(); std::cout << ("move(v) as X<18> = " + cpp2::to_string(int(cpp2::as_<X<18>>((std::move(v)))))) << std::endl;
94+
v = X<19>(); std::cout << ("move(v) as X<19> = " + cpp2::to_string(int(cpp2::as_<X<19>>((std::move(std::move(v))))))) << std::endl;
9595

9696
}
9797

regression-tests/test-results/mixed-fixed-type-aliases.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,6 @@ auto test(auto const& x) -> void{
5959
for ( auto const& arg : args )
6060
std::cout << CPP2_UFCS(filename)(std::filesystem::path(arg)) << "\n";
6161

62-
std::cout << cpp2::to_string(mytype<int>::myvalue<int>) + "\n";
62+
std::cout << (cpp2::to_string(mytype<int>::myvalue<int>) + "\n");
6363
}
6464

regression-tests/test-results/mixed-inspect-templates.cpp

+9-9
Original file line numberDiff line numberDiff line change
@@ -56,14 +56,14 @@ struct my_type {};
5656
std::variant<int,double,std::string> var {"C++ rulez"};
5757
my_type<int,double> myt {};
5858

59-
std::cout << "inspected vec : " + cpp2::to_string(fun(vec)) << std::endl;
60-
std::cout << "inspected arr : " + cpp2::to_string(fun(arr)) << std::endl;
61-
std::cout << "inspected var : " + cpp2::to_string(fun(var)) << std::endl;
62-
std::cout << "inspected myt : " + cpp2::to_string(fun(myt)) << std::endl;
63-
64-
std::cout << "inspected vec : " + cpp2::to_string(fun2(std::move(vec))) << std::endl;
65-
std::cout << "inspected arr : " + cpp2::to_string(fun2(std::move(arr))) << std::endl;
66-
std::cout << "inspected var : " + cpp2::to_string(fun2(std::move(var))) << std::endl;
67-
std::cout << "inspected myt : " + cpp2::to_string(fun2(std::move(myt))) << std::endl;
59+
std::cout << ("inspected vec : " + cpp2::to_string(fun(vec))) << std::endl;
60+
std::cout << ("inspected arr : " + cpp2::to_string(fun(arr))) << std::endl;
61+
std::cout << ("inspected var : " + cpp2::to_string(fun(var))) << std::endl;
62+
std::cout << ("inspected myt : " + cpp2::to_string(fun(myt))) << std::endl;
63+
64+
std::cout << ("inspected vec : " + cpp2::to_string(fun2(std::move(vec)))) << std::endl;
65+
std::cout << ("inspected arr : " + cpp2::to_string(fun2(std::move(arr)))) << std::endl;
66+
std::cout << ("inspected var : " + cpp2::to_string(fun2(std::move(var)))) << std::endl;
67+
std::cout << ("inspected myt : " + cpp2::to_string(fun2(std::move(myt)))) << std::endl;
6868
}
6969

regression-tests/test-results/mixed-string-interpolation.cpp

+17-17
Original file line numberDiff line numberDiff line change
@@ -29,47 +29,47 @@ struct custom_struct_with_no_stringize_customization { } custom;
2929
[[nodiscard]] auto main() -> int{
3030
auto a {2};
3131
std::optional<int> b {};
32-
std::cout << "a = " + cpp2::to_string(a) + ", b = " + cpp2::to_string(b) + "\n";
32+
std::cout << ("a = " + cpp2::to_string(a) + ", b = " + cpp2::to_string(b) + "\n");
3333

3434
b = 42;
35-
std::cout << "a^2 + b = " + cpp2::to_string(a * std::move(a) + CPP2_UFCS(value)(std::move(b))) + "\n";
35+
std::cout << ("a^2 + b = " + cpp2::to_string(a * std::move(a) + CPP2_UFCS(value)(std::move(b))) + "\n");
3636

3737
std::string_view sv {"my string_view"};
38-
std::cout << "sv = " + cpp2::to_string(std::move(sv)) + "\n";
38+
std::cout << ("sv = " + cpp2::to_string(std::move(sv)) + "\n");
3939

4040
std::optional<std::string_view> osv {};
41-
std::cout << "osv = " + cpp2::to_string(osv) + "\n";
41+
std::cout << ("osv = " + cpp2::to_string(osv) + "\n");
4242
osv = "string literal bound to optional string_view";
43-
std::cout << "osv = " + cpp2::to_string(std::move(osv)) + "\n";
43+
std::cout << ("osv = " + cpp2::to_string(std::move(osv)) + "\n");
4444

4545
std::variant<std::monostate,std::string,double> var {};
46-
std::cout << "var = " + cpp2::to_string(var) + "\n";
46+
std::cout << ("var = " + cpp2::to_string(var) + "\n");
4747
var = "abracadabra";
48-
std::cout << "var = " + cpp2::to_string(var) + "\n";
48+
std::cout << ("var = " + cpp2::to_string(var) + "\n");
4949
var = 2.71828;
50-
std::cout << "var = " + cpp2::to_string(std::move(var)) + "\n";
50+
std::cout << ("var = " + cpp2::to_string(std::move(var)) + "\n");
5151

5252
std::pair<int,double> mypair {12, 3.4};
53-
std::cout << "mypair = " + cpp2::to_string(std::move(mypair)) + "\n";
53+
std::cout << ("mypair = " + cpp2::to_string(std::move(mypair)) + "\n");
5454

5555
std::tuple<int> tup1 {12};
5656
std::tuple<int,double> tup2 {12, 3.4};
5757
std::tuple<int,double,std::string> tup3 {12, 3.4, "456"};
58-
std::cout << "tup1 = " + cpp2::to_string(std::move(tup1)) + "\n";
59-
std::cout << "tup2 = " + cpp2::to_string(std::move(tup2)) + "\n";
60-
std::cout << "tup3 = " + cpp2::to_string(std::move(tup3)) + "\n";
58+
std::cout << ("tup1 = " + cpp2::to_string(std::move(tup1)) + "\n");
59+
std::cout << ("tup2 = " + cpp2::to_string(std::move(tup2)) + "\n");
60+
std::cout << ("tup3 = " + cpp2::to_string(std::move(tup3)) + "\n");
6161

6262
std::pair<std::string_view,std::optional<std::string>> p {"first", std::nullopt};
63-
std::cout << "p = " + cpp2::to_string(std::move(p)) + "\n";
63+
std::cout << ("p = " + cpp2::to_string(std::move(p)) + "\n");
6464

6565
std::tuple<double,std::optional<std::pair<std::string_view,int>>,std::optional<std::tuple<int,int,int>>> t {3.14, std::nullopt, std::nullopt};
66-
std::cout << "t = " + cpp2::to_string(std::move(t)) + "\n";
66+
std::cout << ("t = " + cpp2::to_string(std::move(t)) + "\n");
6767

6868
std::variant<int,std::string,std::pair<int,double>> vv {};
69-
std::cout << "vv = " + cpp2::to_string(vv) + "\n";
69+
std::cout << ("vv = " + cpp2::to_string(vv) + "\n");
7070
vv = std::make_pair(1, 2.3);
71-
std::cout << "vv = " + cpp2::to_string(std::move(vv)) + "\n";
71+
std::cout << ("vv = " + cpp2::to_string(std::move(vv)) + "\n");
7272

73-
std::cout << "custom = " + cpp2::to_string(custom) + "\n";
73+
std::cout << ("custom = " + cpp2::to_string(custom) + "\n");
7474
}
7575

regression-tests/test-results/pure2-bugfix-for-template-argument.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -19,5 +19,5 @@ auto main() -> int;
1919
#line 1 "pure2-bugfix-for-template-argument.cpp2"
2020
auto main() -> int {
2121
#line 2 "pure2-bugfix-for-template-argument.cpp2"
22-
std::cout << cpp2::to_string(std::is_void_v<cpp2::i32*> && std::is_void_v<cpp2::i32 const>) + "\n"; }
22+
std::cout << (cpp2::to_string(std::is_void_v<cpp2::i32*> && std::is_void_v<cpp2::i32 const>) + "\n"); }
2323

0 commit comments

Comments
 (0)