{
  "$type": "site.standard.document",
  "bskyPostRef": {
    "cid": "bafyreihqsncu2lft52mn74l3rp57ke35yqaghur3oxfe43wktt4k7qqcki",
    "uri": "at://did:plc:ivbknywyskln22er3nkssdhl/app.bsky.feed.post/3mmkgi6yeopk2"
  },
  "path": "/t/another-experiment-to-make-unsafe-rust-safer-preventing-ub-in-maybeuninit-with-compile-time-error/24352#post_14",
  "publishedAt": "2026-05-23T19:16:53.000Z",
  "site": "https://internals.rust-lang.org",
  "textContent": "Static checks with ordinary functions returning values of different types, and dynamic checks with Option. That is not true without we build that abstraction for MaybeUninit first, because different types + MaybeUninit or Option + MaybeUninit doesn't magically prevent MaybeUninit footguns without building the right abstraction. That what I am trying to do, building safer abstraction for MaybeUninit that can be reused intead of keep building the same abstraction\n\nI will try to build simple data structure using this custom MaybeUninit\n\nFor the ArrayVec after reading the code yeah it looks it already has what is needed for MaybeUninit + array. So I will cancel the array support because there is already one",
  "title": "Another Experiment To Make Unsafe Rust Safer: Preventing UB In MaybeUninit With Compile Time Error"
}