Translating C To Safe Rust: Reasoning About Pointer Types And Lifetimes