module-import-declaration: import-keyword module-name attribute-specifier-seq ; import-keyword module-partition attribute-specifier-seq ; import-keyword header-name attribute-specifier-seq ;
Translation unit #1:
module M:Part;
Translation unit #2:
export module M; export import :Part; // error: exported partition :Part is an implementation unit— end example
module M; import M; // error: cannot import M in its own unit— end example
Interface unit of M1:
export module M1; import M2;
Interface unit of M2:
export module M2; import M3;
Interface unit of M3:
export module M3; import M1; // error: cyclic interface dependency— end example