@@ -275,28 +275,30 @@ class CopyEnabledCustomizedDtorCompliant1 { // COMPLIANT: copy-enabled (2)
275275
276276class CopyEnabledCustomizedDtorCompliant2 { // NON-COMPLIANT: copy-enabled (2)
277277public:
278- COPY_CTOR (CopyEnabledCustomizedDtorCompliant2) CUSTOMIZED
279- // Move constructor is not declared
280- COPY_ASSIGN (CopyEnabledCustomizedDtorCompliant2) CUSTOMIZED
281- MOVE_ASSIGN (CopyEnabledCustomizedDtorCompliant2) DEFAULTED
282- DTOR ( CopyEnabledCustomizedDtorCompliant2) CUSTOMIZED
278+ COPY_CTOR (CopyEnabledCustomizedDtorCompliant2) CUSTOMIZED;
279+ // No move constructor declared
280+ COPY_ASSIGN (CopyEnabledCustomizedDtorCompliant2) DELETED;
281+ MOVE_ASSIGN (CopyEnabledCustomizedDtorCompliant2) DELETED;
282+ ~ CopyEnabledCustomizedDtorCompliant2( ) CUSTOMIZED;
283283};
284284
285285// copy-assignable class with both move operations customized
286286class CopyAssignableCustomizedDtorCompliant1 { // COMPLIANT
287287public:
288- DEFINE_ALL_SPECIAL_MEMBERS (CopyAssignableCustomizedDtorCompliant1, DEFAULTED,
289- CUSTOMIZED, CUSTOMIZED, CUSTOMIZED, CUSTOMIZED)
288+ COPY_CTOR (CopyAssignableCustomizedDtorCompliant1) CUSTOMIZED;
289+ MOVE_CTOR (CopyAssignableCustomizedDtorCompliant1) CUSTOMIZED;
290+ // No move constructor declared
291+ COPY_ASSIGN (CopyAssignableCustomizedDtorCompliant1) DELETED;
292+ MOVE_ASSIGN (CopyAssignableCustomizedDtorCompliant1) DELETED;
293+ ~CopyAssignableCustomizedDtorCompliant1 () CUSTOMIZED;
290294};
291295
292296// copy-assignable class with both move operations not declared
293297class CopyAssignableCustomizedDtorCompliant2 { // COMPLIANT
294298public:
295- COPY_CTOR (CopyAssignableCustomizedDtorCompliant2)
296- DEFAULTED
299+ COPY_CTOR (CopyAssignableCustomizedDtorCompliant2) DEFAULTED;
297300 // Move constructor is not declared
298- COPY_ASSIGN (CopyAssignableCustomizedDtorCompliant2)
299- CUSTOMIZED
301+ COPY_ASSIGN (CopyAssignableCustomizedDtorCompliant2) CUSTOMIZED;
300302 // Move assignment operator is not declared
301303 DTOR (CopyAssignableCustomizedDtorCompliant2) CUSTOMIZED
302304};
@@ -305,63 +307,60 @@ class CopyAssignableCustomizedDtorCompliant2 { // COMPLIANT
305307class CopyAssignableCustomizedDtorNonCompliant1 { // NON_COMPLIANT
306308public:
307309 COPY_CTOR (CopyAssignableCustomizedDtorNonCompliant1)
308- CUSTOMIZED MOVE_CTOR (CopyAssignableCustomizedDtorNonCompliant1) CUSTOMIZED
309- COPY_ASSIGN(CopyAssignableCustomizedDtorNonCompliant1) CUSTOMIZED
310- // Move assignment operator is not declared
311- DTOR(CopyAssignableCustomizedDtorNonCompliant1) CUSTOMIZED
310+ CUSTOMIZED MOVE_CTOR (CopyAssignableCustomizedDtorNonCompliant1) CUSTOMIZED;
311+ COPY_ASSIGN (CopyAssignableCustomizedDtorNonCompliant1) CUSTOMIZED;
312+ // Move assignment operator is not declared
313+ DTOR (CopyAssignableCustomizedDtorNonCompliant1) CUSTOMIZED;
312314};
313315
314316// copy-assignable class with only one of move operations not declared
315317class CopyAssignableCustomizedDtorNonCompliant2 { // NON_COMPLIANT
316318public:
317- COPY_CTOR (CopyAssignableCustomizedDtorNonCompliant2)
318- CUSTOMIZED
319+ COPY_CTOR (CopyAssignableCustomizedDtorNonCompliant2) CUSTOMIZED;
319320 // Move constructor is not declared
320- COPY_ASSIGN (CopyAssignableCustomizedDtorNonCompliant2)
321- CUSTOMIZED MOVE_ASSIGN (CopyAssignableCustomizedDtorNonCompliant2) CUSTOMIZED
322- DTOR(CopyAssignableCustomizedDtorNonCompliant2) CUSTOMIZED
321+ COPY_ASSIGN (CopyAssignableCustomizedDtorNonCompliant2) CUSTOMIZED;
322+ MOVE_ASSIGN (CopyAssignableCustomizedDtorNonCompliant2) CUSTOMIZED;
323+ DTOR (CopyAssignableCustomizedDtorNonCompliant2) CUSTOMIZED;
323324};
324325
325326// copy-assignable class with only one of move operations not declared
326327class CopyAssignableCustomizedDtorNonCompliant3 { // NON_COMPLIANT
327328public:
328- COPY_CTOR (CopyAssignableCustomizedDtorNonCompliant3)
329- CUSTOMIZED MOVE_CTOR (CopyAssignableCustomizedDtorNonCompliant3) CUSTOMIZED
330- // Copy assignment operator is not declared
331- MOVE_ASSIGN(CopyAssignableCustomizedDtorNonCompliant3) CUSTOMIZED
332- DTOR(CopyAssignableCustomizedDtorNonCompliant3) CUSTOMIZED
329+ COPY_CTOR (CopyAssignableCustomizedDtorNonCompliant3) CUSTOMIZED;
330+ MOVE_CTOR (CopyAssignableCustomizedDtorNonCompliant3) CUSTOMIZED;
331+ // Copy assignment operator is not declared
332+ MOVE_ASSIGN (CopyAssignableCustomizedDtorNonCompliant3) CUSTOMIZED;
333+ DTOR (CopyAssignableCustomizedDtorNonCompliant3) CUSTOMIZED;
333334};
334335
335336// copy-assignable class with only one of move operations not declared
336337class CopyAssignableCustomizedDtorNonCompliant4 { // NON_COMPLIANT
337338public:
338- COPY_CTOR (CopyAssignableCustomizedDtorNonCompliant4)
339- CUSTOMIZED
339+ COPY_CTOR (CopyAssignableCustomizedDtorNonCompliant4) CUSTOMIZED;
340340 // Move constructor is not declared
341- COPY_ASSIGN (CopyAssignableCustomizedDtorNonCompliant4)
342- CUSTOMIZED MOVE_ASSIGN (CopyAssignableCustomizedDtorNonCompliant4) CUSTOMIZED
343- DTOR(CopyAssignableCustomizedDtorNonCompliant4) CUSTOMIZED
341+ COPY_ASSIGN (CopyAssignableCustomizedDtorNonCompliant4) CUSTOMIZED;
342+ MOVE_ASSIGN (CopyAssignableCustomizedDtorNonCompliant4) CUSTOMIZED;
343+ DTOR (CopyAssignableCustomizedDtorNonCompliant4) CUSTOMIZED
344344};
345345
346346// copy-assignable class with only one of move operations not declared
347347class CopyAssignableCustomizedDtorNonCompliant5 { // NON_COMPLIANT
348348public:
349- COPY_CTOR (CopyAssignableCustomizedDtorNonCompliant5)
350- CUSTOMIZED MOVE_CTOR (CopyAssignableCustomizedDtorNonCompliant5) DEFAULTED
351- COPY_ASSIGN(CopyAssignableCustomizedDtorNonCompliant5) CUSTOMIZED
352- // Move assignment operator is not declared
353- DTOR(CopyAssignableCustomizedDtorNonCompliant5) CUSTOMIZED
349+ COPY_CTOR (CopyAssignableCustomizedDtorNonCompliant5) CUSTOMIZED;
350+ MOVE_CTOR (CopyAssignableCustomizedDtorNonCompliant5) DEFAULTED;
351+ COPY_ASSIGN (CopyAssignableCustomizedDtorNonCompliant5) CUSTOMIZED;
352+ // Move assignment operator is not declared
353+ DTOR (CopyAssignableCustomizedDtorNonCompliant5) CUSTOMIZED;
354354};
355355
356356// copy-assignable class with only one of move operations not declared
357357class CopyAssignableCustomizedDtorNonCompliant6 { // NON_COMPLIANT
358358public:
359- COPY_CTOR (CopyAssignableCustomizedDtorNonCompliant6)
360- CUSTOMIZED
359+ COPY_CTOR (CopyAssignableCustomizedDtorNonCompliant6) CUSTOMIZED;
361360 // Move constructor is not declared
362- COPY_ASSIGN (CopyAssignableCustomizedDtorNonCompliant6)
363- CUSTOMIZED MOVE_ASSIGN (CopyAssignableCustomizedDtorNonCompliant6) DEFAULTED
364- DTOR(CopyAssignableCustomizedDtorNonCompliant6) CUSTOMIZED
361+ COPY_ASSIGN (CopyAssignableCustomizedDtorNonCompliant6) CUSTOMIZED;
362+ MOVE_ASSIGN (CopyAssignableCustomizedDtorNonCompliant6) DEFAULTED;
363+ DTOR (CopyAssignableCustomizedDtorNonCompliant6) CUSTOMIZED;
365364};
366365
367366// A public unmovable base class shall have a public virtual destructor
0 commit comments