Skip to content

COR003 implicit-external-procedures ​

warning opt-in

implicit none does not forbid implicit external procedures (implicit none (type, external)).

Why ​

Plain implicit none still lets a call to an unknown name compile as a reference to an external procedure with an implicit interface: a misspelled procedure name surfaces only at link time, and argument mismatches never. Fortran 2018 implicit none (type, external) turns both into compile errors.

Reported ​

fortran
implicit none

Preferred ​

fortran
implicit none (type, external)

Suppressing ​

For one occurrence, with the reason on the same line (or alone on the line before the statement):

fortran
! fobis: ignore[COR003] <why this occurrence is fine>

For the whole project, ignore = COR003 in the fobos [lint] section.

Equivalent ​

Fortitude rule C003 (see Lint Rules).