1 // { dg-additional-options "-fmodules-ts -fdump-lang-module-blocks" }
2 // A more complete imp-member test
3 export module A;
4 // { dg-module-cmi A }
5 
6 struct M
7 {
MM8   M (){}
MM9   M (M const &){}
MM10   M (M &&){}
~MM11   ~M (){}
12   M &operator=(M const &){ return *this;}
13   M &operator=(M &&){ return *this;}
14 };
15 
16 export struct C
17 {
18   M m;
19   // lazy implicit ctors, dtors, assop
20 };
21 
22 // C doesn't contain a lot
23 // { dg-final { scan-lang-dump {Cluster members:\n  \[0\]=decl definition '::C'\n  \[1\]=decl declaration '::C::C'\n  \[2\]=binding '::C'\n} module } }
24 
25 // particularly not ...
26 // { dg-final { scan-lang-dump-not {'::C::__ct '} module } }
27 // { dg-final { scan-lang-dump-not {'::C::__dt '} module } }
28 // { dg-final { scan-lang-dump-not {'::C::operator= '} module } }
29