implicit-typing (C001)
Fix is sometimes available.
This rule is turned on by default.
What does it do?
Checks for missing implicit none.
Why is this bad?
Very early Fortran determined the type of variables implicitly from the first character of their name which saved lines in the days of punchcards, and for backwards compatibility this is still the default behaviour. However, the major downside is that typos can silently introduce undefined variables and lead to hard to track down bugs. For example:
will print garbage.
'implicit none' should be used in all modules and programs, as implicit typing reduces the readability of code and increases the chances of typing errors. Because it applies to all children of an entity (all procedures in a module, for example), it isn't required in every procedure, just the parent module or program if there is one.