@@ -20,19 +20,21 @@ template<typename ...Ts> class x;
20
20
#line 3 "pure2-variadics.cpp2"
21
21
template <typename ...Ts> class x {
22
22
private: std::tuple<Ts...> tup {};
23
+
24
+ public: static auto func () -> void;
23
25
public: x() = default ;
24
26
public: x(x const &) = delete ; /* No 'that' constructor, suppress copy */
25
27
public: auto operator =(x const &) -> void = delete ;
26
28
27
- #line 5 "pure2-variadics.cpp2"
29
+ #line 7 "pure2-variadics.cpp2"
28
30
};
29
31
30
32
template <typename ...Args> auto left_fold_print (std::ostream& out, Args const & ...args) -> void;
31
33
32
- #line 12 "pure2-variadics.cpp2"
34
+ #line 14 "pure2-variadics.cpp2"
33
35
template <typename ...Args> [[nodiscard]] auto all (Args const & ...args) -> bool;
34
36
35
- #line 16 "pure2-variadics.cpp2"
37
+ #line 18 "pure2-variadics.cpp2"
36
38
template <typename ...Args> [[nodiscard]] auto make_string (Args&& ...args) -> auto;
37
39
38
40
template <typename T, typename ...Args> [[nodiscard]] auto make (Args&& ...args) -> auto;
@@ -43,7 +45,10 @@ auto main() -> int;
43
45
44
46
#line 1 "pure2-variadics.cpp2"
45
47
46
- #line 7 "pure2-variadics.cpp2"
48
+ #line 6 "pure2-variadics.cpp2"
49
+ template <typename ...Ts> auto x<Ts...>::func() -> void {}
50
+
51
+ #line 9 "pure2-variadics.cpp2"
47
52
template <typename ...Args> auto left_fold_print (std::ostream& out, Args const & ...args) -> void{
48
53
// Binary left fold expression
49
54
(out << ... << args);
@@ -59,7 +64,7 @@ template <typename T, typename ...Args> [[nodiscard]] auto make(Args&& ...args)
59
64
60
65
auto main () -> int
61
66
{
62
- x<int ,long ,std::string> auto_22_5 {};
67
+ x<int ,long ,std::string> auto_24_5 {};
63
68
64
69
std::cout << std::string (" xyzzy" , 3 ) << " \n " ;
65
70
std::cout << make_string (" plugh" , cpp2::u8{3 }) << " \n " ;
0 commit comments