{
"$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"
}