their definitions must be available for the translation unit that uses them