12
12
class issue_857 ;
13
13
14
14
15
- #line 113 "pure2-last-use.cpp2"
15
+ #line 117 "pure2-last-use.cpp2"
16
16
class issue_857_2 ;
17
17
18
18
19
- #line 118 "pure2-last-use.cpp2"
19
+ #line 122 "pure2-last-use.cpp2"
20
20
class issue_857_3 ;
21
21
22
22
23
- #line 123 "pure2-last-use.cpp2"
23
+ #line 127 "pure2-last-use.cpp2"
24
24
class issue_869 ;
25
25
26
26
27
- #line 167 "pure2-last-use.cpp2"
27
+ #line 171 "pure2-last-use.cpp2"
28
28
class cpp2_union ;
29
29
30
30
31
- #line 175 "pure2-last-use.cpp2"
31
+ #line 179 "pure2-last-use.cpp2"
32
32
class my_string ;
33
33
34
34
@@ -100,6 +100,9 @@ class issue_857 {
100
100
public: auto p3 () && -> void;
101
101
102
102
#line 95 "pure2-last-use.cpp2"
103
+ public: auto q () && -> void;
104
+
105
+ #line 99 "pure2-last-use.cpp2"
103
106
// FIXME
104
107
// z: (move this, move that) = {
105
108
// /*f */ if true { f_copy(this); }
@@ -143,24 +146,24 @@ public: issue_869(issue_869&& that) noexcept;
143
146
public: auto operator =(issue_869 const & that) -> issue_869& ;
144
147
public: auto operator =(issue_869&& that) noexcept -> issue_869& ;
145
148
146
- #line 125 "pure2-last-use.cpp2"
149
+ #line 129 "pure2-last-use.cpp2"
147
150
};
148
151
149
152
auto issue_884_3 () -> void;
150
153
151
- #line 137 "pure2-last-use.cpp2"
154
+ #line 141 "pure2-last-use.cpp2"
152
155
auto issue_884 () -> void;
153
156
154
- #line 146 "pure2-last-use.cpp2"
157
+ #line 150 "pure2-last-use.cpp2"
155
158
auto issue_884_2 () -> void;
156
159
157
- #line 155 "pure2-last-use.cpp2"
160
+ #line 159 "pure2-last-use.cpp2"
158
161
auto issue_888 (std::string r, int size) -> void;
159
162
160
- #line 161 "pure2-last-use.cpp2"
163
+ #line 165 "pure2-last-use.cpp2"
161
164
auto draw () -> void;
162
165
163
- #line 167 "pure2-last-use.cpp2"
166
+ #line 171 "pure2-last-use.cpp2"
164
167
class cpp2_union {
165
168
public: auto destroy () & -> void;
166
169
public: ~cpp2_union () noexcept ;
@@ -169,7 +172,7 @@ class cpp2_union {
169
172
public: auto operator =(cpp2_union const &) -> void = delete ;
170
173
171
174
172
- #line 173 "pure2-last-use.cpp2"
175
+ #line 177 "pure2-last-use.cpp2"
173
176
};
174
177
175
178
class my_string {
@@ -283,11 +286,15 @@ auto f_copy([[maybe_unused]] auto ...unnamed_param_1) -> void{}
283
286
// f_inout(this); // FIXME Moves `this`.
284
287
f_copy (std::move (*this ).a );
285
288
}
289
+ auto issue_857::q () && -> void{
290
+ // m(); // FIXME Moves implicit `this`.
291
+ std::move (*this ).n ();
292
+ }
286
293
287
- #line 117 "pure2-last-use.cpp2"
294
+ #line 121 "pure2-last-use.cpp2"
288
295
int gi {0 };
289
296
290
- #line 120 "pure2-last-use.cpp2"
297
+ #line 124 "pure2-last-use.cpp2"
291
298
auto issue_857_3::f () && -> void { static_cast <void >(f_inout (std::move (*this ).i )); }
292
299
293
300
@@ -328,7 +335,7 @@ issue_869::issue_869(issue_869 const& that)
328
335
if (CPP2_UFCS (is_i)(std::move (that))) {set_i (CPP2_UFCS (i)(std::move (that)));}
329
336
return *this ;
330
337
}
331
- #line 127 "pure2-last-use.cpp2"
338
+ #line 131 "pure2-last-use.cpp2"
332
339
auto issue_884_3 () -> void{
333
340
auto x {cpp2_new<int >(0 )};
334
341
if (true ) {}
@@ -369,17 +376,17 @@ auto draw() -> void{
369
376
static_cast <void >(CPP2_UFCS_MOVE (vertex)((std::move (pos))));
370
377
}
371
378
372
- #line 168 "pure2-last-use.cpp2"
379
+ #line 172 "pure2-last-use.cpp2"
373
380
auto cpp2_union::destroy () & -> void{}
374
381
cpp2_union::~cpp2_union () noexcept {
375
382
// destroy(); FIXME Discarding `this` still moves it here.
376
383
static_cast <void >(std::move ((*this )));
377
384
}
378
385
379
- #line 180 "pure2-last-use.cpp2"
386
+ #line 184 "pure2-last-use.cpp2"
380
387
auto main (int const argc_, char ** argv_) -> int{
381
388
auto const args = cpp2::make_args (argc_, argv_);
382
- #line 181 "pure2-last-use.cpp2"
389
+ #line 185 "pure2-last-use.cpp2"
383
390
issue_683 (args);
384
391
issue_847_2 (std::vector<std::unique_ptr<int >>());
385
392
}
0 commit comments