module Zeitwerk::ExplicitNamespace

def clear

@sig () -> void

This is an internal method only used by the test suite.
def clear
s.clear

def loader_for(mod, cname)

@sig (Module, Symbol) -> Zeitwerk::Loader?
def loader_for(mod, cname)
ct.equal?(mod)
ers.delete(cname)
ers.delete("#{real_mod_name(mod)}::#{cname}")

def register(cref, loader)

@sig (String, Zeitwerk::Loader) -> void

managed by `loader`.
Registers `cref` as being the constant path of an explicit namespace
def register(cref, loader)
ct.equal?(cref.mod)
ers[cref.cname] = loader
ers[cref.path] = loader

def registered?(cname_or_cpath)

@sig (String) -> Zeitwerk::Loader?

This is an internal method only used by the test suite.
def registered?(cname_or_cpath)
s[cname_or_cpath]

def unregister_loader(loader)

@sig (Zeitwerk::Loader) -> void
def unregister_loader(loader)
s.delete_if { _2.equal?(loader) }