@@ -253,25 +253,25 @@ struct TrivialCopyAssignment {
253253struct NontrivialCopyAssignment {
254254 // CHECK: CXXRecordDecl 0x{{[^ ]*}} <line:[[@LINE-1]]:1, line:[[@LINE+3]]:1> line:[[@LINE-1]]:8 struct NontrivialCopyAssignment definition
255255 // CHECK: CopyAssignment {{.*}}non_trivial{{.*}}
256- NontrivialCopyAssignment& operator =(const NontrivialCopyAssignment&) {}
256+ NontrivialCopyAssignment& operator =(const NontrivialCopyAssignment&) { return * this ; }
257257};
258258
259259struct CopyAssignmentHasConstParam {
260260 // CHECK: CXXRecordDecl 0x{{[^ ]*}} <line:[[@LINE-1]]:1, line:[[@LINE+3]]:1> line:[[@LINE-1]]:8 struct CopyAssignmentHasConstParam definition
261261 // CHECK: CopyAssignment {{.*}}has_const_param{{.*}}
262- CopyAssignmentHasConstParam& operator =(const CopyAssignmentHasConstParam&) {}
262+ CopyAssignmentHasConstParam& operator =(const CopyAssignmentHasConstParam&) { return * this ; }
263263};
264264
265265struct CopyAssignmentDoesNotHaveConstParam {
266266 // CHECK: CXXRecordDecl 0x{{[^ ]*}} <line:[[@LINE-1]]:1, line:[[@LINE+3]]:1> line:[[@LINE-1]]:8 struct CopyAssignmentDoesNotHaveConstParam definition
267267 // CHECK-NOT: CopyAssignment {{.*}} has_const_param{{.*}}
268- CopyAssignmentDoesNotHaveConstParam& operator =(CopyAssignmentDoesNotHaveConstParam&) {}
268+ CopyAssignmentDoesNotHaveConstParam& operator =(CopyAssignmentDoesNotHaveConstParam&) { return * this ; }
269269};
270270
271271struct UserDeclaredCopyAssignment {
272272 // CHECK: CXXRecordDecl 0x{{[^ ]*}} <line:[[@LINE-1]]:1, line:[[@LINE+3]]:1> line:[[@LINE-1]]:8 struct UserDeclaredCopyAssignment definition
273273 // CHECK: CopyAssignment {{.*}}user_declared{{.*}}
274- UserDeclaredCopyAssignment& operator =(const UserDeclaredCopyAssignment&) {}
274+ UserDeclaredCopyAssignment& operator =(const UserDeclaredCopyAssignment&) { return * this ; }
275275};
276276
277277struct NonUserDeclaredCopyAssignment {
@@ -288,7 +288,7 @@ struct NeedsImplicitCopyAssignment {
288288struct DoesNotNeedImplicitCopyAssignment {
289289 // CHECK: CXXRecordDecl 0x{{[^ ]*}} <line:[[@LINE-1]]:1, line:[[@LINE+3]]:1> line:[[@LINE-1]]:8 struct DoesNotNeedImplicitCopyAssignment definition
290290 // CHECK-NOT: CopyAssignment {{.*}}needs_implicit{{.*}}
291- DoesNotNeedImplicitCopyAssignment& operator =(const DoesNotNeedImplicitCopyAssignment&) {}
291+ DoesNotNeedImplicitCopyAssignment& operator =(const DoesNotNeedImplicitCopyAssignment&) { return * this ; }
292292};
293293
294294struct DeclaresCopyAssignment {
@@ -352,13 +352,13 @@ struct TrivialMoveAssignment {
352352struct NontrivialMoveAssignment {
353353 // CHECK: CXXRecordDecl 0x{{[^ ]*}} <line:[[@LINE-1]]:1, line:[[@LINE+3]]:1> line:[[@LINE-1]]:8 struct NontrivialMoveAssignment definition
354354 // CHECK: MoveAssignment {{.*}}non_trivial{{.*}}
355- NontrivialMoveAssignment& operator =(NontrivialMoveAssignment&&) {}
355+ NontrivialMoveAssignment& operator =(NontrivialMoveAssignment&&) { return * this ; }
356356};
357357
358358struct UserDeclaredMoveAssignment {
359359 // CHECK: CXXRecordDecl 0x{{[^ ]*}} <line:[[@LINE-1]]:1, line:[[@LINE+3]]:1> line:[[@LINE-1]]:8 struct UserDeclaredMoveAssignment definition
360360 // CHECK: MoveAssignment {{.*}}user_declared{{.*}}
361- UserDeclaredMoveAssignment& operator =(UserDeclaredMoveAssignment&&) {}
361+ UserDeclaredMoveAssignment& operator =(UserDeclaredMoveAssignment&&) { return * this ; }
362362};
363363
364364struct NonUserDeclaredMoveAssignment {
@@ -375,7 +375,7 @@ struct NeedsImplicitMoveAssignment {
375375struct DoesNotNeedImplicitMoveAssignment {
376376 // CHECK: CXXRecordDecl 0x{{[^ ]*}} <line:[[@LINE-1]]:1, line:[[@LINE+3]]:1> line:[[@LINE-1]]:8 struct DoesNotNeedImplicitMoveAssignment definition
377377 // CHECK-NOT: MoveAssignment {{.*}}needs_implicit{{.*}}
378- DoesNotNeedImplicitMoveAssignment& operator =(DoesNotNeedImplicitMoveAssignment&&) {}
378+ DoesNotNeedImplicitMoveAssignment& operator =(DoesNotNeedImplicitMoveAssignment&&) { return * this ; }
379379};
380380
381381struct MoveAssignmentNeedsOverloadResolution : virtual DeletedDestructor {
0 commit comments