diff options
| author | Alona Enraght-Moony <code@alona.page> | 2024-05-14 20:50:05 +0000 |
|---|---|---|
| committer | Alona Enraght-Moony <code@alona.page> | 2024-05-16 12:52:46 +0000 |
| commit | 504bca9ee651cbc8d64a8e0f3cdfad0315478350 (patch) | |
| tree | c72ca005b6320f2cb0bb77c8eb87a92a7755c43c | |
| parent | 0e682e9875458ebf811206a48b688e07d762d9bb (diff) | |
| download | rust-504bca9ee651cbc8d64a8e0f3cdfad0315478350.tar.gz rust-504bca9ee651cbc8d64a8e0f3cdfad0315478350.zip | |
rustdoc-json-types: Document `Id`
| -rw-r--r-- | src/rustdoc-json-types/lib.rs | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/src/rustdoc-json-types/lib.rs b/src/rustdoc-json-types/lib.rs index 164f88faa31..a9882be930c 100644 --- a/src/rustdoc-json-types/lib.rs +++ b/src/rustdoc-json-types/lib.rs @@ -188,7 +188,19 @@ pub enum TypeBindingKind { Constraint(Vec<GenericBound>), } -#[derive(Clone, Debug, PartialEq, Eq, Hash, Serialize, Deserialize)] +/// An opaque identifier for an item. +/// +/// It can be used to lookup in [Crate::index] or [Crate::paths] to resolve it +/// to an [Item]. +/// +/// Id's are only valid within a single JSON blob. They cannot be used to +/// resolve references between the JSON output's for different crates. +/// +/// Rustdoc makes no guarantees about the inner value of Id's. Applications +/// should treat them as opaque keys to lookup items, and avoid attempting +/// to parse them, or otherwise depend on any implementation details. +#[derive(Clone, Debug, PartialEq, Eq, Hash, Serialize, Deserialize)] +// FIXME(aDotInTheVoid): Consider making this non-public in rustdoc-types. pub struct Id(pub String); #[derive(Clone, Debug, PartialEq, Eq, Hash, Serialize, Deserialize)] |
