rust/kernel/sync/arc/std_vendor.rs

Source file repositories/reference/linux-study-clean/rust/kernel/sync/arc/std_vendor.rs

File Facts

System
Linux kernel
Corpus path
rust/kernel/sync/arc/std_vendor.rs
Extension
.rs
Size
1032 bytes
Lines
31
Domain
Rust Kernel Layer
Bucket
Rust API Membrane
Inferred role
Rust Kernel Layer: implementation source
Status
source implementation candidate

Why This File Exists

Rust-side wrappers and abstractions around kernel C APIs, ownership contracts, allocation, synchronization, and module integration.

Dependency Surface

Detected Declarations

Annotated Snippet

if (*self).is::<T>() {
            // SAFETY: We have just checked that the type is correct, so we can cast the pointer.
            unsafe {
                let ptr = self.ptr.cast::<ArcInner<T>>();
                core::mem::forget(self);
                Ok(Arc::from_inner(ptr))
            }
        } else {
            Err(self)
        }
    }
}

Annotation

Implementation Notes