{"title":"Cracking the Shell - compilers","link":[{"@attributes":{"rel":"self","type":"application\/atom+xml","href":"https:\/\/walnut356.github.io\/tags\/compilers\/atom.xml"}},{"@attributes":{"rel":"alternate","type":"text\/html","href":"https:\/\/walnut356.github.io"}}],"generator":"Zola","updated":"2024-08-09T00:00:00+00:00","id":"https:\/\/walnut356.github.io\/tags\/compilers\/atom.xml","entry":{"title":"Bypassing the borrow checker - do ref -> ptr -> ref partial borrows cause UB?","published":"2024-08-09T00:00:00+00:00","updated":"2024-08-09T00:00:00+00:00","author":{"name":"\n            \n              Walnut356\n            \n          "},"link":{"@attributes":{"rel":"alternate","type":"text\/html","href":"https:\/\/walnut356.github.io\/posts\/partial-borrow-pointer-ub\/"}},"id":"https:\/\/walnut356.github.io\/posts\/partial-borrow-pointer-ub\/","summary":"<p>Partial borrows across function boundaries don't really work in Rust. Unfortunately, that's kind of a major issue. There are workarounds, some are outlined <a rel=\"noopener external\" target=\"_blank\" href=\"https:\/\/smallcultfollowing.com\/babysteps\/blog\/2018\/11\/01\/after-nll-interprocedural-conflicts\/\">here<\/a>, but all of them come with pretty major drawbacks.<\/p>"}}