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

Method leak

crates/common/src/refcount.rs:164–179  ·  view source on GitHub ↗

Mark this object as leaked (interned). It will never be deallocated.

(&self)

Source from the content-addressed store, hash-verified

162
163 /// Mark this object as leaked (interned). It will never be deallocated.
164 pub fn leak(&self) {
165 debug_assert!(!self.is_leaked());
166 let mut old = State::from_raw(self.state.load(Ordering::Relaxed));
167 loop {
168 let new_state = old.with_leaked(true);
169 match self.state.compare_exchange_weak(
170 old.as_raw(),
171 new_state.as_raw(),
172 Ordering::AcqRel,
173 Ordering::Relaxed,
174 ) {
175 Ok(_) => return,
176 Err(curr) => old = State::from_raw(curr),
177 }
178 }
179 }
180
181 /// Check if this object is leaked (interned).
182 pub fn is_leaked(&self) -> bool {

Callers

nothing calls this directly

Calls 3

with_leakedMethod · 0.80
loadMethod · 0.45
as_rawMethod · 0.45

Tested by

no test coverage detected