rust/zerocopy/src/deprecated.rs
Source file repositories/reference/linux-study-clean/rust/zerocopy/src/deprecated.rs
File Facts
- System
- Linux kernel
- Corpus path
rust/zerocopy/src/deprecated.rs- Extension
.rs- Size
- 8164 bytes
- Lines
- 282
- 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.
- Rust-side wrappers and abstractions around kernel C APIs, ownership contracts, allocation, synchronization, and module integration.
Dependency Surface
- No C-style include directives detected by the generator.
Detected Declarations
function test_deprecated_ref_methodsfunction test_deprecated_into_slicefunction test_deprecated_into_mut_slice
Annotated Snippet
fn test_deprecated_ref_methods() {
let bytes = &[0u8; 1][..];
let bytes_slice = &[0u8; 4][..];
let r: Option<Ref<&[u8], u8>> = Ref::new(bytes);
assert!(r.is_some());
let r: Option<(Ref<&[u8], u8>, &[u8])> = Ref::new_from_prefix(bytes);
assert!(r.is_some());
let r: Option<(&[u8], Ref<&[u8], u8>)> = Ref::new_from_suffix(bytes);
assert!(r.is_some());
let r: Option<Ref<&[u8], u8>> = Ref::new_unaligned(bytes);
assert!(r.is_some());
let r: Option<(Ref<&[u8], u8>, &[u8])> = Ref::new_unaligned_from_prefix(bytes);
assert!(r.is_some());
let r: Option<(&[u8], Ref<&[u8], u8>)> = Ref::new_unaligned_from_suffix(bytes);
assert!(r.is_some());
let r: Option<Ref<&[u8], [u8]>> = Ref::new_slice(bytes_slice);
assert!(r.is_some());
let r: Option<Ref<&[u8], [u8]>> = Ref::new_slice_unaligned(bytes_slice);
assert!(r.is_some());
let r: Option<(Ref<&[u8], [u8]>, &[u8])> = Ref::new_slice_from_prefix(bytes_slice, 1);
assert!(r.is_some());
let r: Option<(&[u8], Ref<&[u8], [u8]>)> = Ref::new_slice_from_suffix(bytes_slice, 1);
assert!(r.is_some());
let r: Option<(Ref<&[u8], [u8]>, &[u8])> =
Ref::new_slice_unaligned_from_prefix(bytes_slice, 1);
assert!(r.is_some());
let r: Option<(&[u8], Ref<&[u8], [u8]>)> =
Ref::new_slice_unaligned_from_suffix(bytes_slice, 1);
assert!(r.is_some());
}
#[test]
#[allow(deprecated)]
fn test_deprecated_into_slice() {
let bytes = &[0u8; 4][..];
let r: Ref<&[u8], [u8]> = Ref::from_bytes(bytes).unwrap();
let slice: &[u8] = r.into_slice();
assert_eq!(slice.len(), 4);
}
#[test]
#[allow(deprecated)]
fn test_deprecated_into_mut_slice() {
let mut bytes = [0u8; 4];
let r: Ref<&mut [u8], [u8]> = Ref::from_bytes(&mut bytes[..]).unwrap();
let slice: &mut [u8] = r.into_mut_slice();
assert_eq!(slice.len(), 4);
}
}
Annotation
- Detected declarations: `function test_deprecated_ref_methods`, `function test_deprecated_into_slice`, `function test_deprecated_into_mut_slice`.
- Atlas domain: Rust Kernel Layer / Rust API Membrane.
- Implementation status: source implementation candidate.
Implementation Notes
- This generated page is the file-by-file coverage layer; curated subsystem chapters should link here when they synthesize a multi-file control flow.
- Core OS pages should be promoted from atlas-only to deep-reviewed when they explain data structures, invariants, locking, lifecycle, and C implementation snippets.
- Driver-family pages are intentionally pattern-oriented unless they are part of the selected PCIe/NVMe representative device path.