rust-ape-example/src/bin/unsafe.rs

32 lines
456 B
Rust

// ./src/unsafe.md
fn part0() {
let raw_p: *const u32 = &10;
unsafe {
assert!(*raw_p == 10);
}
}
use std::slice;
fn part1() {
let some_vector = vec![1, 2, 3, 4];
let pointer = some_vector.as_ptr();
let length = some_vector.len();
unsafe {
let my_slice: &[u32] = slice::from_raw_parts(pointer, length);
assert_eq!(some_vector.as_slice(), my_slice);
}
}
pub fn main() {
part0();
part1();
}