Skip to main content

## ACTIVE_RESOLUTIONS

# Constant ACTIVE_RESOLUTIONS

Source

    const ACTIVE_RESOLUTIONS: LocalKey<RefCell<Vec<(*const (), BindingKey)>>>;

Expand description

During import resolution, recursive imports can form cycles. This set stores the active resolution stack for the current thread. By keeping track of the module and `BindingKey` pair that identifies the specific resolution.

The pointer is the interned address of a `Interned<'ra, ModuleData>` allocated in the `Resolver Arenas` (lifetime `'ra`), it is thus stable and allows casting to a `*const ()` for comparison. This is done because we can’t use lifetimes other than `'static` in thread local storage.