Semver and exporting variables

Semver is great, Julia is great, but it very mildly bothers me that any code which does using can’t strictly adhere to semver.

For example:

using A, B
f(x)

Initially A exports f and B doesn’t. A later version of B does export (a different) f. The ambiguity now makes the above code fail. Hence adding a new exported variable should be a major version change.

Of course nobody does this. What’s the official line? Are packages supposed to explicitly import everything they use?

Join the discussion recommend against `using Foo` in package code (or "using considered harmful") by KristofferC · Pull Request #42080 · JuliaLang/julia · GitHub :slight_smile:

1 Like