MCPcopy Index your code
hub / github.com/RustPython/RustPython / find_frozen

Function find_frozen

crates/vm/src/stdlib/_imp.rs:139–163  ·  view source on GitHub ↗

look_up_frozen + use_frozen in import.c

(name: &str, vm: &VirtualMachine)

Source from the content-addressed store, hash-verified

137
138// look_up_frozen + use_frozen in import.c
139fn find_frozen(name: &str, vm: &VirtualMachine) -> Result<FrozenModule, FrozenError> {
140 let frozen = vm
141 .state
142 .frozen
143 .get(name)
144 .copied()
145 .ok_or(FrozenError::NotFound)?;
146
147 // Bootstrap modules are always available regardless of override flag
148 if matches!(
149 name,
150 "_frozen_importlib" | "_frozen_importlib_external" | "zipimport"
151 ) {
152 return Ok(frozen);
153 }
154
155 // use_frozen(): override > 0 → true, override < 0 → false, 0 → default (true)
156 // When disabled, non-bootstrap modules are simply not found (same as look_up_frozen)
157 let override_val = vm.state.override_frozen_modules.load();
158 if override_val < 0 {
159 return Err(FrozenError::NotFound);
160 }
161
162 Ok(frozen)
163}
164
165#[pymodule(with(lock))]
166mod _imp {

Callers 2

is_frozenFunction · 0.85
is_frozen_packageFunction · 0.85

Calls 10

resolve_frozen_aliasFunction · 0.85
into_optionMethod · 0.80
new_utf8_strMethod · 0.80
ErrClass · 0.50
SomeClass · 0.50
getMethod · 0.45
loadMethod · 0.45
as_strMethod · 0.45
to_pyexceptionMethod · 0.45
is_emptyMethod · 0.45

Tested by

no test coverage detected