exported symbols shouldn't be public by default #53973
Labels
design
Design of APIs or of the language itself
speculative
Whether the change will be implemented is speculative
#50105 retroactively made all exported symbols public. I think I raised this point before in some comment, but anyway exported symbols being public by default seems like a breaking change, because previously a symbol could be exported with
export
without being part of a public API. The notion of "being public" didn't even exist in Julia (on a language level, as opposed to docs) before that PR. A simple solution would have been to define public symbols as only the ones marked withpublic
, although I guess now it may be too late for that?This issue creates some problems for the Julia implementation itself, e.g.
Core.Method
is exported intoMain
, unintentionally (?) making it public, similarly withGenericMemory
: #53854 #53971If Julia v1.11 were released as-is, user packages would be locked into supporting undocumented exported symbols until they make a breaking release.
The text was updated successfully, but these errors were encountered: