16837, “lydia-duncan”, “Is there a way to make point of instantiation/module visibility problems less subtle?”, “2020-12-09T19:45:08Z”
On gitter today a user encountered an issue when resolving a generic function due to a missing use statement at the function’s definition point. This was due to the language becoming more principled about symbol visibility, and was something we’ve seen in other situations. However, the issue was subtle to the user and not code they had any control over.
It’s entirely possible that there are other library routines that are getting away with calls solely because their points of instantiation have had the uses/imports they need to compile and run. Is there something we can do to determine this and warn about it? For user programs and for the libraries we distribute as part of Chapel?