Skip to content

Increase Visibility of Certain Structs/Methods #327

Open

Description

@nerodesu017

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.

Activity

  1. jeparlefrancais commented on Dec 9, 2025

    @jeparlefrancais
    Contributor

    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::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?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions