Assuming a module in Kotlin means a project (though it would be good to see what the exact definition of a Kotlin module means .. unclear from docs) ...
Do Kotlin visibility modifiers work yet. I have two projects, a main project and a test project, with different, non overlapping, package paths. The test project is dependent on the main project (in Eclipse). It does not seem to matter whether the interfaces or classes in the main project are marked public or not. In the test project the main project interfaces/classes are visibile/accessible not matter what. The only difference shows up if you mark the main project ones private and then there is a visibility issues. But with or without public it doesn't seem to make any difference.
From what I can make out from the docs, omitting a visibility modifier on an interface or class effects the default visibility, i.e. internal.
In current Kotlin the
internalvisibility modifier is indeed enforced.In the Kotlin 1.0 Beta RC announcement it says:
And the related release notes has two points supporting this:
The last point being crucial to help prevent Java from seeing and interacting with internally scoped identifiers.
In Kotlin M14 release announcement it also mentions:
And further back in time the Kotlin M13 release announcement also shows:
So it clearly is functional and working.