From d5ed2a261f929f973b8b12ffe438cd02ed760c82 Mon Sep 17 00:00:00 2001 From: Anders Olsson Date: Tue, 2 Jun 2026 08:42:14 +0200 Subject: [PATCH] feat(domain): restore must_use message; test TermRef accessors Co-Authored-By: Claude Sonnet 4.6 --- crates/domain/src/id.rs | 2 +- crates/domain/src/vocabulary.rs | 15 +++++++++++++++ 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/crates/domain/src/id.rs b/crates/domain/src/id.rs index 7990fb2..e408193 100644 --- a/crates/domain/src/id.rs +++ b/crates/domain/src/id.rs @@ -10,7 +10,7 @@ macro_rules! id_newtype { impl $name { /// Generate a fresh random id. - #[must_use] + #[must_use = "generating an id and discarding it is almost certainly a mistake"] pub fn new() -> Self { Self(uuid::Uuid::new_v4()) } diff --git a/crates/domain/src/vocabulary.rs b/crates/domain/src/vocabulary.rs index 2be29b7..5273b45 100644 --- a/crates/domain/src/vocabulary.rs +++ b/crates/domain/src/vocabulary.rs @@ -50,3 +50,18 @@ impl TermRef { self.vocabulary_id } } + +#[cfg(test)] +mod tests { + use super::*; + use crate::{TermId, VocabularyId}; + + #[test] + fn term_ref_exposes_its_parts() { + let term_id = TermId::new(); + let vocabulary_id = VocabularyId::new(); + let r = TermRef::new(term_id, vocabulary_id); + assert_eq!(r.term_id(), term_id); + assert_eq!(r.vocabulary_id(), vocabulary_id); + } +}