{
  "$type": "site.standard.document",
  "bskyPostRef": {
    "cid": "bafyreif5kksxb3p5aj2mgah2yqfjbu22nim2kscmob73if5sfsqvjvdyri",
    "uri": "at://did:plc:ivbknywyskln22er3nkssdhl/app.bsky.feed.post/3mkkeuzfkkbi2"
  },
  "path": "/t/pre-rfc-dns-domains-as-package-namespaces/24202?page=2#post_33",
  "publishedAt": "2026-04-28T10:28:48.000Z",
  "site": "https://internals.rust-lang.org",
  "textContent": "> What is a namespace if not a reserved prefix.\n\nA prefix is part of the crate name, so it's passed along to `rustc`. The `serde-derive` package has the crate name `serde_derive`.\n\nA namespace is part of the package name but is not part of the crate name, it gets stripped off and is not visible to `rustc`. The `example.com/xml` package would have the crate name `xml`.\n\n> And on your fuse/sane/sleigh example: Still possible. The main downside is that your (arbitrarily chosen) namespace must not conflict crate names\n\nThe main downside of using a prefix when it's not justified by membership in a larger project is that the name would become unclear. A package named `example.com/xml` is clearly an XML library, but a package named `somecoolproject-xml` is something related to `somecoolproject`.",
  "title": "[Pre-RFC] DNS domains as package namespaces"
}