{
  "$type": "site.standard.document",
  "bskyPostRef": {
    "cid": "bafyreiexo4rjg4ip2hdmcbsltjvfewpaviopaksdms2ofpcupgvhmx7jnu",
    "uri": "at://did:plc:ivbknywyskln22er3nkssdhl/app.bsky.feed.post/3mk7arjp6hsf2"
  },
  "path": "/t/bitslice-or-a-sound-way-to-implement-one/24194#post_5",
  "publishedAt": "2026-04-24T00:14:59.000Z",
  "site": "https://internals.rust-lang.org",
  "tags": [
    "RefToOwned",
    "OwnedToRef"
  ],
  "textContent": "Yeah, we do also have our own separate GAT-friendly traits for doing these bidirectional owned/reference conversions: RefToOwned and OwnedToRef which work better in these cases where we want to carry along some structured data in addition to a reference, which isn't otherwise possible with `Borrow` and `ToOwned`.\n\nThe particular `BitSlice` use case though happens to fall more into the territory of a custom DST, or one which is doing things which push the edge of what Rust is currently capable of expressing.",
  "title": "`BitSlice` or a sound way to implement one"
}