You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Increase Visibility of Certain Structs/Methods #327
We require the use of certain internal structs that the Darklua project uses. Is there a reason for the limited visibility on most of them or is this open to change?
First, the RequirePathLocator struct and PathLocator trait that we need to compute our own dependency graph so as to be able to do static analysis (there's also the Configuration::location method).
Second, when using the ScopeVisitor ourselves, we found the need for the ScopedHashMap struct and its methods to be public and exported, and it makes sense since the ScopedHashMap struct seems like the usual way of keeping track of bindings.
The reasoning behind the limited visibility is to give me some room to refactor or remove things from darklua without impacting end-users too much.
For example, I would still advise you to just copy over ScopedHashMap if you need it, since it's the kind of thing I could remove or replace and I would not want to make that a breaking change.
Making Configuration::location public is fine!
For the RequirePathLocator and the trait, I'm a little on the fence. Is there something else that darklua could offer that could be more stable?
Activity
jeparlefrancais commentedon Dec 9, 2025
Hello 👋
The reasoning behind the limited visibility is to give me some room to refactor or remove things from darklua without impacting end-users too much.
For example, I would still advise you to just copy over ScopedHashMap if you need it, since it's the kind of thing I could remove or replace and I would not want to make that a breaking change.
Making
Configuration::locationpublic is fine!For the RequirePathLocator and the trait, I'm a little on the fence. Is there something else that darklua could offer that could be more stable?