L2 : use module, only

Module imports via the USE statement shall contain an ONLY specifier.

To be avoided :

USE GEOMETRY_MOD
USE YOMRIP

Correct way to import from modules :

USE GEOMETRY_MOD, ONLY : TYPE_GEOMETRY
USE YOMRIP,       ONLY : NSTADD

Exceptions

  • Fypp-based modules, as cmake’s dependency analysis does not know what symbols a fypp module will expose.

  • modules where ASSIGNMENT operator is overloaded