Skip to main content

resolve_real_shadowable_module

Function resolve_real_shadowable_module 

Source
pub fn resolve_real_shadowable_module<'db>(
    db: &'db dyn Db,
    importing_file: ImportingFile<'db>,
    module_name: &ModuleName,
) -> Option<Module<'db>>
Expand description

Resolves a module name to a module (stubs not allowed, some shadowing is allowed).

In particular, this allows typing_extensions to be shadowed by a non-standard library module. This is useful in the context of the LSP where we don’t want to pretend as if these modules are always available at runtime.

This should generally only be used within the context of the LSP. Using it within ty proper risks being unable to resolve builtin modules since they are involved in an import cycle with builtins.