Calling procedure from included .mod file, without explicit `use` statement

Yes! That’s exactly the point. I removed the use sf_optimize statement on purpose since I’m trying to debug some nasty behavior therein and I prefer to do so in a isolated test code where I explicitly include only what I need for the tests. So the original idea was to copy paste a copy of bracket from sf_optimize to my test code (as I did with many other things).

Since I forgot to do that the expected behavior would have been to fail to compile (and then informing me about forgetting bracket).

It instead compiled correctly, without the use statement, and that’s the reason for the post.

As Ivan suggested above, changing implicit none to implicit none(type, external) in my test code has correctly made the compilation fail and now we were trying to understand how a module procedure could have been brought in as an external one.

Sorry if I miscommunicated what the problem is.